diff options
-rw-r--r-- | archaeological_finds/forms.py | 29 | ||||
-rw-r--r-- | archaeological_finds/views.py | 2 |
2 files changed, 8 insertions, 23 deletions
diff --git a/archaeological_finds/forms.py b/archaeological_finds/forms.py index 2e144f96f..150acfa05 100644 --- a/archaeological_finds/forms.py +++ b/archaeological_finds/forms.py @@ -700,7 +700,7 @@ class QAFindBasketForm(IshtarForm): return self.fields['basket'].choices = [ (b.pk, "{} ({})".format(b.label, b.items.count())) - for b in models.FindBasket.objects.filter(user=self.user) + for b in models.FindBasket.objects.filter(user=self.user).distinct() ] def clean(self): @@ -983,7 +983,12 @@ class FindSelect(HistorySelect): cr_relation_types = forms.ChoiceField( label=_(u"Search within related context records"), choices=[]) - basket = forms.ChoiceField(label=_(u"Basket"), choices=[]) + basket = forms.IntegerField( + label=_(u"Basket"), + widget=widgets.JQueryAutoComplete( + reverse_lazy('autocomplete-findbasket'), + associated_model=models.FindBasket), + validators=[valid_id(models.FindBasket)]) description = forms.CharField(label=_(u"Description")) base_finds__discovery_date__after = forms.DateField( @@ -1181,13 +1186,6 @@ class FindSelect(HistorySelect): 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( - models.FindBasket.get_query_owns(self.current_user) - ).all()] def get_input_ids(self): ids = super(FindSelect, self).get_input_ids() @@ -1635,7 +1633,6 @@ class SelectFindBasketForm(IshtarForm): associated_models = {'basket': models.FindBasket} need_user_for_initialization = True - basket = forms.ChoiceField(label=_(u"Basket"), required=True, choices=[]) basket = forms.IntegerField( label=_(u"Basket"), widget=widgets.JQueryAutoComplete( @@ -1649,19 +1646,7 @@ class SelectFindBasketForm(IshtarForm): self.user = kwargs.pop('user') if hasattr(self.user, 'ishtaruser'): self.user = self.user.ishtaruser - super(SelectFindBasketForm, self).__init__(*args, **kwargs) - if not self.user: - return - self.fields['basket'].choices = self.get_basket_choices() - - def get_basket_choices(self): - return [('', u'--')] + [ - (str(b.pk), "{} ({})".format(b.label, b.items.count())) - for b in models.FindBasket.objects.filter( - Q(user=self.user) | Q(shared_write_with=self.user) - ).distinct() - ] class FindBasketAddItemForm(forms.Form): diff --git a/archaeological_finds/views.py b/archaeological_finds/views.py index e5c09371b..f440adea6 100644 --- a/archaeological_finds/views.py +++ b/archaeological_finds/views.py @@ -177,7 +177,7 @@ def autocomplete_findbasket(request, current_right=None): 'label')[:limit] for obj in objects: if obj.id not in list(result.keys()): - result[obj.id] = u"{} - {}".format(obj.label, obj.user)[:60] + result[obj.id] = obj.label limit -= 1 if not limit: break |