diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2023-10-02 20:20:13 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2024-04-16 16:38:32 +0200 |
commit | d7a3da21149ea5da231bcb7d3b2ca2b0b39ae68f (patch) | |
tree | cd161832e89d0e613d1c0c1a9d0132a5190bfb3a /ishtar_common | |
parent | 8ee253c715bbfb8175a1fa2ca83334a774b01941 (diff) | |
download | Ishtar-d7a3da21149ea5da231bcb7d3b2ca2b0b39ae68f.tar.bz2 Ishtar-d7a3da21149ea5da231bcb7d3b2ca2b0b39ae68f.zip |
✨ links to import sheet
Diffstat (limited to 'ishtar_common')
-rw-r--r-- | ishtar_common/models_common.py | 15 | ||||
-rw-r--r-- | ishtar_common/templates/ishtar/blocks/sheet_creation_section.html | 18 | ||||
-rw-r--r-- | ishtar_common/utils.py | 3 | ||||
-rw-r--r-- | ishtar_common/views_item.py | 4 |
4 files changed, 37 insertions, 3 deletions
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 @@ <small>{% firstof item.history_date|date:"DATETIME_FORMAT" item.history.all.0.history_date|date:"DATETIME_FORMAT" %}</small> </div> {% endif %} +{% 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('{% url 'show-import' imprt.pk %}')"> + <i class="fa fa-info-circle" aria-hidden="true"></i> + </a> {{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('{% url 'show-import' imprt.pk %}')"> + <i class="fa fa-info-circle" aria-hidden="true"></i> + </a> {{imprt}}{% endfor %}</dd> +</dl> +{% 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: |