diff options
author | Cefin <kevon@tuta.io> | 2021-11-11 17:15:45 +0100 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2022-07-08 09:58:49 +0200 |
commit | 5b461300b7ea81bf7055dda9b4e1399fb2851518 (patch) | |
tree | 4f16995cdc59b503e2ba514983677f8e3e2bf0c4 | |
parent | 6fd78e655d18a2b29b42c223c6ebba74f4916666 (diff) | |
download | Ishtar-5b461300b7ea81bf7055dda9b4e1399fb2851518.tar.bz2 Ishtar-5b461300b7ea81bf7055dda9b4e1399fb2851518.zip |
rapid action modify basket property #5180
-rw-r--r-- | archaeological_finds/forms.py | 11 | ||||
-rw-r--r-- | archaeological_finds/models_finds.py | 8 | ||||
-rw-r--r-- | archaeological_finds/urls.py | 21 | ||||
-rw-r--r-- | archaeological_finds/views.py | 5 |
4 files changed, 45 insertions, 0 deletions
diff --git a/archaeological_finds/forms.py b/archaeological_finds/forms.py index c1b5a229d..15ce0465b 100644 --- a/archaeological_finds/forms.py +++ b/archaeological_finds/forms.py @@ -1108,6 +1108,17 @@ class QAFindbasketDuplicateForm(IshtarForm): self.basket.duplicate(label=self.cleaned_data["label"], ishtaruser=self.user) +class QAFindBasketModify(QAForm): + form_admin_name = _("Find - Quick action - Modify") + form_slug = "findbasket-quickaction-modify" + MULTI = False + + qa_label = forms.CharField(label="Denomination", max_length=None, required=False) + + REPLACE_FIELDS = [ + "qa_label", + ] + class PreservationForm(CustomForm, ManageOldType): form_label = _("Preservation") form_admin_name = _("Find - 030 - Preservation") diff --git a/archaeological_finds/models_finds.py b/archaeological_finds/models_finds.py index aded3d3f0..bccbcce79 100644 --- a/archaeological_finds/models_finds.py +++ b/archaeological_finds/models_finds.py @@ -849,7 +849,15 @@ class FindBasket(Basket, MainItem, ValueGetter): SLUG = "findbasket" items = models.ManyToManyField("Find", blank=True, related_name="basket") + QA_EDIT = QuickAction( + url="findbasket-qa-bulk-update", + icon_class="fa fa-pencil", + text=_("Modify"), + target="one", + rights=["view_find", "view_own_find"], + ) QUICK_ACTIONS = [ + QA_EDIT, QuickAction( url="findbasket-qa-duplicate", icon_class="fa fa-clone", diff --git a/archaeological_finds/urls.py b/archaeological_finds/urls.py index 50abd1f99..9db2bbca1 100644 --- a/archaeological_finds/urls.py +++ b/archaeological_finds/urls.py @@ -197,6 +197,27 @@ urlpatterns = [ name="find-qa-basket", ), url( + r"findbasket-qa-bulk-update/(?P<pks>[0-9-]+)?/$", + check_rights([ + "change_find", + "change_own_find", + ])( + views.QAFindBasketModifyView.as_view() + ), + name="findbasket-qa-bulk-update", + ), + url( + r"findbasket-qa-bulk-update/(?P<pks>[0-9-]+)?/confirm/$", + check_rights([ + "change_find", + "change_own_find", + ])( + views.QAFindBasketModifyView.as_view() + ), + name="findbasket-qa-bulk-update-confirm", + kwargs={"confirm": True}, + ), + url( r"^find-qa-packaging/(?P<pks>[0-9-]+)?/$", check_rights(["change_find", "change_own_find"])( views.QAFindTreatmentFormView.as_view() diff --git a/archaeological_finds/views.py b/archaeological_finds/views.py index 86bc0a44e..70868e55a 100644 --- a/archaeological_finds/views.py +++ b/archaeological_finds/views.py @@ -1300,6 +1300,11 @@ class QAFindbasketDuplicateFormView(QAItemForm): return data +class QAFindBasketModifyView(QAItemEditForm): + model = models.FindBasket + form_class = forms.QAFindBasketModify + + class QAFindLockView(QABaseLockView): model = models.Find base_url = "find-qa-lock" |