diff options
| -rw-r--r-- | archaeological_finds/forms.py | 1 | ||||
| -rw-r--r-- | archaeological_finds/views.py | 4 | ||||
| -rw-r--r-- | ishtar_common/views.py | 7 | 
3 files changed, 9 insertions, 3 deletions
| diff --git a/archaeological_finds/forms.py b/archaeological_finds/forms.py index efb827ef4..b72210946 100644 --- a/archaeological_finds/forms.py +++ b/archaeological_finds/forms.py @@ -107,6 +107,7 @@ class FindSelect(TableSelect):      material_type = forms.ChoiceField(label=_(u"Material type"), choices=[])      base_finds__find__description = forms.CharField(label=_(u"Description"))      base_finds__is_isolated = forms.NullBooleanField(label=_(u"Is isolated?")) +    image = forms.NullBooleanField(label=_(u"Has an image?"))      def __init__(self, *args, **kwargs):          super(FindSelect, self).__init__(*args, **kwargs) diff --git a/archaeological_finds/views.py b/archaeological_finds/views.py index 17f1a3f4d..b01cd4934 100644 --- a/archaeological_finds/views.py +++ b/archaeological_finds/views.py @@ -27,6 +27,7 @@ import models  get_find = get_item(models.Find, 'get_find', 'find',      bool_fields = ['base_finds__is_isolated'], +    reversed_bool_fields = ['image__isnull'],      base_request={'downstream_treatment__isnull':True},      extra_request_keys={          'base_finds__context_record__parcel__town': @@ -38,7 +39,8 @@ get_find = get_item(models.Find, 'get_find', 'find',          'dating__period':'dating__period__pk',          'base_finds__find__description':              'base_finds__find__description__icontains', -        'base_finds__is_isolated':'base_finds__is_isolated'}) +        'base_finds__is_isolated':'base_finds__is_isolated', +        'image':'image__isnull'})  get_findsource = get_item(models.FindSource, 'get_findsource', 'findsource',      extra_request_keys={          'find__context_record__operation__year': diff --git a/ishtar_common/views.py b/ishtar_common/views.py index 6c0f0696a..dc72b8d12 100644 --- a/ishtar_common/views.py +++ b/ishtar_common/views.py @@ -173,7 +173,8 @@ HIERARCHIC_LEVELS = 5  HIERARCHIC_FIELDS = ['periods', 'period', 'unit', 'material_type']  PRIVATE_FIELDS = ('id', 'history_modifier', 'order')  def get_item(model, func_name, default_name, extra_request_keys=[], -            base_request={}, bool_fields=[], dated_fields=[]): +            base_request={}, bool_fields=[], reversed_bool_fields=[], +            dated_fields=[]):      """      Generic treatment of tables      """ @@ -207,12 +208,14 @@ def get_item(model, func_name, default_name, extra_request_keys=[],                  dct = request.session[func_name]          else:              request.session[func_name] = dct -        for k in bool_fields: +        for k in (list(bool_fields) + list(reversed_bool_fields)):              if k in dct:                  if dct[k] == u"1":                      dct.pop(k)                  else:                      dct[k] = dct[k] == u"2" and True or False +                    if k in reversed_bool_fields: +                        dct[k] = not dct[k]          for k in dated_fields:              if k in dct:                  if not dct[k]: | 
