From c981656169ed68154798cbd10492be674ba46ed6 Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Wed, 17 Sep 2025 17:07:04 +0200 Subject: ✨ document type field - use select2 widget MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ishtar_common/forms_common.py | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) (limited to 'ishtar_common/forms_common.py') diff --git a/ishtar_common/forms_common.py b/ishtar_common/forms_common.py index 9066e2390..f9b79bf1b 100644 --- a/ishtar_common/forms_common.py +++ b/ishtar_common/forms_common.py @@ -2065,8 +2065,10 @@ class DocumentForm(forms.ModelForm, CustomForm, ManageOldType): required=False, validators=[validators.MaxLengthValidator(200)], ) - source_type = widgets.ModelChoiceField( - model=models.SourceType, label=_("Type"), choices=[], required=False + source_type = widgets.Select2SimpleField( + label=_("Type"), + model=models.SourceType, + required=False, ) support_type = widgets.ModelChoiceField( model=models.SupportType, label=_("Medium"), choices=[], required=False @@ -2424,6 +2426,12 @@ class DocumentForm(forms.ModelForm, CustomForm, ManageOldType): ) return cleaned_data + def clean_source_type(self): + value = self.cleaned_data.get("source_type", None) + if not value: + return + return value + def clean_publisher(self): if not self.cleaned_data.get("publisher", None): return @@ -2496,7 +2504,10 @@ class DocumentSelect(HistorySelect): ) title = forms.CharField(label=_("Title")) - source_type = forms.ChoiceField(label=_("Type"), choices=[]) + source_type = forms.ChoiceField( + label=_("Type"), choices=[], + widget=widgets.Select2Multiple(), + ) reference = forms.CharField(label=_("Reference")) internal_reference = forms.CharField(label=_("Internal reference")) description = forms.CharField(label=_("Description")) @@ -2626,7 +2637,7 @@ class DocumentSelect(HistorySelect): receipt_date_in_documentation = DateField(label=_("Receipt date")) TYPES = [ - FieldType("source_type", models.SourceType), + FieldType("source_type", models.SourceType, help_text=False), FieldType("format", models.Format), FieldType("support", models.SupportType), FieldType("tag", models.DocumentTag), @@ -2701,7 +2712,7 @@ class QADocumentFormMulti(QAForm): "qa_copyright", "qa_shooting_angle", ] - qa_source_type = forms.ChoiceField(label=_("Source type"), required=False) + qa_source_type = forms.ChoiceField(label=_("Type"), required=False) qa_authors = widgets.ModelJQueryAutocompleteField( model=models.Author, label=_("Author"), new=True, required=False ) -- cgit v1.2.3