From d7a3da21149ea5da231bcb7d3b2ca2b0b39ae68f Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Mon, 2 Oct 2023 20:20:13 +0200 Subject: ✨ links to import sheet MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ishtar_common/models_common.py | 15 +++++++++++++++ .../ishtar/blocks/sheet_creation_section.html | 18 ++++++++++++++++++ ishtar_common/utils.py | 3 --- ishtar_common/views_item.py | 4 ++++ 4 files changed, 37 insertions(+), 3 deletions(-) (limited to 'ishtar_common') diff --git a/ishtar_common/models_common.py b/ishtar_common/models_common.py index 1033be9ed..79c9600dd 100644 --- a/ishtar_common/models_common.py +++ b/ishtar_common/models_common.py @@ -1106,6 +1106,21 @@ class Imported(models.Model): class Meta: abstract = True + def _get_imports(self, user, key): + if not user.ishtaruser: + return [] + q = getattr(self, key) + if user.is_superuser or user.ishtaruser.has_right("view_import"): + return list(q.all()) + q = q.filter(Q(user=user.ishtaruser) | Q(importer_type__users__pk=user.ishtaruser.pk)) + return list(q.all()) + + def get_imports(self, user): + return self._get_imports(user, "imports") + + def get_imports_updated(self, user): + return self._get_imports(user, "imports_updated") + class JsonData(models.Model, CachedGen): data = JSONField(default=dict, blank=True) diff --git a/ishtar_common/templates/ishtar/blocks/sheet_creation_section.html b/ishtar_common/templates/ishtar/blocks/sheet_creation_section.html index 78a5ca75f..4460809d4 100644 --- a/ishtar_common/templates/ishtar/blocks/sheet_creation_section.html +++ b/ishtar_common/templates/ishtar/blocks/sheet_creation_section.html @@ -18,4 +18,22 @@ {% firstof item.history_date|date:"DATETIME_FORMAT" item.history.all.0.history_date|date:"DATETIME_FORMAT" %} {% endif %} +{% if get_import_list %} +
+
{% trans "Imports (creation)" %}
+
{% for imprt in get_import_list %}{% if loop.counter %} ; {% endif %} + + + {{imprt}}{% endfor %}
+
+{% endif %} +{% if get_import_updated %} +
+
{% trans "Imports (update)" %}
+
{% for imprt in get_import_updated %}{% if loop.counter %} ; {% endif %} + + + {{imprt}}{% endfor %}
+
+{% endif %} {% endif %} diff --git a/ishtar_common/utils.py b/ishtar_common/utils.py index dd2f3afe3..c9bf53fc7 100644 --- a/ishtar_common/utils.py +++ b/ishtar_common/utils.py @@ -1241,9 +1241,6 @@ def get_all_field_names(model): def get_all_related_m2m_objects_with_model(model, related_name=None): - for f in model._meta.get_fields(include_hidden=True): - if f.many_to_many and f.auto_created: - print(f.related_name) return [ (f, f.model if f.model != model else None) for f in model._meta.get_fields(include_hidden=True) diff --git a/ishtar_common/views_item.py b/ishtar_common/views_item.py index 7596f493f..ceef7a343 100644 --- a/ishtar_common/views_item.py +++ b/ishtar_common/views_item.py @@ -402,6 +402,10 @@ def show_item(model, name, extra_dct=None, model_for_perms=None): for perm in permissions: 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) + if hasattr(item, "history") and request.user.is_superuser: if date: try: -- cgit v1.2.3