From b4da7d1172c45a379cb695cdd6661be10beb2458 Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Fri, 3 Jul 2020 11:22:48 +0200 Subject: Documents: update search form with new fields --- ishtar_common/forms_common.py | 68 +++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 65 insertions(+), 3 deletions(-) (limited to 'ishtar_common/forms_common.py') diff --git a/ishtar_common/forms_common.py b/ishtar_common/forms_common.py index 4dd55c38a..991968e3b 100644 --- a/ishtar_common/forms_common.py +++ b/ishtar_common/forms_common.py @@ -1390,7 +1390,7 @@ class DocumentForm(forms.ModelForm, CustomForm, ManageOldType): 'receipt_date': FormHeader(_("Dates")), 'publisher': FormHeader(_("Publishing"), collapse=True), 'source': FormHeader(_("Source"), collapse=True), - 'container': FormHeader(_("Container"), collapse=True), + 'container': FormHeader(_("Warehouse"), collapse=True), 'comment': FormHeader(_("Advanced"), collapse=True), 'finds': FormHeader(_("Related items")), } @@ -1501,15 +1501,60 @@ class DocumentSelect(HistorySelect): required=False) title = forms.CharField(label=_("Title")) - source_type = forms.ChoiceField(label=_("Source type"), choices=[]) + source_type = forms.ChoiceField(label=_("Type"), choices=[]) reference = forms.CharField(label=_("Reference")) internal_reference = forms.CharField(label=_("Internal reference")) description = forms.CharField(label=_("Description")) + format = forms.ChoiceField(label=_("Format"), choices=[]) + support = forms.ChoiceField(label=_("Medium"), choices=[]) + scale = forms.CharField(label=_("Scale")) + associated_url = forms.CharField(label=_("Web address")) + tag = forms.ChoiceField(label=_("Tag"), choices=[]) + publisher = forms.IntegerField( + label=_("Publisher"), + widget=widgets.JQueryAutoComplete( + reverse_lazy( + 'autocomplete-organization', + args=[models.organization_type_pks_lazy( + settings.ISHTAR_SLUGS["document-editor"])]), + limit={ + 'organization_type': [models.organization_type_pks_lazy( + settings.ISHTAR_SLUGS["document-editor"])]}, + tips=models.get_publisher_label, + associated_model=models.Organization), + validators=[models.valid_id(models.Organization)]) + language = forms.ChoiceField(label=_("Language"), choices=[]) + isbn = forms.CharField(label=_("ISBN")) + issn = forms.CharField(label=_("ISSN")) + licenses = forms.ChoiceField(label=_("License"), choices=[]) + comment = forms.CharField(label=_("Comment")) additional_information = forms.CharField( label=_("Additional informations")) duplicate = forms.NullBooleanField(label=_("Has a duplicate")) + associated_file__isnull = forms.NullBooleanField(label=_("Has a file?")) image__isnull = forms.NullBooleanField(label=_("Has an image?")) + source = forms.IntegerField( + label=_("Source"), + widget=widgets.JQueryAutoComplete( + reverse_lazy('autocomplete-document'), + associated_model=models.Document), + validators=[models.valid_id(models.Document)]) + source_free_input = forms.CharField( + label=_("Source - free input")) + warehouse_container = forms.IntegerField( + label=_("Warehouse - Container"), required=False, + widget=widgets.JQueryAutoComplete( + reverse_lazy('autocomplete-container'), + associated_model=Container), + validators=[models.valid_id(Container)]) + warehouse_container_ref = forms.IntegerField( + label=_("Warehouse - Reference container"), required=False, + widget=widgets.JQueryAutoComplete( + reverse_lazy('autocomplete-container'), + associated_model=Container), + validators=[models.valid_id(Container)]) + operation = forms.IntegerField( label=_("Operation"), required=False, widget=widgets.JQueryAutoComplete( @@ -1536,15 +1581,32 @@ class DocumentSelect(HistorySelect): validators=[models.valid_id(Find)]) find__denomination = forms.CharField(label=_("Find - denomination"), required=False) - container = forms.IntegerField( + containers = forms.IntegerField( label=_("Container"), required=False, widget=widgets.JQueryAutoComplete( reverse_lazy('autocomplete-container'), associated_model=Container), validators=[models.valid_id(Container)]) + receipt_date__before = forms.DateField( + label=_("Receipt date before"), widget=DatePicker) + receipt_date__after = forms.DateField( + label=_("Receipt date after"), widget=DatePicker) + creation_date__before = forms.DateField( + label=_("Creation date before"), widget=DatePicker) + creation_date__after = forms.DateField( + label=_("Creation date after"), widget=DatePicker) + receipt_date_in_documentation__before = forms.DateField( + label=_("Receipt date before"), widget=DatePicker) + receipt_date_in_documentation__after = forms.DateField( + label=_("Receipt date after"), widget=DatePicker) TYPES = [ FieldType('source_type', models.SourceType), + FieldType('format', models.Format), + FieldType('support', models.SupportType), + FieldType('tag', models.DocumentTag), + FieldType('language', models.Language), + FieldType('licenses', models.LicenseType), ] PROFILE_FILTER = { -- cgit v1.2.3