summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--archaeological_finds/forms.py6
-rw-r--r--archaeological_finds/models_finds.py1
-rw-r--r--archaeological_finds/views.py5
-rw-r--r--ishtar_common/models.py3
4 files changed, 9 insertions, 6 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]}
diff --git a/ishtar_common/models.py b/ishtar_common/models.py
index c0243787b..f49bd9560 100644
--- a/ishtar_common/models.py
+++ b/ishtar_common/models.py
@@ -3691,6 +3691,7 @@ class Basket(FullSearch, OwnPerms):
class Meta:
abstract = True
+ ordering = ('label', )
unique_together = (('label', 'user'),)
def __unicode__(self):
@@ -3710,7 +3711,7 @@ class Basket(FullSearch, OwnPerms):
@property
def full_label(self):
- return u"{} - {}".format(self.label, self.user)
+ return u"{} - {} ({})".format(self.label, self.user, self.items.count())
@classmethod
def get_short_menu_class(cls, pk):