diff options
Diffstat (limited to 'archaeological_finds/views.py')
-rw-r--r-- | archaeological_finds/views.py | 136 |
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'), |