summaryrefslogtreecommitdiff
path: root/archaeological_finds/views.py
diff options
context:
space:
mode:
Diffstat (limited to 'archaeological_finds/views.py')
-rw-r--r--archaeological_finds/views.py136
1 files changed, 106 insertions, 30 deletions
diff --git a/archaeological_finds/views.py b/archaeological_finds/views.py
index 1b49c8f13..537532511 100644
--- a/archaeological_finds/views.py
+++ b/archaeological_finds/views.py
@@ -47,7 +47,8 @@ from archaeological_operations.forms import FinalAdministrativeActDeleteForm
from archaeological_finds import forms
from ishtar_common.views import get_autocomplete_generic, IshtarMixin, \
- LoginRequiredMixin, QAItemEditForm, QAItemForm, QABaseLockView
+ LoginRequiredMixin, QAItemEditForm, QAItemForm, QABaseLockView, \
+ wizard_is_available
from ishtar_common.views_item import display_item, get_item, show_item, \
revert_item, get_autocomplete_item, get_autocomplete_queries
@@ -216,7 +217,9 @@ basket_modify_wizard = wizards.FindBasketEditWizard.as_view(
def find_basket_modify(request, pk):
- basket_modify_wizard(request)
+ if not wizard_is_available(basket_modify_wizard, request, models.FindBasket,
+ pk):
+ return HttpResponseRedirect("/")
key = 'selec-find_basket_modification'
wizards.FindBasketEditWizard.session_set_value(
request, key, 'pk', pk, reset=True)
@@ -322,19 +325,18 @@ find_modification_wizard = wizards.FindModificationWizard.as_view(
def find_modify(request, pk):
+ find = wizard_is_available(find_modification_wizard, request,
+ models.Find, pk)
+ if not find:
+ return HttpResponseRedirect("/")
find_modification_wizard(request)
key = 'selec-find_modification'
if get_current_profile().warehouse:
key = 'selecw-find_modification'
wizards.FindModificationWizard.session_set_value(
request, key, 'pk', pk, reset=True)
- q = models.Find.objects.filter(pk=pk)
- if not q.count():
- raise Http404()
+
step = 'find-find_modification'
- find = q.all()[0]
- if find.locked:
- raise Http404()
if find.base_finds.count() > 1:
step = 'simplefind-find_modification'
@@ -357,6 +359,23 @@ find_deletion_wizard = wizards.FindDeletionWizard.as_view(
label=_(u"Find deletion"),
url_name='find_deletion',)
+
+def find_delete(request, pk):
+ find = wizard_is_available(find_deletion_wizard, request,
+ models.Find, pk)
+ if not find:
+ return HttpResponseRedirect("/")
+ key = 'selec-find_deletion'
+ if get_current_profile().warehouse:
+ key = 'selecw-find_deletion'
+ wizards.FindDeletionWizard.session_set_value(
+ request, key, 'pk', pk, reset=True)
+
+ step = 'final-find_deletion'
+ return redirect(
+ reverse('find_deletion', kwargs={'step': step}))
+
+
autocomplete_objecttype = get_autocomplete_generic(models.ObjectType)
autocomplete_materialtype = get_autocomplete_generic(models.MaterialType)
autocomplete_treatmenttype = get_autocomplete_generic(models.TreatmentType)
@@ -562,7 +581,9 @@ treatment_modification_wizard = wizards.TreatmentModificationWizard.as_view(
def treatment_modify(request, pk):
- treatment_modification_wizard(request)
+ if not wizard_is_available(treatment_modification_wizard, request,
+ models.Treatment, pk):
+ return HttpResponseRedirect("/")
wizards.TreatmentModificationWizard.session_set_value(
request, 'selec-treatment_modification', 'pk', pk, reset=True)
return redirect(reverse(
@@ -703,6 +724,18 @@ treatment_deletion_wizard = wizards.TreatmentDeletionWizard.as_view([
label=_(u"Treatment deletion"),
url_name='treatment_deletion',)
+
+def treatment_delete(request, pk):
+ if not wizard_is_available(treatment_deletion_wizard, request,
+ models.Treatment, pk):
+ return HttpResponseRedirect("/")
+ wizards.TreatmentDeletionWizard.session_set_value(
+ request, 'selec-treatment_deletion', 'pk', pk, reset=True)
+ return redirect(reverse(
+ 'treatment_deletion',
+ kwargs={'step': 'final-treatment_deletion'}))
+
+
treatment_administrativeact_search_wizard = \
wizards.SearchWizard.as_view([
('selec-treatment_admacttreatment_search',
@@ -729,18 +762,11 @@ treatment_administrativeact_modification_wizard = \
label=_(u"Treatment: administrative act modification"),
url_name='treatment_admacttreatment_modification',)
-treatment_admacttreatment_deletion_wizard = \
- AdministrativeActDeletionWizard.as_view([
- ('selec-treatment_admacttreatment_deletion',
- forms.AdministrativeActTreatmentFormSelection),
- ('final-treatment_admacttreatment_deletion',
- FinalAdministrativeActDeleteForm)],
- label=_(u"Treatment: administrative act deletion"),
- url_name='treatment_admacttreatment_deletion',)
-
def treatment_administrativeacttreatment_modify(request, pk):
- treatment_administrativeact_modification_wizard(request)
+ if not wizard_is_available(treatment_administrativeact_modification_wizard,
+ request, AdministrativeAct, pk):
+ return HttpResponseRedirect("/")
wizards.TreatmentEditAdministrativeActWizard.session_set_value(
request,
'selec-treatment_admacttreatment_modification',
@@ -753,6 +779,26 @@ def treatment_administrativeacttreatment_modify(request, pk):
'administrativeact-treatment_admacttreatment_modification'
}))
+treatment_admacttreatment_deletion_wizard = \
+ AdministrativeActDeletionWizard.as_view([
+ ('selec-treatment_admacttreatment_deletion',
+ forms.AdministrativeActTreatmentFormSelection),
+ ('final-treatment_admacttreatment_deletion',
+ FinalAdministrativeActDeleteForm)],
+ label=_(u"Treatment: administrative act deletion"),
+ url_name='treatment_admacttreatment_deletion',)
+
+
+def treatment_administrativeacttreatment_delete(request, pk):
+ if not wizard_is_available(treatment_admacttreatment_deletion_wizard,
+ request, AdministrativeAct, pk):
+ return HttpResponseRedirect("/")
+ wizard_url = "treatment_admacttreatment_deletion"
+ AdministrativeActDeletionWizard.session_set_value(
+ request, 'selec-' + wizard_url, 'pk', pk, reset=True)
+ return redirect(
+ reverse(wizard_url, kwargs={'step': 'final-' + wizard_url}))
+
def treatment_adminact_add(request, pk, current_right=None):
try:
@@ -797,7 +843,9 @@ treatmentfile_modification_wizard = \
def treatmentfile_modify(request, pk):
- treatmentfile_modification_wizard(request)
+ if not wizard_is_available(treatmentfile_modification_wizard, request,
+ models.TreatmentFile, pk):
+ return HttpResponseRedirect("/")
wizards.TreatmentFileModificationWizard.session_set_value(
request, 'selec-treatmentfile_modification', 'pk', pk, reset=True)
return redirect(reverse(
@@ -822,6 +870,18 @@ treatmentfile_deletion_wizard = wizards.TreatmentFileDeletionWizard.as_view([
label=_(u"Treatment request deletion"),
url_name='treatmentfile_deletion',)
+
+def treatmentfile_delete(request, pk):
+ if not wizard_is_available(treatmentfile_deletion_wizard,
+ request, models.TreatmentFile, pk):
+ return HttpResponseRedirect("/")
+ wizard_url = "treatmentfile_deletion"
+ wizards.TreatmentFileDeletionWizard.session_set_value(
+ request, 'selec-' + wizard_url, 'pk', pk, reset=True)
+ return redirect(
+ reverse(wizard_url, kwargs={'step': 'final-' + wizard_url}))
+
+
treatmentfile_admacttreatmentfile_search_wizard = \
wizards.SearchWizard.as_view([
('selec-treatmentfle_admacttreatmentfle_search',
@@ -850,18 +910,12 @@ treatmentfile_admacttreatmentfile_modification_wizard = \
label=_(u"Treatment request: administrative act modification"),
url_name='treatmentfle_admacttreatmentfle_modification',)
-treatmentfile_admacttreatmentfile_deletion_wizard = \
- AdministrativeActDeletionWizard.as_view([
- ('selec-treatmentfle_admacttreatmentfle_deletion',
- forms.AdministrativeActTreatmentFileFormSelection),
- ('final-treatmentfle_admacttreatmentfle_deletion',
- FinalAdministrativeActDeleteForm)],
- label=_(u"Treatment request: administrative act deletion"),
- url_name='treatmentfle_admacttreatmentfle_deletion',)
-
def treatmentfile_administrativeacttreatmentfile_modify(request, pk):
- treatmentfile_admacttreatmentfile_modification_wizard(request)
+ if not wizard_is_available(
+ treatmentfile_admacttreatmentfile_modification_wizard,
+ request, AdministrativeAct, pk):
+ return HttpResponseRedirect("/")
wizards.TreatmentFileEditAdministrativeActWizard.session_set_value(
request,
'selec-treatmentfle_admacttreatmentfle_modification',
@@ -889,6 +943,28 @@ def treatmentfile_adminact_add(request, pk, current_right=None):
kwargs={'step': 'admact-treatmentfle_admacttreatmentfle'}))
+treatmentfile_admacttreatmentfile_deletion_wizard = \
+ AdministrativeActDeletionWizard.as_view([
+ ('selec-treatmentfle_admacttreatmentfle_deletion',
+ forms.AdministrativeActTreatmentFileFormSelection),
+ ('final-treatmentfle_admacttreatmentfle_deletion',
+ FinalAdministrativeActDeleteForm)],
+ label=_(u"Treatment request: administrative act deletion"),
+ url_name='treatmentfle_admacttreatmentfle_deletion',)
+
+
+def treatmentfile_administrativeacttreatmentfile_delete(request, pk):
+ if not wizard_is_available(
+ treatmentfile_admacttreatmentfile_deletion_wizard, request,
+ AdministrativeAct, pk):
+ return HttpResponseRedirect("/")
+ wizard_url = "treatmentfle_admacttreatmentfle_deletion"
+ AdministrativeActDeletionWizard.session_set_value(
+ request, 'selec-' + wizard_url, 'pk', pk, reset=True)
+ return redirect(
+ reverse(wizard_url, kwargs={'step': 'final-' + wizard_url}))
+
+
def reset_wizards(request):
for wizard_class, url_name in (
(wizards.FindWizard, 'find_creation'),