diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2023-10-02 19:06:05 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2024-04-16 16:38:32 +0200 |
commit | 8ee253c715bbfb8175a1fa2ca83334a774b01941 (patch) | |
tree | 360b101c050fd8e6a36ed5505b1efdbff57248ab /ishtar_common/models_imports.py | |
parent | a7a0b8e6cf8d67cc50eefe79a65caa93f6059169 (diff) | |
download | Ishtar-8ee253c715bbfb8175a1fa2ca83334a774b01941.tar.bz2 Ishtar-8ee253c715bbfb8175a1fa2ca83334a774b01941.zip |
✨ import sheet
Diffstat (limited to 'ishtar_common/models_imports.py')
-rw-r--r-- | ishtar_common/models_imports.py | 21 |
1 files changed, 16 insertions, 5 deletions
diff --git a/ishtar_common/models_imports.py b/ishtar_common/models_imports.py index af907d44d..02b86849c 100644 --- a/ishtar_common/models_imports.py +++ b/ishtar_common/models_imports.py @@ -1744,15 +1744,20 @@ class ImportGroup(BaseImport): self.save() self._archive_pending = False - - def get_all_imported(self): + def _get_all_related(self, key): imported = [] for imp in self.imports.all(): - for related, zorg in get_all_related_m2m_objects_with_model(imp): + for related, zorg in get_all_related_m2m_objects_with_model(imp, related_name=key): accessor = related.get_accessor_name() imported += [(accessor, obj) for obj in getattr(imp, accessor).all()] return sorted(imported, key=lambda i: i[1].__class__.__name__) + def get_all_imported(self): + return self._get_all_related("imported_") + + def get_all_updated(self): + return self._get_all_related("import_updated_") + def save(self, *args, **kwargs): add = self._state.adding super().save(*args, **kwargs) @@ -2547,13 +2552,19 @@ class Import(BaseImport): self.save() self._archive_pending = False - def get_all_imported(self): + def _get_all_related(self, key): imported = [] - for related, zorg in get_all_related_m2m_objects_with_model(self): + for related, zorg in get_all_related_m2m_objects_with_model(self, related_name=key): accessor = related.get_accessor_name() imported += [(accessor, obj) for obj in getattr(self, accessor).all()] return imported + def get_all_imported(self): + return self._get_all_related("imported_") + + def get_all_updated(self): + return self._get_all_related("import_updated_") + def pre_delete_import(sender, **kwargs): # deleted imported items when an import is delete |