summaryrefslogtreecommitdiff
path: root/archaeological_operations/views.py
diff options
context:
space:
mode:
Diffstat (limited to 'archaeological_operations/views.py')
-rw-r--r--archaeological_operations/views.py107
1 files changed, 59 insertions, 48 deletions
diff --git a/archaeological_operations/views.py b/archaeological_operations/views.py
index ca09510f7..d71bd0d02 100644
--- a/archaeological_operations/views.py
+++ b/archaeological_operations/views.py
@@ -52,7 +52,8 @@ from ishtar_common.forms import ClosingDateFormSelection, FinalForm, \
from ishtar_common.models import get_current_profile, IshtarSiteProfile, \
DocumentTemplate
from ishtar_common.utils import put_session_message, check_rights_condition
-from ishtar_common.views import gen_generate_doc, QAItemEditForm, QABaseLockView
+from ishtar_common.views import gen_generate_doc, QAItemEditForm, \
+ QABaseLockView, wizard_is_available
from ishtar_common.views_item import get_item, show_item, revert_item, \
new_qa_item
from ishtar_common.wizards import SearchWizard
@@ -163,7 +164,8 @@ show_operation = show_item(models.Operation, 'operation')
revert_operation = revert_item(models.Operation)
get_administrativeactop = get_item(
- models.AdministrativeAct, 'get_administrativeactop', 'administrativeactop')
+ models.AdministrativeAct, 'get_administrativeactop', 'administrativeactop',
+ base_request={"operation__pk__isnull": False})
get_administrativeact = get_item(
models.AdministrativeAct, 'get_administrativeact', 'administrativeact')
@@ -299,27 +301,15 @@ operation_modification_wizard = OperationModificationWizard.as_view(
def operation_modify(request, pk):
- 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'
- )
+ if not wizard_is_available(operation_modification_wizard, request,
+ models.Operation, pk):
return HttpResponseRedirect("/")
- q = models.Operation.objects.filter(pk=pk)
- if not q.count():
- raise Http404()
- item = q.all()[0]
- if item.locked:
- raise Http404()
-
+ wizard_url = 'operation_modification'
OperationModificationWizard.session_set_value(
- request, 'selec-operation_modification', 'pk', pk, reset=True)
- return redirect(reverse('operation_modification',
- kwargs={'step': 'general-operation_modification'}))
+ request, 'selec-' + wizard_url, 'pk', pk, reset=True)
+ return redirect(reverse(wizard_url,
+ kwargs={'step': 'general-' + wizard_url}))
def operation_add(request, file_id):
@@ -352,6 +342,18 @@ operation_deletion_wizard = OperationDeletionWizard.as_view(
url_name='operation_deletion',)
+def operation_delete(request, pk):
+ if not wizard_is_available(operation_deletion_wizard, request,
+ models.Operation, pk):
+ return HttpResponseRedirect("/")
+
+ wizard_url = 'operation_deletion'
+ OperationDeletionWizard.session_set_value(
+ request, 'selec-' + wizard_url, 'pk', pk, reset=True)
+ return redirect(reverse(wizard_url,
+ kwargs={'step': 'final-' + wizard_url}))
+
+
# archaeological sites
def site_extra_context(request, item):
@@ -401,27 +403,14 @@ site_modification_wizard = SiteModificationWizard.as_view(
def site_modify(request, pk):
- try:
- site_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'
- )
+ if not wizard_is_available(site_modification_wizard, request,
+ models.ArchaeologicalSite, pk):
return HttpResponseRedirect("/")
-
- q = models.ArchaeologicalSite.objects.filter(pk=pk)
- if not q.count():
- raise Http404()
- item = q.all()[0]
- if item.locked:
- raise Http404()
-
+ wizard_url = 'site_modification'
SiteModificationWizard.session_set_value(
- request, 'selec-site_modification', 'pk', pk, reset=True)
- return redirect(reverse('site_modification',
- kwargs={'step': 'general-site_modification'}))
+ request, 'selec-' + wizard_url, 'pk', pk, reset=True)
+ return redirect(reverse(wizard_url,
+ kwargs={'step': 'general-' + wizard_url}))
site_deletion_steps = [
@@ -434,6 +423,17 @@ site_deletion_wizard = SiteDeletionWizard.as_view(
label=_(u"Site deletion"),
url_name='site_deletion',)
+
+def site_delete(request, pk):
+ if not wizard_is_available(site_deletion_wizard, request,
+ models.ArchaeologicalSite, pk):
+ return HttpResponseRedirect("/")
+ wizard_url = 'site_deletion'
+ SiteDeletionWizard.session_set_value(
+ request, 'selec-' + wizard_url, 'pk', pk, reset=True)
+ return redirect(reverse(wizard_url,
+ kwargs={'step': 'final-' + wizard_url}))
+
operation_administrativeactop_search_wizard = SearchWizard.as_view([
('general-operation_administrativeactop_search',
AdministrativeActOpeFormSelection)],
@@ -465,17 +465,15 @@ operation_administrativeactop_modification_wizard = \
def operation_administrativeactop_modify(request, pk):
- operation_administrativeactop_modification_wizard(request)
+ if not wizard_is_available(
+ operation_administrativeactop_modification_wizard, request,
+ models.AdministrativeAct, pk):
+ return HttpResponseRedirect("/")
+ wizard_url = 'operation_administrativeactop_modification'
OperationEditAdministrativeActWizard.session_set_value(
- request, 'selec-operation_administrativeactop_modification',
- 'pk', pk, reset=True)
+ request, 'selec-' + wizard_url, 'pk', pk, reset=True)
return redirect(
- reverse(
- 'operation_administrativeactop_modification',
- kwargs={
- 'step':
- 'administrativeact-operation_administrativeactop_modification'
- }))
+ reverse(wizard_url, kwargs={'step': 'administrativeact-' + wizard_url}))
operation_administrativeactop_deletion_wizard = \
@@ -487,6 +485,19 @@ operation_administrativeactop_deletion_wizard = \
label=_(u"Operation: administrative act deletion"),
url_name='operation_administrativeactop_deletion',)
+
+def operation_administrativeactop_delete(request, pk):
+ if not wizard_is_available(
+ operation_administrativeactop_deletion_wizard, request,
+ models.AdministrativeAct, pk):
+ return HttpResponseRedirect("/")
+ wizard_url = 'operation_administrativeactop_deletion'
+ AdministrativeActDeletionWizard.session_set_value(
+ request, 'selec-' + wizard_url, 'pk', pk, reset=True)
+ return redirect(
+ reverse(wizard_url, kwargs={'step': 'final-' + wizard_url}))
+
+
administrativact_register_wizard = SearchWizard.as_view([
('general-administrativact_register',
AdministrativeActRegisterFormSelection)],