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 | addb5e55aaa3ee2f5c0d9bb7a88092bbfc80ba5b (patch) | |
tree | 3282449aa7f74c0156dc3639a8039542da55e6d8 | |
parent | b4d8ecfbe40a12def9abd8cc688c4a07d7c69838 (diff) | |
download | Ishtar-addb5e55aaa3ee2f5c0d9bb7a88092bbfc80ba5b.tar.bz2 Ishtar-addb5e55aaa3ee2f5c0d9bb7a88092bbfc80ba5b.zip |
Sheet files: add operation shortcut
-rw-r--r-- | archaeological_files/models.py | 11 | ||||
-rw-r--r-- | archaeological_files/urls.py | 3 | ||||
-rw-r--r-- | archaeological_files/views.py | 16 | ||||
-rw-r--r-- | ishtar_common/models.py | 5 |
4 files changed, 34 insertions, 1 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'), diff --git a/ishtar_common/models.py b/ishtar_common/models.py index 6eb7fac6d..e7d948d63 100644 --- a/ishtar_common/models.py +++ b/ishtar_common/models.py @@ -1880,12 +1880,15 @@ class TitleType(GenderedType): return doc def get_values(self, prefix='', **kwargs): - return { + dct = { prefix: self.label, prefix + "id": self.pk, prefix + "txt_idx": self.txt_idx, prefix + "long_title": self.long_title } + if prefix: + dct[prefix[:-1]] = self.label + return dct post_save.connect(post_save_cache, sender=TitleType) |