From 0d992b62662d28637a61a0b114eb85cd6e694dbc Mon Sep 17 00:00:00 2001 From: Cefin Date: Tue, 9 Nov 2021 12:37:30 +0100 Subject: rapid action context record show add a find #5184 part one --- archaeological_context_records/models.py | 12 ++++++++++++ archaeological_finds/urls.py | 1 + archaeological_finds/views.py | 20 ++++++++++++++++++++ 3 files changed, 33 insertions(+) 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.+)/$", views.find_modify, name="find_modify"), + url(r"find_create/(?P.+)/$", views.find_create, name="find_create"), url( r"find_deletion/(?P.+)?$", 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, -- cgit v1.2.3