diff --git a/aleksis/apps/csv_import/frontend/index.js b/aleksis/apps/csv_import/frontend/index.js new file mode 100644 index 0000000000000000000000000000000000000000..4ce39967f46ae64a8ef67bc74f80f6956d2a3273 --- /dev/null +++ b/aleksis/apps/csv_import/frontend/index.js @@ -0,0 +1,49 @@ +export default { + name: "csv", + path: "#", + component: () => import("aleksis.core/components/Parent.vue"), + meta: { + inMenu: true, + titleKey: "csv.menu_title", + icon: "mdi-swap-vertical", + permission: "csv_import.view_csv_menu_rule", + }, + children: [ + { + path: "import/", + component: () => import("aleksis.core/components/LegacyBaseTemplate.vue"), + name: "csv.csvImport", + meta: { + inMenu: true, + titleKey: "csv.import.menu_title", + icon: "mdi-table-arrow-left", + permission: "csv_import.import_data_rule", + }, + props: { + byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true, + }, + }, + { + path: "templates/", + component: () => import("aleksis.core/components/LegacyBaseTemplate.vue"), + name: "csv.importTemplates", + meta: { + inMenu: true, + titleKey: "csv.import_template.menu_title", + icon: "mdi-table-cog", + permission: "csv_import.view_importtemplate_rule" + }, + props: { + byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true, + }, + }, + { + path: "templates/upload/", + component: () => import("aleksis.core/components/LegacyBaseTemplate.vue"), + name: "csv.uploadImportTemplate", + props: { + byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true, + }, + }, + ] +} diff --git a/aleksis/apps/csv_import/frontend/messages/de.json b/aleksis/apps/csv_import/frontend/messages/de.json new file mode 100644 index 0000000000000000000000000000000000000000..47dcaa606a989d50db1f3c278f1ad802078899d6 --- /dev/null +++ b/aleksis/apps/csv_import/frontend/messages/de.json @@ -0,0 +1,11 @@ +{ + "csv": { + "menu_title": "CSV-Import", + "import": { + "menu_title": "CSV-Datei importieren" + }, + "import_template": { + "menu_title": "Import-Vorlagen" + } + } +} diff --git a/aleksis/apps/csv_import/frontend/messages/en.json b/aleksis/apps/csv_import/frontend/messages/en.json new file mode 100644 index 0000000000000000000000000000000000000000..f02d651cc4828195584696c6c024297d81888f0b --- /dev/null +++ b/aleksis/apps/csv_import/frontend/messages/en.json @@ -0,0 +1,11 @@ +{ + "csv": { + "menu_title": "CSV Import", + "import": { + "menu_title": "Import CSV File" + }, + "import_template": { + "menu_title": "Import Templates" + } + } +} diff --git a/aleksis/apps/csv_import/rules.py b/aleksis/apps/csv_import/rules.py index c1a2a19b2f80672b346f3e35c40704aedb57b371..a30f37ac5967f6ab6a0929759f5ab8f48bd25c3e 100644 --- a/aleksis/apps/csv_import/rules.py +++ b/aleksis/apps/csv_import/rules.py @@ -13,3 +13,6 @@ upload_importtemplate_predicate = has_person & ( | has_global_perm("csv_import.change_importtemplate") ) add_perm("csv_import.upload_importtemplate_rule", upload_importtemplate_predicate) + +view_csv_menu_predicate = import_data_predicate | view_importtemplate_predicate | upload_importtemplate_predicate +add_perm("csv_import.view_csv_menu_rule", view_csv_menu_predicate) diff --git a/aleksis/apps/csv_import/urls.py b/aleksis/apps/csv_import/urls.py index 943cc6836fd7bcbef6251e408c1879bd1b56458a..5c87e4648a74567e1c91da21b4ba5c4bea0d6f0c 100644 --- a/aleksis/apps/csv_import/urls.py +++ b/aleksis/apps/csv_import/urls.py @@ -3,7 +3,7 @@ from django.urls import path from . import views urlpatterns = [ - path("import", views.csv_import, name="csv_import"), + path("import/", views.csv_import, name="csv_import"), path("templates/", views.ImportTemplateListView.as_view(), name="import_templates"), path( "templates/upload/", views.ImportTemplateUploadView.as_view(), name="upload_import_template" diff --git a/pyproject.toml b/pyproject.toml index bbc3330383bb480488d494a55b0ed1d4236b4669..cd1cd628f0c2947e708517c316532f4ed0aa0572 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -37,7 +37,7 @@ python = "^3.9" pandas = "^1.0.0" phonenumbers = "^8.10" dateparser = "^1.0.0" -aleksis-core = "^2.7.3" +aleksis-core = "^3.0.dev3" "ruamel.yaml" = "^0.17.19" tqdm = "^4.62.3" chardet = "^5.0.0"