fix locating permissions
This commit is contained in:
parent
299373b9ac
commit
38ca95791f
2 changed files with 4 additions and 4 deletions
|
@ -5,7 +5,7 @@ from rest_framework.response import Response
|
|||
from rest_framework.viewsets import ViewSet
|
||||
|
||||
from c3nav.mapdata.models.access import AccessPermission
|
||||
from c3nav.mapdata.utils.locations import locations_for_request, visible_locations_for_request
|
||||
from c3nav.mapdata.utils.locations import visible_locations_for_request
|
||||
from c3nav.routing.exceptions import LocationUnreachable, NoRouteFound, NotYetRoutable
|
||||
from c3nav.routing.forms import RouteForm
|
||||
from c3nav.routing.locator import Locator
|
||||
|
@ -82,7 +82,7 @@ class RoutingViewSet(ViewSet):
|
|||
@list_route(methods=('POST', ))
|
||||
def locate(self, request, *args, **kwargs):
|
||||
try:
|
||||
location = Locator.load().locate(request.data, locations_for_request(request))
|
||||
location = Locator.load().locate(request.data, permissions=AccessPermission.get_for_request(request))
|
||||
except ValidationError:
|
||||
return Response({
|
||||
'errors': (_('Invalid scan data.'),),
|
||||
|
|
|
@ -86,10 +86,10 @@ class Locator:
|
|||
best_location = None
|
||||
best_score = float('inf')
|
||||
|
||||
for space, station_ids in good_spaces:
|
||||
for pk, space, station_ids in good_spaces:
|
||||
point, score = space.get_best_point(scan_values, station_ids)
|
||||
if score < best_score:
|
||||
location = CustomLocation(router.spaces[space.pk].level, point.x, point.y)
|
||||
location = CustomLocation(router.spaces[pk].level, point.x, point.y, permissions=permissions)
|
||||
best_location = location
|
||||
best_score = score
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue