summaryrefslogtreecommitdiff
path: root/archaeological_files
diff options
context:
space:
mode:
Diffstat (limited to 'archaeological_files')
-rw-r--r--archaeological_files/models.py11
-rw-r--r--archaeological_files/urls.py3
-rw-r--r--archaeological_files/views.py16
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'),