diff options
-rw-r--r-- | archaeological_context_records/forms.py | 1 | ||||
-rw-r--r-- | archaeological_context_records/models.py | 5 | ||||
-rw-r--r-- | archaeological_operations/forms.py | 1 | ||||
-rw-r--r-- | archaeological_operations/models.py | 5 | ||||
-rw-r--r-- | ishtar_common/views_item.py | 2 |
5 files changed, 13 insertions, 1 deletions
diff --git a/archaeological_context_records/forms.py b/archaeological_context_records/forms.py index 91c2fdf63..19df6aecc 100644 --- a/archaeological_context_records/forms.py +++ b/archaeological_context_records/forms.py @@ -133,6 +133,7 @@ class RecordSelect(DocumentItemSelect, PeriodSelect): label=_(u"Search within related operations"), choices=[]) unit = forms.ChoiceField(label=_(u"Unit type"), choices=[]) parcel = forms.CharField(label=_(u"Parcel")) + has_finds = forms.NullBooleanField(label=_("Has finds")) cr_relation_types = forms.ChoiceField( label=_(u"Search within relations"), choices=[]) diff --git a/archaeological_context_records/models.py b/archaeological_context_records/models.py index 84e2b3542..5e08ce6ae 100644 --- a/archaeological_context_records/models.py +++ b/archaeological_context_records/models.py @@ -400,6 +400,7 @@ class ContextRecord(BulkUpdatedItem, DocumentItem, BaseHistorizedItem, 'operation_id': 'operation_id', 'unit__label': "unit__label" } + MANY_COUNTED_FIELDS = ['base_finds'] REVERSED_BOOL_FIELDS = [ 'documents__image__isnull', 'documents__associated_file__isnull', @@ -453,6 +454,10 @@ class ContextRecord(BulkUpdatedItem, DocumentItem, BaseHistorizedItem, pgettext_lazy("key for text search", "parcel"), 'parcel__cached_label__iexact' ), + 'has_finds': SearchAltName( + pgettext_lazy("key for text search", "has-finds"), + 'base_finds' + ), 'cr_relation_types': SearchAltName( pgettext_lazy("key for text search", "record-relation-type"), 'cr_relation_types' diff --git a/archaeological_operations/forms.py b/archaeological_operations/forms.py index 02f5ec326..8613822e1 100644 --- a/archaeological_operations/forms.py +++ b/archaeological_operations/forms.py @@ -566,6 +566,7 @@ class OperationSelect(DocumentItemSelect): label=_(u"Documentation deadline before")) documentation_deadline_after = DateField( label=_(u"Documentation deadline after")) + has_finds = forms.NullBooleanField(label=_("Has finds")) finds_received = forms.NullBooleanField( label=_(u"Finds received")) finds_deadline_before = DateField( diff --git a/archaeological_operations/models.py b/archaeological_operations/models.py index a74ab7d51..db63088e5 100644 --- a/archaeological_operations/models.py +++ b/archaeological_operations/models.py @@ -700,6 +700,7 @@ class Operation(ClosedItem, DocumentItem, BaseHistorizedItem, QRCodeItem, # search parameters BOOL_FIELDS = ['end_date__isnull', 'virtual_operation', 'documentation_received', 'finds_received'] + MANY_COUNTED_FIELDS = ['context_record__base_finds'] REVERSED_BOOL_FIELDS = [ 'documents__image__isnull', 'documents__associated_file__isnull', @@ -948,6 +949,10 @@ class Operation(ClosedItem, DocumentItem, BaseHistorizedItem, QRCodeItem, pgettext_lazy("key for text search", "finds-received"), 'finds_received' ), + 'has_finds': SearchAltName( + pgettext_lazy("key for text search", "has-finds"), + 'context_record__base_finds' + ), 'finds_deadline_before': SearchAltName( pgettext_lazy("key for text search", "finds-deadline-before"), 'finds_deadline__lte' diff --git a/ishtar_common/views_item.py b/ishtar_common/views_item.py index 5c6b2b3c5..15c1351b6 100644 --- a/ishtar_common/views_item.py +++ b/ishtar_common/views_item.py @@ -750,7 +750,7 @@ def _manage_many_counted_fields(fields, reversed_fields, dct, excluded_dct): dct[k] = True else: dct[k] = None - if k in reversed_fields: + if reversed_fields and k in reversed_fields: dct[k] = True if not dct[k] else None if dct[k]: dct.pop(k) |