summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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 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"