diff --git a/src/components/menus/user/UserLeftMenu.vue b/src/components/menus/user/UserLeftMenu.vue index e0c28004..a0ccbb51 100644 --- a/src/components/menus/user/UserLeftMenu.vue +++ b/src/components/menus/user/UserLeftMenu.vue @@ -60,6 +60,16 @@ const menu_items = computed(() => [ 'user' ] }, + { + name: t('user_menu.my_permissions'), + route: '/user/permissions', + icon: 'fas fa-user-shield', + children: [], + permissions: [ + 'user', + 'SUBUSERS_LIST' + ] + }, ]); diff --git a/src/i18n/source/da/phrases/compat/user_dashboard/index.json b/src/i18n/source/da/phrases/compat/user_dashboard/index.json index a73bf9c1..d02637ff 100644 --- a/src/i18n/source/da/phrases/compat/user_dashboard/index.json +++ b/src/i18n/source/da/phrases/compat/user_dashboard/index.json @@ -53,6 +53,30 @@ "menu": { "statistics": "@:{'phrases.compat.global.statistics'}" }, + "permissions": { + "card_chauffor_label": "Chauffør (standard)", + "card_chauffor_description": "Kan bruge døgnvask, oprette bookinger, se køretøjer og ordrer.", + "card_booking_label": "Bookingkoodinator", + "card_booking_description": "Kan oprette og redigere bookinger samt se køretøjer og ordrer.", + "card_intro": "Vælg den rolle, som nye chauffører som standard skal have, når de oprettes via QR-kode.", + "groups": { + "vehicles": "Køretøjer", + "selfserve": "Døgnvask", + "bookings": "Bookinger", + "orders": "Ordrer", + "driver_management": "Chaufførstyring" + }, + "loading": "Henter tilladelser...", + "save": "Gem standardrolle", + "saved": "Standardrollen er gemt.", + "save_error": "Standardrollen kunne ikke gemmes.", + "selected_template": "Valgt rolle: {label}", + "subtitle": "Vælg standardtilladelser for nye chauffører.", + "toggle_booking_coordinator": "Bookingkoodinator", + "toggle_chauffor": "Chauffør", + "toggle_description": "De 5 kategorier nedenfor viser, hvad rollen giver adgang til.", + "title": "Mine tilladelser" + }, "orders": { "single_subtitle": "@.capitalize:{'terms.glossary.se'} @:{'terms.glossary.detaljer'} @:{'terms.glossary.om'} transaktionen", "subtitle": "@.capitalize:{'terms.glossary.se'} @:{'terms.glossary.dine'} @:{'terms.glossary.vaske'}", diff --git a/src/i18n/source/da/phrases/compat/user_menu/index.json b/src/i18n/source/da/phrases/compat/user_menu/index.json index f6b1f508..4958888c 100644 --- a/src/i18n/source/da/phrases/compat/user_menu/index.json +++ b/src/i18n/source/da/phrases/compat/user_menu/index.json @@ -3,6 +3,7 @@ "user_menu": { "my_bookings": "@:{'terms.glossary.mine'} @:{'terms.glossary.bookinger'}", "my_invoices": "@:{'terms.glossary.mine'} @:{'terms.glossary.fakturaer'}", + "my_permissions": "@:{'terms.glossary.mine'} @:{'terms.glossary.tilladelser'}", "my_vehicles": "@:{'terms.glossary.mine'} @:{'terms.glossary.køretøjer'}", "my_washes": "@:{'terms.glossary.mine'} @:{'terms.glossary.vaske'}" } diff --git a/src/router.js b/src/router.js index a866dec4..59d9b53d 100644 --- a/src/router.js +++ b/src/router.js @@ -146,6 +146,7 @@ const DepartmentTimeBookingsTypes = lazyView('@/views/dashboards/departmentDashb const DepartmentModulesSetup = lazyView('@/views/dashboards/superUserDashboard/department/modules/DepartmentModulesSetup.vue'); const Vehicle = lazyView('@/views/dashboards/superUserDashboard/vehicle/Vehicle.vue'); const MyInvoices = lazyView('@/views/dashboards/userDashboard/invoices/MyInvoices.vue'); +const MyPermissions = lazyView('@/views/dashboards/userDashboard/permissions/MyPermissions.vue'); const MicrosoftCallbackToken = lazyView('@/views/callback/microsoft/MicrosoftCallbackToken.vue'); const ConfigurationEntra = lazyView('@/views/dashboards/superUserDashboard/configuration/ConfigurationEntra.vue'); const DepartmentTimeBookingsNew = lazyView('@/views/dashboards/departmentDashboard/modules/time-bookings/book/DepartmentTimeBookingsNew.vue'); @@ -369,6 +370,12 @@ export const router = createRouter({ component: MyInvoices, meta: { middleware: authMiddleware } }, + { + name: 'mypermissions', + path: '/user/permissions', + component: MyPermissions, + meta: { middleware: authMiddleware } + }, { name: 'myorder', path: '/user/orders/:orderId', diff --git a/src/views/dashboards/userDashboard/permissions/MyPermissions.vue b/src/views/dashboards/userDashboard/permissions/MyPermissions.vue new file mode 100644 index 00000000..5d6d8733 --- /dev/null +++ b/src/views/dashboards/userDashboard/permissions/MyPermissions.vue @@ -0,0 +1,330 @@ + + + + +