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 {} }