diff options
-rw-r--r-- | changelog/en/changelog_2022-06-15.md | 1 | ||||
-rw-r--r-- | changelog/fr/changelog_2023-01-25.md | 1 | ||||
-rw-r--r-- | ishtar_common/forms_common.py | 4 | ||||
-rw-r--r-- | ishtar_common/models_imports.py | 3 |
4 files changed, 6 insertions, 3 deletions
diff --git a/changelog/en/changelog_2022-06-15.md b/changelog/en/changelog_2022-06-15.md index 58eeeb387..ecf9474a9 100644 --- a/changelog/en/changelog_2022-06-15.md +++ b/changelog/en/changelog_2022-06-15.md @@ -3,6 +3,7 @@ v4.0.XX - 2099-12-31 ### Features/improvements ### - pre-import forms +- imports : ability to use natively LibreOffice and Excel files (need Libreoffice extension) - imports : refactoring of permission management - imports: allow to exclude some errors messages - imports: allow errors to be pointed out line by line diff --git a/changelog/fr/changelog_2023-01-25.md b/changelog/fr/changelog_2023-01-25.md index e04cadb18..de72163f5 100644 --- a/changelog/fr/changelog_2023-01-25.md +++ b/changelog/fr/changelog_2023-01-25.md @@ -3,6 +3,7 @@ v4.0.XX - 2099-12-31 ### Fonctionnalités/améliorations ### - ajout de formulaire pré-imports +- imports : possibilité d'utiliser nativement les fichiers tableurs LibreOffice et Excel (nécessite l'extension Libreoffice) - imports : refonte de la gestion des droits - imports : possibilité d'ignorer certains messages d'erreur - imports : possibilité de pointer les erreurs ligne par ligne diff --git a/ishtar_common/forms_common.py b/ishtar_common/forms_common.py index 0d739fbfb..993b03766 100644 --- a/ishtar_common/forms_common.py +++ b/ishtar_common/forms_common.py @@ -396,7 +396,7 @@ class NewImportForm(BaseImportForm): ) types = [".csv"] if settings.USE_LIBREOFFICE: - types += [".ods", ".xls", ".xlsx"] + types += [".ods", ".xls", ".xlsx", ".xlsm"] self._clean_imported_file(types=types) archive_required = self._need_archive(data) if archive_required and ( @@ -490,7 +490,7 @@ class NewImportGISForm(BaseImportForm): data = super().clean() types = ["zip", "gpkg", "csv"] if settings.USE_LIBREOFFICE: - types += [".ods", ".xls", ".xlsx"] + types += [".ods", ".xls", ".xlsx", ".xlsm"] self._clean_imported_file(types=types) return data diff --git a/ishtar_common/models_imports.py b/ishtar_common/models_imports.py index 2967c18aa..6cb95b0ee 100644 --- a/ishtar_common/models_imports.py +++ b/ishtar_common/models_imports.py @@ -2119,7 +2119,8 @@ class Import(BaseImport): if not settings.USE_LIBREOFFICE or not self.imported_file or not UnoCalc: return name = self.imported_file.name.lower() - if not name.endswith(".ods") and not name.endswith(".xls") and not name.endswith(".xlsx"): + ext = name.split(".")[-1] + if ext not in ("ods", "xls", "xlsx", "xlsm"): return imported_file_path = os.path.abspath(self.imported_file.path) media_root = os.path.abspath(settings.MEDIA_ROOT) |