summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ishtar_common/models_common.py25
-rw-r--r--ishtar_common/templates/ishtar/blocks/sheet_creation_section.html12
-rw-r--r--ishtar_common/views_item.py4
3 files changed, 25 insertions, 16 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):
diff --git a/ishtar_common/templates/ishtar/blocks/sheet_creation_section.html b/ishtar_common/templates/ishtar/blocks/sheet_creation_section.html
index fc969bb17..f23561afa 100644
--- a/ishtar_common/templates/ishtar/blocks/sheet_creation_section.html
+++ b/ishtar_common/templates/ishtar/blocks/sheet_creation_section.html
@@ -21,19 +21,19 @@
{% if get_import_list %}
<dl class="col-12 col-md-6 col-lg-3 flex-wrap">
<dt>{% trans "Imports (creation)" %}</dt>
- <dd>{% for imprt in get_import_list %}{% if loop.counter %} ; {% endif %}
- <a class="display_details" href="#" onclick="load_window('{{ imprt.get_show_url }}')">
+ <dd>{% for imprt in get_import_list %}{% if forloop.counter0 %} ; {% endif %}
+ {% if imprt.get_show_url %}<a class="display_details" href="#" onclick="load_window('{{ imprt.get_show_url }}')">
<i class="fa fa-info-circle" aria-hidden="true"></i>
- </a> {{imprt}}{% endfor %}</dd>
+ </a>{% endif %} {{imprt}}{% endfor %}</dd>
</dl>
{% endif %}
{% if get_import_updated %}
<dl class="col-12 col-md-6 col-lg-3 flex-wrap">
<dt>{% trans "Imports (update)" %}</dt>
- <dd>{% for imprt in get_import_updated %}{% if loop.counter %} ; {% endif %}
- <a class="display_details" href="#" onclick="load_window('{{ imprt.get_show_url }}')">
+ <dd>{% for imprt in get_import_updated %}{% if forloop.counter0 %} ; {% endif %}
+ {% if imprt.get_show_url %}<a class="display_details" href="#" onclick="load_window('{{ imprt.get_show_url }}')">
<i class="fa fa-info-circle" aria-hidden="true"></i>
- </a> {{imprt}}{% endfor %}</dd>
+ </a>{% endif %} {{imprt}}{% endfor %}</dd>
</dl>
{% endif %}
{% endif %}
diff --git a/ishtar_common/views_item.py b/ishtar_common/views_item.py
index ceef7a343..d71775921 100644
--- a/ishtar_common/views_item.py
+++ b/ishtar_common/views_item.py
@@ -403,8 +403,8 @@ def show_item(model, name, extra_dct=None, model_for_perms=None):
dct["permission_" + perm] = True
if hasattr(item, "get_imports"):
- dct["get_import_list"] = item.get_imports(request.user)
- dct["get_import_updated"] = item.get_imports_updated(request.user)
+ dct["get_import_list"] = item.get_imports(request.user, limit=5)
+ dct["get_import_updated"] = item.get_imports_updated(request.user, limit=5)
if hasattr(item, "history") and request.user.is_superuser:
if date: