filter out needs_permissions locations form location results

This commit is contained in:
Laura Klünder 2016-12-23 21:13:04 +01:00
parent 256b525a6c
commit fb26c90085
3 changed files with 19 additions and 9 deletions

View file

@ -1,4 +1,5 @@
from django.conf import settings
from django.db.models import Q
from c3nav.mapdata.inclusion import get_maybe_invisible_areas_names
from c3nav.mapdata.utils.cache import get_packages_cached
@ -28,8 +29,15 @@ def can_access_package(request, package):
return request.c3nav_full_access or package.name in get_unlocked_packages_names(request)
def filter_queryset_by_access(request, queryset):
return queryset if request.c3nav_full_access else queryset.filter(package__in=get_unlocked_packages(request))
def filter_queryset_by_access(request, queryset, filter_location_inclusion=False):
return queryset if request.c3nav_full_access else queryset.filter(package__in=get_public_packages())
def filter_arealocations_by_access(request, queryset):
if request.c3nav_full_access:
return queryset
return queryset.filter(Q(Q(package__in=get_public_packages()), ~Q(routing_inclusion='needs_permission')) |
Q(name__in=request.c3nav_access_list))
def get_visible_areas(request):