From 07c675968a8f4a78855f5015a0b3649c19f20f37 Mon Sep 17 00:00:00 2001 From: olli Date: Sat, 8 Nov 2025 17:07:15 +0100 Subject: [PATCH] feat: Add role management functionality with CRUD operations and update user roles handling --- assets/js/App.vue | 3 + assets/js/router.js | 2 + assets/js/views/RoleManagement.vue | 688 +++++++++++++++++++++++++++++ assets/js/views/UserManagement.vue | 98 +++- assets/styles/app.scss | 3 +- cookies.txt | 6 + src/Entity/Module.php | 25 ++ src/Entity/Role.php | 24 + src/Entity/RolePermission.php | 63 +++ 9 files changed, 907 insertions(+), 5 deletions(-) create mode 100644 assets/js/views/RoleManagement.vue create mode 100644 cookies.txt diff --git a/assets/js/App.vue b/assets/js/App.vue index 38ed836..5e71181 100644 --- a/assets/js/App.vue +++ b/assets/js/App.vue @@ -30,6 +30,9 @@ Benutzerverwaltung + + Rollenverwaltung +
diff --git a/assets/js/router.js b/assets/js/router.js index 8311c35..1f2fd03 100644 --- a/assets/js/router.js +++ b/assets/js/router.js @@ -4,6 +4,7 @@ import ContactList from './views/ContactList.vue'; import CompanyList from './views/CompanyList.vue'; import DealList from './views/DealList.vue'; import UserManagement from './views/UserManagement.vue'; +import RoleManagement from './views/RoleManagement.vue'; const routes = [ { path: '/', name: 'dashboard', component: Dashboard }, @@ -11,6 +12,7 @@ const routes = [ { path: '/companies', name: 'companies', component: CompanyList }, { path: '/deals', name: 'deals', component: DealList }, { path: '/users', name: 'users', component: UserManagement, meta: { requiresAdmin: true } }, + { path: '/roles', name: 'roles', component: RoleManagement, meta: { requiresAdmin: true } }, ]; const router = createRouter({ diff --git a/assets/js/views/RoleManagement.vue b/assets/js/views/RoleManagement.vue new file mode 100644 index 0000000..36f81be --- /dev/null +++ b/assets/js/views/RoleManagement.vue @@ -0,0 +1,688 @@ +