diff options
| -rw-r--r-- | archaeological_finds/forms.py | 7 | ||||
| -rw-r--r-- | archaeological_finds/models_finds.py | 4 | ||||
| -rw-r--r-- | ishtar_common/forms.py | 7 | 
3 files changed, 15 insertions, 3 deletions
| diff --git a/archaeological_finds/forms.py b/archaeological_finds/forms.py index 358b12477..fbcc32013 100644 --- a/archaeological_finds/forms.py +++ b/archaeological_finds/forms.py @@ -453,6 +453,7 @@ class FindSelect(CustomForm, TableSelect):              reverse_lazy('autocomplete-contextrecord'),              associated_model=ContextRecord),          validators=[valid_id(ContextRecord)]) +    basket = forms.ChoiceField(label=_(u"Basket"), choices=[])      ope_relation_types = forms.ChoiceField(          label=_(u"Search within related operations"), choices=[])      cr_relation_types = forms.ChoiceField( @@ -497,6 +498,12 @@ class FindSelect(CustomForm, TableSelect):          if 'cr_relation_types' in self.fields:              self.fields['cr_relation_types'].choices = CRRelationType.get_types(                  ) +        if 'basket' in self.fields: +            self.fields['basket'].choices = [('', '--')] +            if self.current_user: +                self.fields['basket'].choices += [ +                    (b.pk, b.label) for b in models.FindBasket.objects.filter( +                        user=self.current_user).all()]      def get_input_ids(self):          ids = super(FindSelect, self).get_input_ids() diff --git a/archaeological_finds/models_finds.py b/archaeological_finds/models_finds.py index bdcb0d0ad..bda25f97c 100644 --- a/archaeological_finds/models_finds.py +++ b/archaeological_finds/models_finds.py @@ -853,6 +853,10 @@ class Find(BulkUpdatedItem, ValueGetter, BaseHistorizedItem, OwnPerms,              pgettext_lazy("key for text search", u"container-ref"),              'container__reference__iexact',          ), +        'basket': ( +            pgettext_lazy("key for text search", u"basket"), +            'basket__label__exact' +        ),      }      for v in ALT_NAMES.values():          for language_code, language_lbl in settings.LANGUAGES: diff --git a/ishtar_common/forms.py b/ishtar_common/forms.py index eec66e1a6..3dfcad09e 100644 --- a/ishtar_common/forms.py +++ b/ishtar_common/forms.py @@ -127,14 +127,15 @@ class CustomForm(object):      need_user_for_initialization = True      def __init__(self, *args, **kwargs): -        current_user = None +        self.current_user = None          if 'user' in kwargs:              try: -                current_user = kwargs.pop('user').ishtaruser +                self.current_user = kwargs.pop('user').ishtaruser              except AttributeError:                  pass          super(CustomForm, self).__init__(*args, **kwargs) -        available, excluded, json_fields = self.check_custom_form(current_user) +        available, excluded, json_fields = self.check_custom_form( +            self.current_user)          for exc in excluded:              if hasattr(self, 'fields'):                  self.remove_field(exc) | 
