diff options
Diffstat (limited to 'archaeological_files/views.py')
| -rw-r--r-- | archaeological_files/views.py | 45 | 
1 files changed, 29 insertions, 16 deletions
diff --git a/archaeological_files/views.py b/archaeological_files/views.py index e7307e882..08f875d54 100644 --- a/archaeological_files/views.py +++ b/archaeological_files/views.py @@ -26,6 +26,7 @@ from django.http import HttpResponse, Http404, HttpResponseRedirect  from django.shortcuts import redirect  from django.utils.translation import ugettext_lazy as _ +from ishtar_common.views import wizard_is_available  from ishtar_common.views_item import get_item, show_item, revert_item  from archaeological_operations.wizards import AdministrativeActDeletionWizard, \ @@ -143,23 +144,10 @@ file_modification_wizard = FileModificationWizard.as_view(  def file_modify(request, pk): -    try: -        file_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(file_modification_wizard, request, +                               models.File, pk):          return HttpResponseRedirect("/") -    q = models.File.objects.filter(pk=pk) -    if not q.count(): -        raise Http404() -    item = q.all()[0] -    if item.locked: -        raise Http404() -      FileModificationWizard.session_set_value(          request, 'selec-file_modification', 'pk', pk, reset=True)      return redirect(reverse('file_modification', @@ -177,6 +165,16 @@ file_deletion_wizard = FileDeletionWizard.as_view(      label=_(u"File deletion"),      url_name='file_deletion',) + +def file_delete(request, pk): +    if not wizard_is_available(file_deletion_wizard, request, models.File, pk): +        return HttpResponseRedirect("/") + +    FileDeletionWizard.session_set_value( +        request, 'selec-file_deletion', 'pk', pk, reset=True) +    return redirect(reverse('file_deletion', +                            kwargs={'step': 'final-file_deletion'})) +  file_administrativeactfile_search_wizard = \      SearchWizard.as_view([          ('selec-file_administrativeactfile_search', @@ -205,7 +203,9 @@ file_administrativeactfile_modification_wizard = \  def file_administrativeactfile_modify(request, pk): -    file_administrativeactfile_modification_wizard(request) +    if not wizard_is_available(file_administrativeactfile_modification_wizard, +                               request, AdministrativeAct, pk): +        return HttpResponseRedirect("/")      FileEditAdministrativeActWizard.session_set_value(          request, 'selec-file_administrativeactfile_modification',          'pk', pk, reset=True) @@ -228,6 +228,19 @@ file_administrativeactfile_deletion_wizard = \          url_name='file_administrativeactfile_deletion',) +def file_administrativeact_delete(request, pk): +    if not wizard_is_available(file_administrativeactfile_deletion_wizard, +                               request, AdministrativeAct, pk): +        return HttpResponseRedirect("/") + +    AdministrativeActDeletionWizard.session_set_value( +        request, 'selec-file_administrativeactfile_deletion', 'pk', pk, +        reset=True) +    return redirect( +        reverse('file_administrativeactfile_deletion', +                kwargs={'step': 'final-file_administrativeactfile_deletion'})) + +  def reset_wizards(request):      for wizard_class, url_name in (              (FileWizard, 'file_creation'),  | 
