From c56b35c6b53b75449f5bb9a3500f9acebed76367 Mon Sep 17 00:00:00 2001 From: tristan Date: Mon, 30 Mar 2026 15:05:48 +0200 Subject: [PATCH] fix : connexion Conducteur --- .idea/data_source_mapping.xml | 6 ------ README.md | 5 +++++ frontend/layouts/default.vue | 11 +++++++---- frontend/pages/login.vue | 3 ++- frontend/services/dto/user-data.ts | 1 + src/Entity/User.php | 6 ++++++ 6 files changed, 21 insertions(+), 11 deletions(-) delete mode 100644 .idea/data_source_mapping.xml diff --git a/.idea/data_source_mapping.xml b/.idea/data_source_mapping.xml deleted file mode 100644 index 99c0193..0000000 --- a/.idea/data_source_mapping.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/README.md b/README.md index 566d73d..f4b65d2 100644 --- a/README.md +++ b/README.md @@ -17,3 +17,8 @@ Remplie la base avec le dump : ```shell docker compose exec -T db psql -U root -d sirh < sirh.sql ``` + +## Mettre SUPER_ADMIN sur un user +```sql +UPDATE users SET roles = '["ROLE_ADMIN","ROLE_SUPER_ADMIN"]' WHERE username = 'emilie'; +``` diff --git a/frontend/layouts/default.vue b/frontend/layouts/default.vue index 3e3fbe7..613a12f 100644 --- a/frontend/layouts/default.vue +++ b/frontend/layouts/default.vue @@ -19,6 +19,7 @@

Heures Conducteurs

@@ -115,5 +117,6 @@ const auth = useAuthStore() const {version} = useAppVersion() const isAdmin = computed(() => auth.user?.roles?.includes('ROLE_ADMIN') ?? false) const isSuperAdmin = computed(() => auth.user?.roles?.includes('ROLE_SUPER_ADMIN') ?? false) +const isDriver = computed(() => auth.user?.isDriver ?? false) const route = useRoute() diff --git a/frontend/pages/login.vue b/frontend/pages/login.vue index 8db66d6..95672b5 100644 --- a/frontend/pages/login.vue +++ b/frontend/pages/login.vue @@ -69,7 +69,8 @@ const handleSubmit = async () => { await auth.login(username.value, password.value) const isAdmin = auth.user?.roles?.includes('ROLE_ADMIN') - await router.push(isAdmin ? '/calendar' : '/hours') + const isDriver = auth.user?.isDriver + await router.push(isAdmin ? '/calendar' : isDriver ? '/driver-hours' : '/hours') } finally { isSubmitting.value = false } diff --git a/frontend/services/dto/user-data.ts b/frontend/services/dto/user-data.ts index bfe1fec..12ae5ba 100644 --- a/frontend/services/dto/user-data.ts +++ b/frontend/services/dto/user-data.ts @@ -2,4 +2,5 @@ export type UserData = { id: number username: string roles: string[] + isDriver: boolean } diff --git a/src/Entity/User.php b/src/Entity/User.php index b102611..bacd83d 100644 --- a/src/Entity/User.php +++ b/src/Entity/User.php @@ -224,5 +224,11 @@ class User implements UserInterface, PasswordAuthenticatedUserInterface return $this; } + #[Groups(['user:read'])] + public function getIsDriver(): bool + { + return $this->employee?->getIsDriver() ?? false; + } + public function eraseCredentials(): void {} }