summaryrefslogtreecommitdiff
path: root/archaeological_finds
diff options
context:
space:
mode:
Diffstat (limited to 'archaeological_finds')
-rw-r--r--archaeological_finds/forms.py6
-rw-r--r--archaeological_finds/models_finds.py1
-rw-r--r--archaeological_finds/views.py5
3 files changed, 7 insertions, 5 deletions
diff --git a/archaeological_finds/forms.py b/archaeological_finds/forms.py
index d5ce0e025..637e49ec3 100644
--- a/archaeological_finds/forms.py
+++ b/archaeological_finds/forms.py
@@ -684,7 +684,7 @@ class QAFindBasketForm(IshtarForm):
if not self.user:
return
self.fields['basket'].choices = [
- (b.pk, unicode(b))
+ (b.pk, u"{} ({})".format(b.label, b.items.count()))
for b in models.FindBasket.objects.filter(user=self.user)
]
@@ -1541,10 +1541,10 @@ class SelectFindBasketForm(IshtarForm):
def get_basket_choices(self):
return [('', u'--')] + [
- (str(b.pk), unicode(b))
+ (str(b.pk), u"{} ({})".format(b.label, b.items.count()))
for b in models.FindBasket.objects.filter(
Q(user=self.user) | Q(shared_write_with=self.user)
- )
+ ).distinct()
]
diff --git a/archaeological_finds/models_finds.py b/archaeological_finds/models_finds.py
index a172ea1a3..15b6451d6 100644
--- a/archaeological_finds/models_finds.py
+++ b/archaeological_finds/models_finds.py
@@ -613,6 +613,7 @@ class FindBasket(Basket, MainItem):
class Meta:
verbose_name = _(u"Basket")
+ ordering = ('label', )
permissions = (
("view_find", u"Can view all Finds"),
("view_own_find", u"Can view own Find"),
diff --git a/archaeological_finds/views.py b/archaeological_finds/views.py
index d4faff71a..e4f8ab66d 100644
--- a/archaeological_finds/views.py
+++ b/archaeological_finds/views.py
@@ -125,7 +125,7 @@ def show_find_extra(request, find):
q = models.FindBasket.objects.filter(items__pk=find.pk).filter(
Q(user=user) | Q(shared_with__pk=user.pk) |
Q(shared_write_with__pk=user.pk)
- )
+ ).distinct()
return {"baskets": [(basket.pk, basket.full_label) for basket in q.all()]}
@@ -147,7 +147,8 @@ def autocomplete_findbasket(request, current_right=None):
limit = 20
query = query & models.FindBasket.get_write_query_owns(
request.user.ishtaruser)
- items = models.FindBasket.objects.filter(query).order_by('label')[:limit]
+ items = models.FindBasket.objects.filter(query).distinct().order_by(
+ 'label')[:limit]
data = json.dumps(
[{'id': item.pk,
'value': u"{} - {}".format(item.label, item.user)[:60]}