diff options
Diffstat (limited to 'archaeological_files')
-rw-r--r-- | archaeological_files/models.py | 11 | ||||
-rw-r--r-- | archaeological_files/urls.py | 3 | ||||
-rw-r--r-- | archaeological_files/views.py | 16 |
3 files changed, 30 insertions, 0 deletions
diff --git a/archaeological_files/models.py b/archaeological_files/models.py index 4b0501e96..bef7d53a1 100644 --- a/archaeological_files/models.py +++ b/archaeological_files/models.py @@ -719,6 +719,17 @@ class File(ClosedItem, DocumentItem, BaseHistorizedItem, CompleteIdentifierItem, _("Add associated administrative act"), "fa fa-plus", _("admin. act"), "", False), ] + if self.can_do(request, 'add_operation'): + actions += [ + ( + reverse('file-add-operation', args=[self.pk]), + _("Add operation"), + "fa fa-plus", + _("operation"), + "", + False + ) + ] return actions def save(self, *args, **kwargs): diff --git a/archaeological_files/urls.py b/archaeological_files/urls.py index cb8a63369..d6db8e763 100644 --- a/archaeological_files/urls.py +++ b/archaeological_files/urls.py @@ -93,4 +93,7 @@ urlpatterns = [ url(r'file_administrativeact_document/$', administrativeactfile_document, name='file-administrativeact-document', kwargs={'file': True}), + url(r'^file-add-operation/(?P<pk>[0-9-]+)/$', + check_rights(['add_operation'])(views.file_add_operation), + name='file-add-operation'), ] diff --git a/archaeological_files/views.py b/archaeological_files/views.py index a29ae8b15..f94de1cb1 100644 --- a/archaeological_files/views.py +++ b/archaeological_files/views.py @@ -37,6 +37,8 @@ from archaeological_files import wizards from archaeological_files.wizards import FileWizard, \ FileModificationWizard, FileClosingWizard, FileDeletionWizard, \ FileAdministrativeActWizard, FileEditAdministrativeActWizard +from archaeological_operations.wizards import OperationWizard +from archaeological_operations.views import operation_creation_wizard from ishtar_common.forms_common import TownFormset from archaeological_operations.forms import FinalAdministrativeActDeleteForm @@ -259,6 +261,20 @@ def file_adminact_add(request, pk, current_right=None): kwargs={'step': 'administrativeact-file_administrativeactfile'})) +def file_add_operation(request, pk, current_right=None): + try: + models.File.objects.get(pk=pk) + except models.File.DoesNotExist: + raise Http404() + operation_creation_wizard(request) + OperationWizard.session_set_value( + request, 'filechoice-operation_creation', 'associated_file', pk, + reset=True) + return redirect(reverse( + 'operation_creation', + kwargs={'step': 'general-operation_creation'})) + + def reset_wizards(request): for wizard_class, url_name in ( (FileWizard, 'file_creation'), |