summaryrefslogtreecommitdiff
path: root/chimere/views.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2016-05-27 13:13:23 +0200
committerÉtienne Loks <etienne.loks@iggdrasil.net>2016-05-27 13:13:47 +0200
commit49c32c2cca03f812d6bfb92ec9678f709a84d956 (patch)
tree11f4cfc9abf4f097b97fdba67162c824e75ebbd2 /chimere/views.py
parent9fe603b08813a2a0f95a5f2db702dac66adb4e15 (diff)
downloadChimère-49c32c2cca03f812d6bfb92ec9678f709a84d956.tar.bz2
Chimère-49c32c2cca03f812d6bfb92ec9678f709a84d956.zip
Filter action available and redirect properly
Diffstat (limited to 'chimere/views.py')
-rw-r--r--chimere/views.py26
1 files changed, 20 insertions, 6 deletions
diff --git a/chimere/views.py b/chimere/views.py
index 9f24767..d4f3bb3 100644
--- a/chimere/views.py
+++ b/chimere/views.py
@@ -209,6 +209,19 @@ def index(request, area_name=None, default_area=None, simple=False,
context_instance=RequestContext(request))
+def edit(request, area_name="", item_id=None, submited=False):
+ """
+ Edition page
+ """
+ response_dct, redir = get_base_response(request, area_name)
+ if redir:
+ return redir
+ current_actions = actions(response_dct['area_name'])
+ redir = action_do_redirect('edit-no-page', current_actions)
+ # a redir is always send... or there is a problem
+ return redirect(redir)
+
+
def get_edit_page(redirect_url, item_cls, item_form,
multimediafile_formset=MultimediaFileFormSet,
picturefile_formset=PictureFileFormSet):
@@ -343,14 +356,15 @@ def action_do_redirect(action_name, available_actions):
for subaction in subactions:
if subaction.id == action_name:
return
- if is_edit and 'edit' not in redir:
+ if is_edit and 'edit' not in redir \
+ and 'edit' in subaction.id:
redir = subaction.url
return redir
-get_edit_marker = get_edit_page('chimere:edit', Marker, MarkerForm)
+get_edit_marker = get_edit_page('chimere:editmarker', Marker, MarkerForm)
-def edit(request, area_name="", item_id=None, submited=False):
+def editMarker(request, area_name="", item_id=None, submited=False):
"""
Edition page
"""
@@ -363,7 +377,7 @@ def edit(request, area_name="", item_id=None, submited=False):
# verify action is available
current_actions = actions(response_dct['area_name'])
- redir = action_do_redirect('edit-polygon', current_actions)
+ redir = action_do_redirect('edit-marker', current_actions)
if redir:
return redirect(redir)
@@ -379,7 +393,7 @@ def edit(request, area_name="", item_id=None, submited=False):
point_value = request.POST.get('point')
response_dct.update({
'actions': current_actions,
- 'action_selected': ('contribute', 'edit'),
+ 'action_selected': ('contribute', 'edit-marker'),
'map_layer': settings.CHIMERE_DEFAULT_MAP_LAYER,
'form': form,
'formset_multi': formset_multi,
@@ -485,7 +499,7 @@ def editRoute(request, area_name="", item_id=None, submited=False):
# verify action is available
current_actions = actions(response_dct['area_name'])
- redir = action_do_redirect('edit-polygon', current_actions)
+ redir = action_do_redirect('edit-route', current_actions)
if redir:
return redirect(redir)