diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2023-10-02 19:06:05 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2024-02-05 10:51:52 +0100 |
commit | a9724939bde8190cd703cfb3491a4374f92e9a40 (patch) | |
tree | 6e7d9806c603b930c1fdf491c98168b37df812b1 /ishtar_common/models_imports.py | |
parent | 443e6592b9a6ea77feeccc9a9cdd7d3e81bd45aa (diff) | |
download | Ishtar-a9724939bde8190cd703cfb3491a4374f92e9a40.tar.bz2 Ishtar-a9724939bde8190cd703cfb3491a4374f92e9a40.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 |