diff options
| author | Cefin <kevon@tuta.io> | 2021-11-09 12:37:30 +0100 | 
|---|---|---|
| committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2022-05-27 08:57:31 +0200 | 
| commit | 9ee2d65527082da0167b8c4c92faf16f8e25d3b1 (patch) | |
| tree | e9c952b1c4ba536fce7f962b8516e820efe738d4 | |
| parent | ffd47c28bd7288a88745964a2031e61d991b0364 (diff) | |
| download | Ishtar-9ee2d65527082da0167b8c4c92faf16f8e25d3b1.tar.bz2 Ishtar-9ee2d65527082da0167b8c4c92faf16f8e25d3b1.zip | |
Quick action context record - add a find (refs #5184)
| -rw-r--r-- | archaeological_context_records/models.py | 12 | ||||
| -rw-r--r-- | archaeological_finds/urls.py | 1 | ||||
| -rw-r--r-- | archaeological_finds/views.py | 20 | 
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, | 
