respect access_restriction in mapdata API

This commit is contained in:
Laura Klünder 2017-07-13 19:22:57 +02:00
parent 9466c2559f
commit bbdfc9aadc
2 changed files with 17 additions and 4 deletions

View file

@ -1,4 +1,5 @@
from django.db import models
from django.db.models import Q
from django.utils.translation import ugettext_lazy as _
from c3nav.mapdata.models.base import SerializableMixin, TitledMixin
@ -35,6 +36,10 @@ class AccessRestrictionMixin(SerializableMixin, models.Model):
@classmethod
def qs_for_request(cls, request):
return cls.objects.filter(cls.q_for_request(request))
@classmethod
def q_for_request(cls, request, prefix=''):
if request.user.is_authenticated and request.user.is_superuser:
return cls.objects.all()
return cls.objects.filter(access_restriction__isnull=True)
return Q()
return Q(**{prefix+'access_restriction__isnull': True})