implement can_access_geometry
This commit is contained in:
parent
1a0c4e63f5
commit
b7b18cad36
2 changed files with 14 additions and 10 deletions
|
@ -8,7 +8,7 @@ from django.utils.http import quote_etag
|
|||
from django.utils.translation import get_language
|
||||
from ninja.decorators import decorate_view
|
||||
|
||||
from c3nav.mapdata.models import AccessRestriction, LocationGroup, MapUpdate
|
||||
from c3nav.mapdata.models import AccessRestriction, Building, Door, LocationGroup, MapUpdate, Space
|
||||
from c3nav.mapdata.models.access import AccessPermission
|
||||
from c3nav.mapdata.models.geometry.base import GeometryMixin
|
||||
from c3nav.mapdata.models.locations import SpecificLocation
|
||||
|
@ -108,3 +108,11 @@ def api_stats_clean_location_value(value):
|
|||
value = 'c:%s:%d:%d' % (value[1], int(float(value[2]) / 3) * 3, int(float(value[3]) / 3) * 3)
|
||||
return (value, 'c:anywhere')
|
||||
return (value, )
|
||||
|
||||
|
||||
def can_access_geometry(request, obj):
|
||||
if isinstance(obj, Space):
|
||||
return obj.base_mapdata_accessible or request.user_permissions.can_access_base_mapdata
|
||||
elif isinstance(obj, (Building, Door)):
|
||||
return request.user_permissions.can_access_base_mapdata
|
||||
return True
|
Loading…
Add table
Add a link
Reference in a new issue