diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2020-12-08 18:49:13 +0100 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2021-02-28 12:15:22 +0100 |
commit | a51aec0053b95dcc0fb93dcfb0ad3be95ff39839 (patch) | |
tree | 3282449aa7f74c0156dc3639a8039542da55e6d8 /archaeological_files | |
parent | 46e930e758d48318bc009e3ef3a06d98610721d9 (diff) | |
download | Ishtar-a51aec0053b95dcc0fb93dcfb0ad3be95ff39839.tar.bz2 Ishtar-a51aec0053b95dcc0fb93dcfb0ad3be95ff39839.zip |
Sheet files: add operation shortcut
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'), |