From 3dcdf0fb816c10de0dde3ed04f788a2267b1467d Mon Sep 17 00:00:00 2001 From: tristan Date: Mon, 30 Mar 2026 13:06:27 +0000 Subject: [PATCH] [#SIRH-18] Fix connexion conducteur (#10) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit | Numéro du ticket | Titre du ticket | |------------------|-----------------| | | | ## Description de la PR ## Modification du .env ## Check list - [ ] Pas de régression - [ ] TU/TI/TF rédigée - [ ] TU/TI/TF OK - [ ] CHANGELOG modifié Reviewed-on: https://gitea.malio.fr/MALIO-DEV/SIRH/pulls/10 Co-authored-by: tristan Co-committed-by: tristan --- .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 {} }