diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2025-08-05 12:17:37 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2025-10-15 19:33:00 +0200 |
commit | fcede4c0e567733a04d4105ec95bccc81cf6bfbf (patch) | |
tree | dd2ba4983fd9f580a84203a9dea1373d5a6c8cee | |
parent | 9534f3630badba462ed94ba27fa0522eed8a28c0 (diff) | |
download | Ishtar-fcede4c0e567733a04d4105ec95bccc81cf6bfbf.tar.bz2 Ishtar-fcede4c0e567733a04d4105ec95bccc81cf6bfbf.zip |
✨ GIS API: manage "import immediatly"
-rw-r--r-- | ishtar_common/models_imports.py | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/ishtar_common/models_imports.py b/ishtar_common/models_imports.py index 130a692fd..399866a89 100644 --- a/ishtar_common/models_imports.py +++ b/ishtar_common/models_imports.py @@ -1593,8 +1593,6 @@ class BaseImport(models.Model, OwnPerms, SheetItem): @classmethod def get_permissions_for_actions(cls, user): - if not hasattr(user, "ishtaruser") or not user.ishtaruser: - return False, False, False, False permissions = { "can_view_own": False, "can_edit_own": False, @@ -1603,7 +1601,13 @@ class BaseImport(models.Model, OwnPerms, SheetItem): "can_view_all": False, "can_delete_all": False, } - ishtaruser = user.ishtaruser + IshtarUser = apps.get_model("ishtar_common", "IshtarUser") + if isinstance(user, IshtarUser): + ishtaruser = user + else: + if not hasattr(user, "ishtaruser") or not user.ishtaruser: + return permissions + ishtaruser = user.ishtaruser if ishtaruser.has_permission("ishtaradmin"): permissions["can_view_all"] = True permissions["can_edit_all"] = True @@ -3005,6 +3009,16 @@ class Import(BaseImport): self._maj_imported_file = True self.save() + if not self.import_immediatly or self.state != "C": + return + permissions = self.get_permissions_for_actions(self.user) + if not permissions["can_edit_all"] and not permissions["can_edit_own"]: + return + self.initialize() + if not self.pre_import_form_is_valid or self.need_matching(): + return + self.importation() + def pre_delete_import(sender, **kwargs): # deleted imported items when an import is delete |