summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCefin <kevon@tuta.io>2021-11-11 17:15:45 +0100
committerÉtienne Loks <etienne.loks@iggdrasil.net>2021-11-22 00:03:21 +0100
commit32ba228373cea6e136f0d4ed3a8057b6b286e517 (patch)
tree96e4f5bc329ac7bd9c8a86d96ba4aed0a0b488f7
parentc259dc5d20ae78926caf7bd67913f3c9fc7d40c8 (diff)
downloadIshtar-32ba228373cea6e136f0d4ed3a8057b6b286e517.tar.bz2
Ishtar-32ba228373cea6e136f0d4ed3a8057b6b286e517.zip
rapid action modify basket property #5180
-rw-r--r--archaeological_finds/forms.py11
-rw-r--r--archaeological_finds/models_finds.py8
-rw-r--r--archaeological_finds/urls.py21
-rw-r--r--archaeological_finds/views.py5
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 88b580ee0..5829af19b 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 8003fd5f2..7b98f2cdb 100644
--- a/archaeological_finds/views.py
+++ b/archaeological_finds/views.py
@@ -1302,6 +1302,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"