summaryrefslogtreecommitdiff
path: root/ishtar_common
diff options
context:
space:
mode:
Diffstat (limited to 'ishtar_common')
-rw-r--r--ishtar_common/utils.py27
1 files changed, 13 insertions, 14 deletions
diff --git a/ishtar_common/utils.py b/ishtar_common/utils.py
index 82d4f2caa..6c1b70863 100644
--- a/ishtar_common/utils.py
+++ b/ishtar_common/utils.py
@@ -110,19 +110,22 @@ def get_random_item_image_link(request):
from archaeological_finds.models import Find
ope_image_nb, cr_image_nb, find_image_nb = 0, 0, 0
+ q_ope = Operation.objects.filter(
+ thumbnail__isnull=False).exclude(thumbnail='')
+ q_cr = ContextRecord.objects.filter(
+ thumbnail__isnull=False).exclude(thumbnail='')
+ q_find = Find.objects.filter(
+ thumbnail__isnull=False).exclude(thumbnail='')
if request.user.has_perm('archaeological_operations.view_operation',
Operation):
- ope_image_nb = Operation.objects.filter(
- thumbnail__isnull=False).count()
+ ope_image_nb = q_ope.count()
if request.user.has_perm(
'archaeological_context_records.view_contextrecord',
ContextRecord):
- cr_image_nb = ContextRecord.objects.filter(
- thumbnail__isnull=False).count()
+ cr_image_nb = q_cr.count()
if request.user.has_perm('archaeological_finds.view_find',
Find):
- find_image_nb = Find.objects.filter(
- thumbnail__isnull=False).count()
+ find_image_nb = q_find.count()
image_total = ope_image_nb + cr_image_nb + find_image_nb
if not image_total:
@@ -130,15 +133,11 @@ def get_random_item_image_link(request):
image_nb = random.randint(0, image_total - 1)
if image_nb >= 0 and image_nb < ope_image_nb:
- return _get_image_link(
- Operation.objects.filter(thumbnail__isnull=False).all()[image_nb])
+ return _get_image_link(q_ope.all()[image_nb])
if image_nb >= ope_image_nb and image_nb < (cr_image_nb + ope_image_nb):
- return _get_image_link(
- ContextRecord.objects.filter(thumbnail__isnull=False).all()[
- image_nb - ope_image_nb])
+ return _get_image_link(q_cr.all()[image_nb - ope_image_nb])
if image_nb >= (cr_image_nb + ope_image_nb):
- return _get_image_link(
- Find.objects.filter(thumbnail__isnull=False).all()[
- image_nb - ope_image_nb - cr_image_nb])
+ return _get_image_link(q_find.all()[
+ image_nb - ope_image_nb - cr_image_nb])
# should never happen except in case of deletion during the excution
return ''