Essayez de rafraichir la page ou bien ressayez plus tard.
-
+
Erreur inattendue
+ Erreur 500
+ Essayez de rafraîchir la page ou bien réessayez plus tard.
+
Désolé, le service rencontre un problème, nous travaillons pour le résoudre le plus rapidement possible.
-
+
>
);
}
function Error404() {
return (
<>
-
Page non trouvée
-
Erreur 404
-
La page que vous cherchez est introuvable. Excusez-nous pour la gène occasionnée.
-
- Si vous avez tapé l'adresse web dans le navigateur, vérifiez qu'elle est correcte. La page n’est peut-être plus disponible.
+
Page non trouvée
+ Erreur 404
+ La page que vous cherchez est introuvable. Excusez-nous pour la gêne occasionnée.
+
+ Si vous avez tapé l'adresse web dans le navigateur, vérifiez qu'elle est correcte. La page n'est peut-être plus disponible.
- Dans ce cas, pour continuer votre visite vous pouvez consulter notre page d’accueil, ou effectuer une recherche avec notre moteur de recherche en haut de page.
+ Dans ce cas, pour continuer votre visite, vous pouvez consulter notre page d'accueil, ou effectuer une recherche avec notre moteur de recherche en haut de page.
- Sinon contactez-nous pour que l’on puisse vous rediriger vers la bonne information.
-
+ Sinon contactez-nous pour que l'on puisse vous rediriger vers la bonne information.
+
>
);
}
export default function Error({ status }) {
return (
-
+
+
+
);
}
diff --git a/src/components/forms/category-term/index.js b/src/components/forms/category-term/index.js
index 8bfc53d6..5f61ae88 100644
--- a/src/components/forms/category-term/index.js
+++ b/src/components/forms/category-term/index.js
@@ -1,6 +1,7 @@
-import PropTypes from 'prop-types';
import { Col, Container, Row, TextInput, Title } from '@dataesr/react-dsfr';
+import PropTypes from 'prop-types';
import { useEffect, useState } from 'react';
+
import api from '../../../utils/api';
import PaysageBlame from '../../paysage-blame';
import useForm from '../../../hooks/useForm';
@@ -39,7 +40,7 @@ function sanitize(form) {
return body;
}
-export default function CategoryTermsForm({ id, data, onSave, onDelete }) {
+export default function CategoryTermsForm({ data, id, onDelete, onSave }) {
const [showErrors, setShowErrors] = useState(false);
const [startDateOfficialTextQuery, setStartDateOfficialTextQuery] = useState('');
const [endDateOfficialTextQuery, setEndDateOfficialTextQuery] = useState('');
@@ -241,13 +242,13 @@ export default function CategoryTermsForm({ id, data, onSave, onDelete }) {
}
CategoryTermsForm.propTypes = {
- id: PropTypes.string,
data: PropTypes.oneOfType([PropTypes.shape, null]),
- onSave: PropTypes.func.isRequired,
+ id: PropTypes.string,
onDelete: PropTypes.func,
+ onSave: PropTypes.func.isRequired,
};
CategoryTermsForm.defaultProps = {
- id: null,
data: { relatedObjects: [] },
+ id: null,
onDelete: null,
};
diff --git a/src/components/forms/form-footer/index.js b/src/components/forms/form-footer/index.js
index c878ba95..3d7bb1f9 100644
--- a/src/components/forms/form-footer/index.js
+++ b/src/components/forms/form-footer/index.js
@@ -5,7 +5,7 @@ import classNames from 'classnames';
import Button from '../../button';
import useViewport from '../../../hooks/useViewport';
-export default function FormFooter({ id, onDeleteHandler, onSaveHandler }) {
+export default function FormFooter({ id, onDeleteHandler, onSaveHandler, buttonLabel }) {
const { mobile } = useViewport();
const [confirm, setConfirm] = useState(false);
const classnames = classNames('flex--space-between', { 'flex--col-reverse': mobile });
@@ -50,7 +50,7 @@ export default function FormFooter({ id, onDeleteHandler, onSaveHandler }) {
Supprimer
) : }
-
+
@@ -60,12 +60,14 @@ export default function FormFooter({ id, onDeleteHandler, onSaveHandler }) {
}
FormFooter.propTypes = {
+ buttonLabel: PropTypes.string,
id: PropTypes.string,
onSaveHandler: PropTypes.func.isRequired,
onDeleteHandler: PropTypes.func,
};
FormFooter.defaultProps = {
+ buttonLabel: 'Sauvegarder',
id: null,
onDeleteHandler: () => {},
};
diff --git a/src/components/forms/laureate/index.js b/src/components/forms/laureate/index.js
index 655961e4..0eef3576 100644
--- a/src/components/forms/laureate/index.js
+++ b/src/components/forms/laureate/index.js
@@ -20,8 +20,7 @@ import PaysageBlame from '../../paysage-blame';
function sanitize(form) {
const newForm = { ...form };
if (newForm.otherAssociatedObjects?.length) newForm.otherAssociatedObjectIds = newForm.otherAssociatedObjects.map((associated) => associated.id);
- const fields = ['resourceId', 'relatedObjectId', 'relationTypeId', 'relationsGroupId', 'relationTag',
- 'startDateOfficialTextId', 'endDateOfficialTextId', 'startDate', 'endDate', 'otherAssociatedObjectIds'];
+ const fields = ['resourceId', 'relatedObjectId', 'relationTypeId', 'relationsGroupId', 'relationTag', 'startDate', 'endDate', 'otherAssociatedObjectIds'];
const body = {};
Object.keys(newForm).forEach((key) => { if (fields.includes(key)) { body[key] = newForm[key]; } });
return body;
@@ -141,7 +140,7 @@ export default function LaureateForm({ id, resourceType, relatedObjectTypes, dat
buttonLabel="Rechercher"
value={resourceQuery || ''}
label="Prix"
- hint="Rechercher parmis les prix"
+ hint="Rechercher parmi les prix"
required
scope={form.resourceName}
placeholder={form.resourceId ? '' : 'Rechercher...'}
@@ -159,7 +158,9 @@ export default function LaureateForm({ id, resourceType, relatedObjectTypes, dat
buttonLabel="Rechercher"
value={relatedObjectQuery || ''}
label="Lauréat"
- hint="Rechercher parmis les structures, les personnes et les projets"
+ // TODO: Restore projects
+ // hint="Rechercher parmi les structures, les personnes et les projets"
+ hint="Rechercher parmi les structures et les personnes"
required
scope={form.relatedObjectName}
placeholder={form.relatedObjectId ? '' : 'Rechercher...'}
@@ -175,7 +176,7 @@ export default function LaureateForm({ id, resourceType, relatedObjectTypes, dat
{ setAssociatedQuery(e.target.value); }}
options={associatedOptions}
diff --git a/src/components/forms/legal-categories/index.js b/src/components/forms/legal-categories/index.js
index 249c6a7d..eeda1626 100644
--- a/src/components/forms/legal-categories/index.js
+++ b/src/components/forms/legal-categories/index.js
@@ -34,13 +34,13 @@ export default function LegalCategoriesForm({ id, data, onSave, onDelete }) {
};
const sectorOptions = [
- { value: null, label: "Selectionner un type d'objet" },
+ { value: null, label: "Sélectionner un type d'objet" },
{ value: 'public', label: 'Public' },
{ value: 'privé', label: 'Privé' },
{ value: 'sans objet', label: 'Sans objet' },
];
const legalPersonalityOptions = [
- { value: null, label: "Selectionner un type d'objet" },
+ { value: null, label: "Sélectionner un type d'objet" },
{ value: 'personne morale de droit public', label: 'Personne morale de droit public' },
{ value: 'personne morale de droit privé', label: 'Personne morale de droit privé' },
{ value: 'organisation internationale', label: 'Organisation internationale' },
diff --git a/src/components/forms/localisation/index.js b/src/components/forms/localisation/index.js
index 10a67190..7a3d55fd 100644
--- a/src/components/forms/localisation/index.js
+++ b/src/components/forms/localisation/index.js
@@ -26,8 +26,8 @@ function validate(body) {
function sanitize(form) {
const fields = [
- 'cityId', 'city', 'distributionStatement', 'address', 'postOfficeBoxNumber', 'postalCode',
- 'locality', 'place', 'country', 'telephone', 'coordinates', 'startDate', 'endDate',
+ 'address', 'city', 'cityId', 'coordinates', 'country', 'distributionStatement', 'endDate',
+ 'locality', 'place', 'postalCode', 'postOfficeBoxNumber', 'startDate', 'telephone',
];
const body = {};
Object.keys(form).forEach((key) => { if (fields.includes(key)) { body[key] = form[key]; } });
diff --git a/src/components/forms/person/index.js b/src/components/forms/person/index.js
index 8722f1ca..dd0ba4b2 100644
--- a/src/components/forms/person/index.js
+++ b/src/components/forms/person/index.js
@@ -38,7 +38,7 @@ export default function PersonForm({ id, data, onSave, onDelete }) {
return onSave(body);
};
const genderOptions = [
- { value: '', label: 'Selectionner' },
+ { value: '', label: 'Sélectionner' },
{ value: 'Homme', label: 'Homme' },
{ value: 'Femme', label: 'Femme' },
{ value: 'Autre', label: 'Autre' },
diff --git a/src/components/forms/relations-group/index.js b/src/components/forms/relations-group/index.js
index 7eb9ff1b..5157e59f 100644
--- a/src/components/forms/relations-group/index.js
+++ b/src/components/forms/relations-group/index.js
@@ -24,7 +24,7 @@ function validate(body) {
return validationErrors;
}
function sanitize(form) {
- const fields = ['name', 'otherNames', 'accepts', 'priority'];
+ const fields = ['name', 'otherNames', 'accepts', 'priority', 'resourceId'];
const body = {};
Object.keys(form).forEach((key) => { if (fields.includes(key)) { body[key] = form[key]; } });
return body;
diff --git a/src/components/layout/footer.js b/src/components/layout/footer.js
index 1c44658e..7d8259a6 100644
--- a/src/components/layout/footer.js
+++ b/src/components/layout/footer.js
@@ -1,8 +1,6 @@
import { Link as RouterLink } from 'react-router-dom';
import PropTypes from 'prop-types';
import {
- FooterTop,
- FooterTopCategory,
Footer as FooterWrapper,
FooterBody,
FooterBottom,
@@ -19,27 +17,10 @@ export default function Footer({ switchTheme }) {
return (
-
-
- }>
- Aide
-
- }>
- Nous contacter
-
-
-
- }>
- Notes de version
-
- }>
- Github
-
-
- }
+ asLink={}
+ splitCharacter={9}
>
Ministère de l‘enseignement supérieur et de la recherche
@@ -63,26 +44,33 @@ export default function Footer({ switchTheme }) {
-
- Plan du Site
+ }>
+ Aide
-
- Accessibilité
+ }>
+ L'équipe et son projet
+
+ }>
+ Nous contacter
Mentions légales
+ }>
+ Github
+
{`Version de l'application v${process.env.REACT_APP_VERSION}`}
- setIsOpen(true)}>
+
diff --git a/src/components/layout/not-found.js b/src/components/layout/not-found.js
index 485dcb67..6caad7a4 100644
--- a/src/components/layout/not-found.js
+++ b/src/components/layout/not-found.js
@@ -1,7 +1,7 @@
import React from 'react';
-import { Button, Text, Title } from '@dataesr/react-dsfr';
+import { Button, Text } from '@dataesr/react-dsfr';
import { useNavigate } from 'react-router-dom';
-import './not-found.scss';
+import styles from './not-found.module.scss';
const randomDisplay = Math.floor(Math.random() * 2);
@@ -10,54 +10,54 @@ export default function NotFound() {
return randomDisplay === 1 ? (
-
+
-
-
-
-
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
-
+
-
-
-
- Page Introuvable!
- Désolé, la page que vous cherchez n'existe pas.
- Vous pouvez relancer une recherche ou vous rendre sur la page d'accueil
+
+
+
+ Page Introuvable!
+ Désolé, la page que vous cherchez n'existe pas.
+ Vous pouvez relancer une recherche ou vous rendre sur la page d'accueil
-
+
) : (
-
-
-
+
+
+
-
- Page Introuvable!
+
+ Page Introuvable!
-
+
Désolé, la page que vous cherchez n'existe pas.
- Vous pouvez relancer une recherche ou vous rendre sur la page d'accueil
+ Vous pouvez relancer une recherche ou vous rendre sur la page d'accueil