From 7ffa88906a43842ef577ec0969552c1c6c8f7e72 Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Tue, 14 Dec 2021 16:33:07 +0100 Subject: Basket bulk update: propose slug on single edit, allow multi edit (refs #5225) --- archaeological_finds/forms.py | 2 ++ archaeological_finds/models_finds.py | 2 +- ishtar_common/forms.py | 3 ++- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/archaeological_finds/forms.py b/archaeological_finds/forms.py index 7b13eb34b..fc1816d32 100644 --- a/archaeological_finds/forms.py +++ b/archaeological_finds/forms.py @@ -1112,12 +1112,14 @@ class QAFindBasketModify(QAForm): form_admin_name = _("Find - Quick action - Modify") form_slug = "findbasket-quickaction-modify" MULTI = True + SINGLE_FIELDS = ["qa_slug"] qa_label = forms.CharField( label="Denomination", validators=[validators.MaxLengthValidator(1000)], required=False ) + qa_slug = forms.SlugField(label=_("Slug"), required=False) qa_public = forms.BooleanField(label=_("Is public"), required=False) qa_comment = forms.CharField(label=_("Comment"), widget=forms.Textarea, required=False) qa_shared_with = widgets.Select2MultipleField( diff --git a/archaeological_finds/models_finds.py b/archaeological_finds/models_finds.py index bccbcce79..2c2fffd00 100644 --- a/archaeological_finds/models_finds.py +++ b/archaeological_finds/models_finds.py @@ -853,7 +853,7 @@ class FindBasket(Basket, MainItem, ValueGetter): url="findbasket-qa-bulk-update", icon_class="fa fa-pencil", text=_("Modify"), - target="one", + target="many", rights=["view_find", "view_own_find"], ) QUICK_ACTIONS = [ diff --git a/ishtar_common/forms.py b/ishtar_common/forms.py index b92a80f42..d31febd95 100644 --- a/ishtar_common/forms.py +++ b/ishtar_common/forms.py @@ -1160,8 +1160,9 @@ class QAForm(CustomForm, ManageOldType): self.items = kwargs.pop("items") self.confirm = kwargs.pop("confirm") super(QAForm, self).__init__(*args, **kwargs) + len_items = len(self.items) for k in list(self.fields.keys()): - if self.MULTI and k in self.SINGLE_FIELDS: + if self.MULTI and len_items > 1 and k in self.SINGLE_FIELDS: self.fields.pop(k) continue if self.confirm: -- cgit v1.2.3