summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--archaeological_context_records/models.py12
-rw-r--r--archaeological_finds/urls.py1
-rw-r--r--archaeological_finds/views.py20
3 files changed, 33 insertions, 0 deletions
diff --git a/archaeological_context_records/models.py b/archaeological_context_records/models.py
index 71adcb219..4bc1ccb5e 100644
--- a/archaeological_context_records/models.py
+++ b/archaeological_context_records/models.py
@@ -997,6 +997,18 @@ class ContextRecord(
True,
),
]
+ can_create_find = self.can_do(request, "add_find")
+ if can_create_find:
+ actions += [
+ (
+ reverse("find_create", args=[self.pk]),
+ _("Add find"),
+ "fa fa-plus",
+ _("find"),
+ "",
+ True,
+ ),
+ ]
return actions
@classmethod
diff --git a/archaeological_finds/urls.py b/archaeological_finds/urls.py
index a374c4d41..50abd1f99 100644
--- a/archaeological_finds/urls.py
+++ b/archaeological_finds/urls.py
@@ -47,6 +47,7 @@ urlpatterns = [
name="find_modification",
),
url(r"find_modify/(?P<pk>.+)/$", views.find_modify, name="find_modify"),
+ url(r"find_create/(?P<pk>.+)/$", views.find_create, name="find_create"),
url(
r"find_deletion/(?P<step>.+)?$",
check_rights(["change_find", "change_own_find"])(views.find_deletion_wizard),
diff --git a/archaeological_finds/views.py b/archaeological_finds/views.py
index 7dae92827..870746612 100644
--- a/archaeological_finds/views.py
+++ b/archaeological_finds/views.py
@@ -354,6 +354,26 @@ find_creation_wizard = wizards.FindWizard.as_view(
url_name="find_creation",
)
+
+def find_create(request, pk):
+ find = wizard_is_available(
+ find_creation_wizard,
+ request,
+ models.Find,
+ pk
+ )
+ if not find:
+ return HttpResponseRedirect("/")
+ find_add_wizard(request)
+ if get_current_profile().contextrecord:
+ key = "selecrecord-find_creation"
+ wizards.FindWizard.session_set_value(request, key, "pk", pk, reset=True)
+
+ step = "find-find_creation"
+
+ return redirect(reverse("find-creation", kwargs={"step": step}))
+
+
find_search_condition_dict = {
"general-find_search": check_not_warehouse_module,
"generalwarehouse-find_search": check_warehouse_module,