summaryrefslogtreecommitdiff
path: root/archaeological_operations/views.py
diff options
context:
space:
mode:
Diffstat (limited to 'archaeological_operations/views.py')
-rw-r--r--archaeological_operations/views.py21
1 files changed, 21 insertions, 0 deletions
diff --git a/archaeological_operations/views.py b/archaeological_operations/views.py
index 7bbc4c0b4..8fa7e08c0 100644
--- a/archaeological_operations/views.py
+++ b/archaeological_operations/views.py
@@ -584,6 +584,27 @@ def site_delete(request, pk):
return redirect(reverse(wizard_url, kwargs={"step": "final-" + wizard_url}))
+def site_add_operation(request, pks, current_right=None):
+ pks = [int(p) for p in pks.split("-")]
+ for pk in pks:
+ q = models.ArchaeologicalSite.objects.filter(pk=pk)
+ if not q.count():
+ raise Http404()
+ site = q.all()[0]
+ if not site.can_do(request, "view_archaeologicalsite") \
+ or site.operations.count():
+ raise Http404()
+ # operation add permission checked on view call
+ operation_creation_wizard(request)
+ wizards.OperationWizard.session_set_value(
+ request, "general-operation_creation", "archaeological_site", pks,
+ reset=True
+ )
+ return redirect(
+ reverse("operation_creation", kwargs={"step": "general-operation_creation"})
+ )
+
+
def site_add_top_operation(request, pks, current_right=None):
q = models.ArchaeologicalSite.objects.filter(pk=pks)
if not q.count():