diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2020-07-03 11:22:48 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2021-02-28 12:15:21 +0100 |
commit | b4da7d1172c45a379cb695cdd6661be10beb2458 (patch) | |
tree | 4aba97b9e36fdacf626ad2ee50ce985d2db4fdd2 /ishtar_common/models.py | |
parent | dc9d77a2c32be8d0e53fdf39f9b13616e8adad53 (diff) | |
download | Ishtar-b4da7d1172c45a379cb695cdd6661be10beb2458.tar.bz2 Ishtar-b4da7d1172c45a379cb695cdd6661be10beb2458.zip |
Documents: update search form with new fields
Diffstat (limited to 'ishtar_common/models.py')
-rw-r--r-- | ishtar_common/models.py | 113 |
1 files changed, 110 insertions, 3 deletions
diff --git a/ishtar_common/models.py b/ishtar_common/models.py index 6364f69e8..785311764 100644 --- a/ishtar_common/models.py +++ b/ishtar_common/models.py @@ -5380,10 +5380,22 @@ class Document(BaseHistorizedItem, QRCodeItem, OwnPerms, ImageModel, SearchVectorConfig("source_type__label"), SearchVectorConfig("external_id"), SearchVectorConfig("reference"), + SearchVectorConfig("internal_reference"), SearchVectorConfig("description", "local"), SearchVectorConfig("comment", "local"), SearchVectorConfig("additional_information", "local"), ] + BASE_SEARCH_VECTORS += [ + SearchVectorConfig('treatment_files__name'), + SearchVectorConfig('treatments__cached_label'), + SearchVectorConfig('finds__cached_label'), + SearchVectorConfig('context_records__cached_label'), + SearchVectorConfig('operations__cached_label'), + SearchVectorConfig('sites__cached_label'), + SearchVectorConfig('warehouses__name'), + SearchVectorConfig('containers__cached_label'), + SearchVectorConfig('files__cached_label') + ] PARENT_SEARCH_VECTORS = ['authors', ] M2M_SEARCH_VECTORS = [SearchVectorConfig("tags__label"), ] @@ -5411,6 +5423,10 @@ class Document(BaseHistorizedItem, QRCodeItem, OwnPerms, ImageModel, pgettext_lazy("key for text search", "author"), 'authors__cached_label__iexact' ), + 'publisher': SearchAltName( + pgettext_lazy("key for text search", "publisher"), + 'publisher__name__iexact' + ), 'title': SearchAltName( pgettext_lazy("key for text search", "title"), 'title__iexact' @@ -5431,6 +5447,59 @@ class Document(BaseHistorizedItem, QRCodeItem, OwnPerms, ImageModel, pgettext_lazy("key for text search", "description"), 'description__iexact' ), + 'tag': SearchAltName( + pgettext_lazy("key for text search", "tag"), + 'tags__label__iexact' + ), + 'format': SearchAltName( + pgettext_lazy("key for text search", "format"), + 'format_type__label__iexact' + ), + 'support': SearchAltName( + pgettext_lazy("key for text search", "medium"), + 'support_type__label__iexact' + ), + 'language': SearchAltName( + pgettext_lazy("key for text search", "language"), + 'language__label__iexact' + ), + 'licenses': SearchAltName( + pgettext_lazy("key for text search", "license"), + 'licenses__label__iexact' + ), + 'scale': SearchAltName( + pgettext_lazy("key for text search", "scale"), + 'scale__iexact' + ), + 'associated_url': SearchAltName( + pgettext_lazy("key for text search", "url"), + 'associated_url__iexact' + ), + 'isbn': SearchAltName( + pgettext_lazy("key for text search", "isbn"), + 'isbn__iexact' + ), + 'issn': SearchAltName( + pgettext_lazy("key for text search", "issn"), + 'issn__iexact' + ), + 'source': SearchAltName( + pgettext_lazy("key for text search", "source"), + 'source__title__iexact' + ), + 'source_free_input': SearchAltName( + pgettext_lazy("key for text search", "source-free-input"), + 'source_free_input__iexact' + ), + 'warehouse_container': SearchAltName( + pgettext_lazy("key for text search", "warehouse-container"), + 'container__cached_label__iexact' + ), + 'warehouse_container_ref': SearchAltName( + pgettext_lazy("key for text search", + "warehouse-container-reference"), + 'container_ref__cached_label__iexact' + ), 'comment': SearchAltName( pgettext_lazy("key for text search", "comment"), 'comment__iexact' @@ -5467,7 +5536,7 @@ class Document(BaseHistorizedItem, QRCodeItem, OwnPerms, ImageModel, pgettext_lazy("key for text search", "file"), 'files__cached_label__iexact' ), - 'container': SearchAltName( + 'containers': SearchAltName( pgettext_lazy("key for text search", "container"), 'containers__cached_label__iexact' ), @@ -5483,11 +5552,49 @@ class Document(BaseHistorizedItem, QRCodeItem, OwnPerms, ImageModel, SearchAltName( pgettext_lazy("key for text search", "has-image"), 'image__isnull'), + 'associated_file__isnull': + SearchAltName( + pgettext_lazy("key for text search", "has-file"), + 'associated_file__isnull'), + 'receipt_date__before': + SearchAltName( + pgettext_lazy("key for text search", "receipt-date-before"), + 'receipt_date__lte'), + 'receipt_date__after': + SearchAltName( + pgettext_lazy("key for text search", "receipt-date-after"), + 'receipt_date__gte'), + 'receipt_date_in_documentation__before': + SearchAltName( + pgettext_lazy("key for text search", + "receipt-in-documentation-date-before"), + 'receipt_date_in_documentation__lte'), + 'receipt_date_in_documentation__after': + SearchAltName( + pgettext_lazy("key for text search", + "receipt-in-documentation-date-after"), + 'receipt_date_in_documentation__gte'), + 'creation_date__before': + SearchAltName( + pgettext_lazy("key for text search", "creation-date-before"), + 'creation_date__lte'), + 'creation_date__after': + SearchAltName( + pgettext_lazy("key for text search", "creation-date-after"), + 'creation_date__gte'), } ALT_NAMES.update(BaseHistorizedItem.ALT_NAMES) # search parameters - REVERSED_BOOL_FIELDS = ['image__isnull'] + REVERSED_BOOL_FIELDS = ['image__isnull', 'associated_file__isnull'] + DATED_FIELDS = [ + 'receipt_date__lte', + 'receipt_date__gte', + 'receipt_date_in_documentation__lte', + 'receipt_date_in_documentation__gte', + 'creation_date__lte', + 'creation_date__gte', + ] objects = ExternalIdManager() RELATIVE_SESSION_NAMES = [ @@ -5561,7 +5668,7 @@ class Document(BaseHistorizedItem, QRCodeItem, OwnPerms, ImageModel, support_type = models.ForeignKey(SupportType, verbose_name=_("Support"), on_delete=models.SET_NULL, blank=True, null=True, ) - format_type = models.ForeignKey(Format, verbose_name=_("Format"), + format_type = models.ForeignKey(Format, verbose_name=_("Medium"), on_delete=models.SET_NULL, blank=True, null=True) scale = models.CharField(_("Scale"), max_length=30, null=True, |