From 22db3f5104646251bc22bef1daa3dbe16c81c5ff Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Thu, 19 Apr 2018 18:22:21 +0200 Subject: Manage own permissions with areas for operations --- archaeological_operations/views.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'archaeological_operations/views.py') diff --git a/archaeological_operations/views.py b/archaeological_operations/views.py index fcd6c3252..e7e624c05 100644 --- a/archaeological_operations/views.py +++ b/archaeological_operations/views.py @@ -22,7 +22,7 @@ import json from django.conf import settings from django.core.urlresolvers import reverse from django.db.models import Q -from django.http import HttpResponse +from django.http import HttpResponse, HttpResponseRedirect from django.shortcuts import render, redirect from django.utils.translation import ugettext_lazy as _, pgettext_lazy @@ -58,6 +58,8 @@ from archaeological_operations.wizards import has_associated_file, \ AdministrativeActDeletionWizard, SiteWizard, SiteModificationWizard, \ SiteDeletionWizard +from ishtar_common.utils import put_session_message + def autocomplete_patriarche(request): if (not request.user.has_perm('ishtar_common.view_operation', @@ -303,7 +305,15 @@ operation_modification_wizard = OperationModificationWizard.as_view( def operation_modify(request, pk): - operation_modification_wizard(request) + try: + operation_modification_wizard(request) + except IndexError: # no step available + put_session_message( + request.session.session_key, + _(u"You don't have sufficient permissions to do this action."), + 'warning' + ) + return HttpResponseRedirect("/") OperationModificationWizard.session_set_value( request, 'selec-operation_modification', 'pk', pk, reset=True) return redirect(reverse('operation_modification', -- cgit v1.2.3