fix: Correction du Establishment context au refresh

This commit is contained in:
Luc SORIGNET
2025-05-01 12:19:07 +02:00
parent 31fdc612b1
commit 43e301ed64
9 changed files with 136 additions and 86 deletions

View File

@ -19,7 +19,7 @@ export default function Page() {
const [errorMessage, setErrorMessage] = useState('');
const [userFieldError, setUserFieldError] = useState('');
const [passwordFieldError, setPasswordFieldError] = useState('');
const { setUser } = useEstablishment();
const { initializeContextWithSession } = useEstablishment();
const [isLoading, setIsLoading] = useState(false);
const router = useRouter();
@ -40,35 +40,18 @@ export default function Page() {
setErrorMessage(result.error);
setIsLoading(false);
} else {
// On initialise le contexte establishement avec la session
getSession()
.then((session) => {
if (!session || !session.user) {
throw new Error('Session not found');
}
const user = session.user;
logger.debug('User Session:', user);
setUser(session.user);
if (session.user.roles && session.user.roles.length > 0) {
let roleIndex = 0;
if (
session.user.roles.length > session.user.roleIndexLoginDefault
) {
roleIndex = session.user.roleIndexLoginDefault;
}
const role = session.user.roles[roleIndex].role_type;
initializeContextWithSession(session, (role) => {
const url = getRedirectUrlFromRole(role);
if (url) {
router.push(url);
} else {
setIsLoading(false);
setErrorMessage('Type de rôle non géré');
}
} else {
setIsLoading(false);
setErrorMessage(
'Aucun rôle trouvé pour le profil sélectionné.'
);
}
});
setIsLoading(false);
})
.catch((error) => {
logger.error(