From fcede4c0e567733a04d4105ec95bccc81cf6bfbf Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Tue, 5 Aug 2025 12:17:37 +0200 Subject: ✨ GIS API: manage "import immediatly" MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ishtar_common/models_imports.py | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) (limited to 'ishtar_common/models_imports.py') 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 -- cgit v1.2.3