feat: Signatures électroniques docuseal [#22]

This commit is contained in:
N3WT DE COMPET
2025-02-28 18:30:18 +01:00
parent 8897d523dc
commit c8c8941ec8
41 changed files with 984 additions and 549 deletions

View File

@ -22,8 +22,8 @@ import { createDatas,
fetchRegistrationPaymentModes,
fetchTuitionPaymentModes } from '@/app/actions/schoolAction';
import SidebarTabs from '@/components/SidebarTabs';
import FilesManagement from '@/components/Structure/Files/FilesManagement';
import { fetchRegisterFormFileTemplate } from '@/app/actions/subscriptionAction';
import FilesGroupsManagement from '@/components/Structure/Files/FilesGroupsManagement';
import { fetchRegistrationTemplateMaster } from '@/app/actions/subscriptionAction';
import logger from '@/utils/logger';
@ -70,7 +70,7 @@ export default function Page() {
handleTuitionFees();
// Fetch data for registration file templates
fetchRegisterFormFileTemplate()
fetchRegistrationTemplateMaster()
.then((data)=> {
setFichiers(data)
})
@ -301,7 +301,7 @@ export default function Page() {
{
id: 'Files',
label: 'Documents d\'inscription',
content: <FilesManagement csrfToken={csrfToken} />
content: <FilesGroupsManagement csrfToken={csrfToken} />
}
];

View File

@ -24,7 +24,7 @@ import {
createRegisterForm,
sendRegisterForm,
archiveRegisterForm,
fetchRegisterFormFileTemplate,
fetchRegistrationTemplateMaster,
fetchStudents,
editRegisterForm } from "@/app/actions/subscriptionAction"
@ -195,7 +195,7 @@ useEffect(() => {
fetchRegisterForms(ARCHIVED)
.then(registerFormArchivedDataHandler)
.catch(requestErrorHandler)
fetchRegisterFormFileTemplate()
fetchRegistrationTemplateMaster()
.then((data)=> {
logger.debug(data);
@ -254,7 +254,7 @@ useEffect(() => {
fetchRegisterForms(ARCHIVED)
.then(registerFormArchivedDataHandler)
.catch(requestErrorHandler)
fetchRegisterFormFileTemplate()
fetchRegistrationTemplateMaster()
.then((data)=> {setFichiers(data)})
.catch((err)=>{ err = err.message; logger.debug(err);});
} else {

View File

@ -6,12 +6,13 @@ import { useRouter } from 'next/navigation'; // Ajout de l'importation
import { User, MessageSquare, LogOut, Settings, Home } from 'lucide-react'; // Ajout de l'importation de l'icône Home
import Logo from '@/components/Logo'; // Ajout de l'importation du composant Logo
import { FE_PARENTS_HOME_URL,FE_PARENTS_MESSAGERIE_URL,FE_PARENTS_SETTINGS_URL } from '@/utils/Url'; // Ajout de l'importation de l'URL de la page d'accueil parent
import useLocalStorage from '@/hooks/useLocalStorage';
import { fetchMessages } from '@/app/actions/messagerieAction';
import ProtectedRoute from '@/components/ProtectedRoute';
import { disconnect } from '@/app/actions/authAction';
import Popup from '@/components/Popup';
import logger from '@/utils/logger';
import { useSession } from 'next-auth/react';
import { FE_USERS_LOGIN_URL } from '@/utils/Url';
export default function Layout({
children,
@ -19,7 +20,8 @@ export default function Layout({
const router = useRouter(); // Définition de router
const [messages, setMessages] = useState([]);
const [userId, setUserId] = useLocalStorage("userId", '') ;
const { data: session, status } = useSession();
const [userId, setUserId] = useState(null);
const [isLoading, setIsLoading] = useState(true);
const [isPopupVisible, setIsPopupVisible] = useState(false);
@ -32,27 +34,33 @@ export default function Layout({
disconnect();
};
useEffect(() => {
setIsLoading(true);
setUserId(userId)
fetchMessages(userId)
.then(data => {
if (data) {
setMessages(data);
}
logger.debug('Success :', data);
})
.catch(error => {
logger.error('Error fetching data:', error);
})
.finally(() => {
setIsLoading(false);
});
}, [userId]);
// useEffect(() => {
// if (status === 'loading') return;
// if (!session) {
// router.push(`${FE_USERS_LOGIN_URL}`);
// }
if (isLoading) {
return <div>Loading...</div>;
}
// const userIdFromSession = session.user.id;
// setUserId(userIdFromSession);
// setIsLoading(true);
// fetchMessages(userId)
// .then(data => {
// if (data) {
// setMessages(data);
// }
// logger.debug('Success :', data);
// })
// .catch(error => {
// logger.error('Error fetching data:', error);
// })
// .finally(() => {
// setIsLoading(false);
// });
// }, [userId]);
// if (isLoading) {
// return <div>Loading...</div>;
// }
return (
<ProtectedRoute>

View File

@ -4,22 +4,31 @@ import { useRouter } from 'next/navigation';
import Table from '@/components/Table';
import { Edit } from 'lucide-react';
import StatusLabel from '@/components/StatusLabel';
import useLocalStorage from '@/hooks/useLocalStorage';
import { FE_PARENTS_EDIT_INSCRIPTION_URL } from '@/utils/Url';
import { fetchChildren } from '@/app/actions/subscriptionAction';
import logger from '@/utils/logger';
import { useSession } from 'next-auth/react';
import { FE_USERS_LOGIN_URL } from '@/utils/Url';
export default function ParentHomePage() {
const [actions, setActions] = useState([]);
const [children, setChildren] = useState([]);
const [userId, setUserId] = useLocalStorage("userId", '') ;
const { data: session, status } = useSession();
const [userId, setUserId] = useState(null);
const router = useRouter();
useEffect(() => {
if (!userId) return;
if (status === 'loading') return;
fetchChildren(userId).then(data => {
if (!session) {
router.push(`${FE_USERS_LOGIN_URL}`);
}
console.log(session);
const userIdFromSession = session.user.user_id;
setUserId(userIdFromSession);
fetchChildren(userIdFromSession).then(data => {
setChildren(data);
});
}, [userId]);

View File

@ -13,10 +13,10 @@ import {
FE_PARENTS_HOME_URL
} from '@/utils/Url';
import { login } from '@/app/actions/authAction';
import useLocalStorage from '@/hooks/useLocalStorage';
import { getSession } from 'next-auth/react';
import { useCsrfToken } from '@/context/CsrfContext'; // Importez le hook useCsrfToken
import logger from '@/utils/logger';
import { useSession } from 'next-auth/react';
const useFakeData = process.env.NEXT_PUBLIC_USE_FAKE_DATA === 'true';
@ -28,8 +28,6 @@ export default function Page() {
const [isLoading, setIsLoading] = useState(false);
const [userId, setUserId] = useLocalStorage("userId", '') ;
const router = useRouter();
const csrfToken = useCsrfToken(); // Utilisez le hook useCsrfToken
@ -55,7 +53,6 @@ export default function Page() {
}
const user = session.user;
logger.debug('User Session:', user);
localStorage.setItem('userId', user.id); // Stocker l'identifiant de l'utilisateur
if (user.droit === 0) {
// Vue ECOLE
} else if (user.droit === 1) {