Skip to content

Commit

Permalink
[PRO CONNECT][VALIDATION CGU] Demande la validation des CGU lorsq’un …
Browse files Browse the repository at this point in the history
…Aidant se connecte via ProConnect et n’a pas de compte Aidant associé
  • Loading branch information
bbougon committed Dec 24, 2024
1 parent cfc7a7e commit c356ed9
Show file tree
Hide file tree
Showing 21 changed files with 457 additions and 884 deletions.
14 changes: 7 additions & 7 deletions mon-aide-cyber-ui/src/RouteurPrive.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,17 @@ import { Suspense } from 'react';
import './assets/styles/index.scss';
import { Route, Routes } from 'react-router-dom';
import { RequiertAuthentification } from './fournisseurs/RequiertAuthentification.tsx';
import { RequiertAidantSansEspace } from './fournisseurs/RequiertAidantSansEspace.tsx';
import { RequiertEspaceAidant } from './fournisseurs/RequiertEspaceAidant.tsx';
import { NecessiteValidationCGU } from './fournisseurs/NecessiteValidationCGU.tsx';
import { RequiertValidationCGU } from './fournisseurs/RequiertValidationCGU.tsx';
import { LayoutAidant } from './composants/layout/layout-aidant/LayoutAidant.tsx';
import { EcranCreationEspaceAidant } from './domaine/espace-aidant/creation-espace-aidant/EcranCreationEspaceAidant.tsx';
import { EcranDiagnostics } from './domaine/espace-aidant/ecran-diagnostics/EcranDiagnostics.tsx';
import { EcranMesPreferences } from './domaine/espace-aidant/mon-compte/ecran-mes-preferences/EcranMesPreferences.tsx';
import { EcranMesInformations } from './domaine/espace-aidant/mon-compte/ecran-mes-informations/EcranMesInformations.tsx';
import { LayoutDiagnostic } from './composants/layout/LayoutDiagnostic.tsx';
import { ComposantIntercepteur } from './composants/intercepteurs/ComposantIntercepteur.tsx';
import { EcranDiagnosticAidant } from './composants/diagnostic/EcranDiagnosticAidant.tsx';
import { ComposantRestitutionAidant } from './composants/diagnostic/ComposantRestitution/ComposantRestitution.tsx';
import { EcranValidationSignatureCGU } from './domaine/validation-cgu/EcranValidationSignatureCGU.tsx';

export const RouteurPrive = () => {
return (
Expand All @@ -28,19 +28,19 @@ export const RouteurPrive = () => {
<Route
element={
<Suspense>
<RequiertAidantSansEspace />
<NecessiteValidationCGU />
</Suspense>
}
>
<Route
path="finalise-creation-espace-aidant"
element={<EcranCreationEspaceAidant />}
path="valide-signature-cgu"
element={<EcranValidationSignatureCGU />}
></Route>
</Route>
<Route
element={
<Suspense>
<RequiertEspaceAidant />
<RequiertValidationCGU />
</Suspense>
}
>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@ import { Footer } from '../layout/Footer.tsx';
import { LienMAC } from '../LienMAC.tsx';
import { ReactElement, useEffect, useState } from 'react';
import { Action, Liens } from '../../domaine/Lien.ts';
import { ROUTE_AIDANT } from '../../domaine/MoteurDeLiens.ts';
import { FallbackProps } from 'react-error-boundary';
import { useUtilisateur } from '../../fournisseurs/hooks.ts';
import { MoteurDeLiens, ROUTE_AIDANT } from '../../domaine/MoteurDeLiens.ts';
import { FallbackProps, useErrorBoundary } from 'react-error-boundary';
import { useNavigationMAC, useUtilisateur } from '../../fournisseurs/hooks.ts';
import { Link } from 'react-router-dom';

type ProprietesComposantAffichageErreur = Omit<FallbackProps, 'error'> & {
Expand All @@ -30,6 +30,8 @@ export const ComposantAffichageErreur = ({
const [titreLien, setTitreLien] = useState('Accueil - MonAideCyber');
const [route, setRoute] = useState('/');
const { utilisateur } = useUtilisateur();
const { resetBoundary } = useErrorBoundary();
const navigationMAC = useNavigationMAC();

useEffect(() => {
if (utilisateur) {
Expand All @@ -38,6 +40,16 @@ export const ComposantAffichageErreur = ({
}
}, [utilisateur]);

useEffect(() => {
if (
error.liens &&
new MoteurDeLiens(error.liens).existe('valider-signature-cgu')
) {
resetBoundary();
navigationMAC.navigue('/aidant/valide-signature-cgu', error.liens);
}
}, [navigationMAC]);

const actions = error.liens ? (
<div className="fond-clair-mac">
<div className="fr-container">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,12 @@ export const ComposantMenuUtilisateur = ({
navigationMAC.etat
);
}
if (new MoteurDeLiens(navigationMAC.etat).existe('valider-signature-cgu')) {
navigationMAC.navigue(
`${ROUTE_AIDANT}/valide-signature-cgu`,
navigationMAC.etat
);
}
}, [navigationMAC, resetBoundary]);

const deconnecter = useCallback(() => {
Expand Down
2 changes: 1 addition & 1 deletion mon-aide-cyber-ui/src/domaine/Lien.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ export type Action =
| 'afficher-profil'
| 'afficher-tableau-de-bord'
| 'afficher-annuaire-aidants'
| 'creer-espace-aidant'
| 'valider-signature-cgu'
| 'demander-aide'
| 'solliciter-aide'
| 'demande-devenir-aidant'
Expand Down
5 changes: 2 additions & 3 deletions mon-aide-cyber-ui/src/domaine/MoteurDeLiens.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,8 @@ const actionsStatiques: ActionsStatiques = {
'lancer-diagnostic': {
applique: (lien) => (lien.route = `${ROUTE_AIDANT}/tableau-de-bord`),
},
'creer-espace-aidant': {
applique: (lien) =>
(lien.route = `${ROUTE_AIDANT}/finalise-creation-espace-aidant`),
'valider-signature-cgu': {
applique: (lien) => (lien.route = `${ROUTE_AIDANT}/valide-signature-cgu`),
},
'se-connecter': { applique: (lien) => (lien.route = '/connexion') },
};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -89,9 +89,9 @@ export const ComposantAuthentification = ({
...reponse.liens,
}),
() =>
moteurDeLiens.trouve('creer-espace-aidant', () =>
moteurDeLiens.trouve('valider-signature-cgu', () =>
navigationMAC.navigue(
`${ROUTE_AIDANT}/finalise-creation-espace-aidant`,
`${ROUTE_AIDANT}/valide-signature-cgu`,
{ ...reponse.liens }
)
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,9 @@ export const FormulaireConnexion = () => {

useEffect(() => {
const moteurDeLiens = new MoteurDeLiens(navigationMAC.etat);
moteurDeLiens.trouve('creer-espace-aidant', () =>
moteurDeLiens.trouve('valider-signature-cgu', () =>
navigationMAC.navigue(
`${ROUTE_AIDANT}/finalise-creation-espace-aidant`,
`${ROUTE_AIDANT}/valide-signature-cgu`,
navigationMAC.etat
)
);
Expand Down
6 changes: 2 additions & 4 deletions mon-aide-cyber-ui/src/domaine/espace-aidant/EspaceAidant.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
export type CreationEspaceAidant = {
cguSignees: boolean;
motDePasse: string;
motDePasseTemporaire: string;
export type ValidationSignatureCGU = {
cguValidees: boolean;
};

This file was deleted.

This file was deleted.

Loading

0 comments on commit c356ed9

Please sign in to comment.