From c2e59c2b94084e534313b0f4bc5b5eca1fc7e710 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laura=20Kl=C3=BCnder?= Date: Fri, 26 May 2017 17:52:29 +0200 Subject: [PATCH] fix geometry urls on geometry creation --- src/c3nav/editor/views.py | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/src/c3nav/editor/views.py b/src/c3nav/editor/views.py index 6f398084..8245e43e 100644 --- a/src/c3nav/editor/views.py +++ b/src/c3nav/editor/views.py @@ -90,6 +90,10 @@ def edit(request, pk=None, model=None, section=None, space=None, explicit_edit=F obj = get_object_or_404(model, **kwargs) if False: # todo can access raise PermissionDenied + elif section is not None: + section = get_object_or_404(Section, pk=section) + elif space is not None: + space = get_object_or_404(Space, pk=space) new = obj is None # noinspection PyProtectedMember @@ -114,17 +118,21 @@ def edit(request, pk=None, model=None, section=None, space=None, explicit_edit=F 'back_url': reverse('editor.spaces.detail', kwargs={'section': obj.section.pk, 'pk': pk}), 'geometry_url': '/api/editor/geometries/?space='+pk, }) - elif hasattr(obj, 'section'): + elif hasattr(model, 'section'): + if obj: + section = obj.section ctx.update({ - 'section': obj.section, - 'back_url': reverse('editor.sections.detail', kwargs={'pk': obj.section.pk}), - 'geometry_url': '/api/editor/geometries/?section='+str(obj.section.pk), + 'section': section, + 'back_url': reverse('editor.sections.detail', kwargs={'pk': section.pk}), + 'geometry_url': '/api/editor/geometries/?section='+str(section.pk), }) - elif hasattr(obj, 'space'): + elif hasattr(model, 'space'): + if obj: + space = obj.space ctx.update({ - 'section': obj.space.section, - 'back_url': reverse('editor.spaces.detail', kwargs={'section': obj.space.section.pk, 'pk': obj.space.pk}), - 'geometry_url': '/api/editor/geometries/?space='+str(obj.space.pk), + 'section': space.section, + 'back_url': reverse('editor.spaces.detail', kwargs={'section': obj.space.section.pk, 'pk': space.pk}), + 'geometry_url': '/api/editor/geometries/?space='+str(space.pk), }) else: kwargs = {}