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 d143ddd09..14ef1f62b 100644
--- a/archaeological_context_records/models.py
+++ b/archaeological_context_records/models.py
@@ -967,6 +967,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 631d587e6..8a2a30d2c 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 dc2edfcac..80a92ac2b 100644
--- a/archaeological_finds/views.py
+++ b/archaeological_finds/views.py
@@ -38,6 +38,7 @@ from ishtar_common.serializers import PublicSerializer
from ishtar_common.models import IshtarUser, get_current_profile
from archaeological_operations.models import AdministrativeAct
+from archaeological_context_records.models import ContextRecord
from archaeological_finds import models
from ishtar_common.forms import FinalForm
@@ -355,6 +356,25 @@ find_creation_wizard = wizards.FindWizard.as_view(
url_name="find_creation",
)
+
+def find_create(request, pk):
+ context_record = wizard_is_available(
+ find_creation_wizard,
+ request,
+ ContextRecord,
+ pk
+ )
+ if not context_record:
+ return HttpResponseRedirect("/")
+ find_creation_wizard(request)
+ 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,