diff options
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 |
commit | 49c32c2cca03f812d6bfb92ec9678f709a84d956 (patch) | |
tree | 11f4cfc9abf4f097b97fdba67162c824e75ebbd2 /chimere/views.py | |
parent | 9fe603b08813a2a0f95a5f2db702dac66adb4e15 (diff) | |
download | Chimè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.py | 26 |
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) |