summaryrefslogtreecommitdiff
path: root/ishtar_common/models_common.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2023-12-15 18:03:55 +0100
committerÉtienne Loks <etienne.loks@iggdrasil.net>2024-04-16 16:38:33 +0200
commitef878c317f8aa33b5fdd92417a12e1385454e86e (patch)
treedb7dc16f560a2dd63fb02c28cbeda57e19abe905 /ishtar_common/models_common.py
parentc17d33377daa812fad40b1a85a29a8bbb9dc5a85 (diff)
downloadIshtar-ef878c317f8aa33b5fdd92417a12e1385454e86e.tar.bz2
Ishtar-ef878c317f8aa33b5fdd92417a12e1385454e86e.zip
🐛 Sheets - only display the first five updated imports links (refs #5680)
Diffstat (limited to 'ishtar_common/models_common.py')
-rw-r--r--ishtar_common/models_common.py25
1 files changed, 17 insertions, 8 deletions
diff --git a/ishtar_common/models_common.py b/ishtar_common/models_common.py
index dcb9d030d..658c7d157 100644
--- a/ishtar_common/models_common.py
+++ b/ishtar_common/models_common.py
@@ -1107,28 +1107,37 @@ class Imported(models.Model):
class Meta:
abstract = True
- def _get_imports(self, user, key):
+ def _get_imports(self, user, key, limit):
if not user.ishtaruser:
return []
q = getattr(self, key)
- lst = []
if user.is_superuser or user.ishtaruser.has_right("view_import"):
- lst = list(q.all())
+ q = q.all()
elif user.ishtaruser.has_right("view_own_import"):
- lst = q.filter(Q(user=user.ishtaruser) | Q(importer_type__users__pk=user.ishtaruser.pk))
+ q = q.filter(Q(user=user.ishtaruser) | Q(importer_type__users__pk=user.ishtaruser.pk))
+ else:
+ return []
+ q = q.order_by("-id")
+ has_limit = False
+ if q.count() > limit:
+ has_limit = True
+ q = q[:limit]
+ lst = list(q.all())
new_lst = []
for imprt in lst:
if imprt.group:
new_lst.append(imprt.group)
else:
new_lst.append(imprt)
+ if has_limit:
+ new_lst.append("...")
return new_lst
- def get_imports(self, user):
- return self._get_imports(user, "imports")
+ def get_imports(self, user, limit=None):
+ return self._get_imports(user, "imports", limit)
- def get_imports_updated(self, user):
- return self._get_imports(user, "imports_updated")
+ def get_imports_updated(self, user, limit=None):
+ return self._get_imports(user, "imports_updated", limit)
class JsonData(models.Model, CachedGen):