summaryrefslogtreecommitdiff
path: root/ishtar_common/models_imports.py
diff options
context:
space:
mode:
Diffstat (limited to 'ishtar_common/models_imports.py')
-rw-r--r--ishtar_common/models_imports.py20
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