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'), | 
