From af30ae33b5660c55fa6824498f4325aab3de3c5a Mon Sep 17 00:00:00 2001 From: N3WT DE COMPET Date: Sat, 31 May 2025 09:34:28 +0200 Subject: [PATCH] refactor: Affichage des notifications dans la partie "Users" (subscribe) --- Back-End/Auth/views.py | 2 +- .../app/[locale]/users/password/reset/page.js | 2 +- .../src/app/[locale]/users/subscribe/page.js | 60 +++++++------------ 3 files changed, 24 insertions(+), 40 deletions(-) diff --git a/Back-End/Auth/views.py b/Back-End/Auth/views.py index b63e8f6..b99e990 100644 --- a/Back-End/Auth/views.py +++ b/Back-End/Auth/views.py @@ -361,7 +361,7 @@ class SubscribeView(APIView): } ) def post(self, request): - retourErreur = error.returnMessage[error.BAD_URL] + retourErreur = '' retour = '' newProfilConnection = JSONParser().parse(request) establishment_id = newProfilConnection['establishment_id'] diff --git a/Front-End/src/app/[locale]/users/password/reset/page.js b/Front-End/src/app/[locale]/users/password/reset/page.js index c278e52..620ad2f 100644 --- a/Front-End/src/app/[locale]/users/password/reset/page.js +++ b/Front-End/src/app/[locale]/users/password/reset/page.js @@ -50,7 +50,7 @@ export default function Page() { ); } else if (data.errorFields) { showNotification( - data.errorFields.password1, + data.errorFields.password1 || data.errorFields.password2, 'error', 'Erreur' ); diff --git a/Front-End/src/app/[locale]/users/subscribe/page.js b/Front-End/src/app/[locale]/users/subscribe/page.js index f501f92..bf51143 100644 --- a/Front-End/src/app/[locale]/users/subscribe/page.js +++ b/Front-End/src/app/[locale]/users/subscribe/page.js @@ -1,14 +1,13 @@ 'use client'; -// src/app/pages/subscribe.js import React, { useState, useEffect } from 'react'; import DjangoCSRFToken from '@/components/DjangoCSRFToken'; import Logo from '@/components/Logo'; import { useSearchParams, useRouter } from 'next/navigation'; import InputTextIcon from '@/components/InputTextIcon'; -import Loader from '@/components/Loader'; // Importez le composant Loader -import Button from '@/components/Button'; // Importez le composant Button -import { User, KeySquare } from 'lucide-react'; // Importez directement les icônes nécessaires +import Loader from '@/components/Loader'; +import Button from '@/components/Button'; +import { User, KeySquare } from 'lucide-react'; import { FE_USERS_LOGIN_URL } from '@/utils/Url'; import { useCsrfToken } from '@/context/CsrfContext'; import { subscribe } from '@/app/actions/authAction'; @@ -18,11 +17,6 @@ import { useNotification } from '@/context/NotificationContext'; export default function Page() { const searchParams = useSearchParams(); const { showNotification } = useNotification(); - - const [errorMessage, setErrorMessage] = useState(''); - const [userFieldError, setUserFieldError] = useState(''); - const [password1FieldError, setPassword1FieldError] = useState(''); - const [password2FieldError, setPassword2FieldError] = useState(''); const [isLoading, setIsLoading] = useState(false); const router = useRouter(); @@ -30,10 +24,6 @@ export default function Page() { const establishment_id = searchParams.get('establishment_id'); - function isOK(data) { - return data.errorMessage === ''; - } - function subscribeFormSubmit(formData) { const data = { email: formData.get('login'), @@ -45,31 +35,29 @@ export default function Page() { subscribe(data, csrfToken) .then((data) => { logger.debug('Success:', data); - setUserFieldError(''); - setPassword1FieldError(''); - setPassword2FieldError(''); - setErrorMessage(''); - if (isOK(data)) { - setIsLoading(false); + if (data.message !== '') { showNotification( - data.message, - 'success', - 'Succès' - ); + data.message, + 'success', + 'Succès' + ); router.push(`${FE_USERS_LOGIN_URL}`); } else { - setIsLoading(false); - showNotification( - data.errorMessage, - 'error', - 'Erreur' - ); - if (data.errorFields) { - setUserFieldError(data.errorFields.email); - setPassword1FieldError(data.errorFields.password1); - setPassword2FieldError(data.errorFields.password2); + if (data.errorMessage) { + showNotification( + data.errorMessage, + 'error', + 'Erreur' + ); + } else if (data.errorFields) { + showNotification( + data.errorFields.email || data.errorFields.password1 || data.errorFields.password2, + 'error', + 'Erreur' + ); } } + setIsLoading(false); }) .catch((error) => { setIsLoading(false); @@ -80,7 +68,7 @@ export default function Page() { } if (isLoading === true) { - return ; // Affichez le composant Loader + return ; } else { return ( <> @@ -105,7 +93,6 @@ export default function Page() { IconItem={User} label="Identifiant" placeholder="Identifiant" - errorMsg={userFieldError} className="w-full mb-5" /> -

{errorMessage}