feat: re-add siret/rna api
All checks were successful
Deploy Production Server / if_merged (pull_request) Successful in 10m4s

This commit is contained in:
2025-11-19 15:26:36 +01:00
parent 53509820c6
commit fefc5d651b
8 changed files with 233 additions and 59 deletions

View File

@@ -3,7 +3,7 @@ import {apiAxios, errFormater, getSaison} from "../utils/Tools.js";
import {toast} from "react-toastify";
import {useLocation, useNavigate} from "react-router-dom";
const notUpperCase = ["de", "la", "le", "les", "des", "du", "d'", "l'", "sur"];
const notUpperCase = ["de", "la", "le", "les", "des", "du", "d'", "l'", "sur", 'lieu', 'dit'];
function formatAdresse(data) {
const words = data.split(" ");
@@ -19,23 +19,14 @@ function formatAdresse(data) {
function reconstruireAdresse2(infos) {
let adresseReconstruite = "";
if (infos?.cplt_1) {
adresseReconstruite += formatAdresse(infos.cplt_1) + ', ';
}
if (infos?.cplt_2) {
adresseReconstruite += formatAdresse(infos.cplt_2) + ', ';
}
if (infos?.cplt_3) {
adresseReconstruite += formatAdresse(infos.cplt_3) + ', ';
}
if (infos?.complement)
adresseReconstruite += formatAdresse(infos.complement) + ', ';
if (infos?.num_voie) {
adresseReconstruite += infos.num_voie + ' ';
}
adresseReconstruite += formatAdresse(infos.type_voie) + ' ';
adresseReconstruite += formatAdresse(infos.voie) + ', ';
adresseReconstruite += infos.cp + ' ' + infos.commune + ', ';
adresseReconstruite += infos.code_postal + ' ' + infos.commune.nom + ', ';
if (infos?.pays)
adresseReconstruite += formatAdresse(infos.pays) + ', ';
if (adresseReconstruite.endsWith(', ')) {
adresseReconstruite = adresseReconstruite.slice(0, -2);
@@ -221,14 +212,18 @@ function AssoInfo({initData, needFile}) {
const [contact, setContact] = useState(initData.contact ? initData.contact : "")
const fetchStateId = () => {
const regex = /^(?:\d{14}|W?\d{9})$/;
const regex = /^(?:\d{14}|W\d{9})$/;
let sid = stateId;
if (!regex.test(stateId)) {
toast.error("Le format du SIRET/RNA est invalide");
return;
}else{
if (stateId[0] !== 'W')
sid = stateId.substring(0, 9); // Pour les SIRET, on ne garde que les 9 premiers chiffres (SIREN)
}
toast.promise(
apiAxios.get(`asso/state_id/${stateId}`),
apiAxios.get(`asso/state_id/${sid}`),
{
pending: "Recherche de l'association en cours",
success: "Association trouvée avec succès 🎉",
@@ -242,7 +237,7 @@ function AssoInfo({initData, needFile}) {
const data2 = data.data
setDenomination(data2.identite.nom)
if (!initData.saison || adresse === "")
setAdresse(reconstruireAdresse2(data2.coordonnees.adresse_siege))
setAdresse(reconstruireAdresse2(data2.coordonnees.adresse_gestion))
})
}
return <>
@@ -260,11 +255,11 @@ function AssoInfo({initData, needFile}) {
<input type="text" className="form-control" placeholder="N° SIRET ou RNA*" name="state_id" required value={stateId} disabled={!needFile}
onChange={e => setStateId(e.target.value)}/>
<button className="btn btn-outline-secondary" type="button" id="button-addon2"
onClick={fetchStateId} hidden={true}>Rechercher
onClick={fetchStateId} hidden={false}>Rechercher
</button>
</div>
<div className="input-group mb-3" hidden={true}>
<div className="input-group mb-3" hidden={false}>
<span className="input-group-text" id="basic-addon1">Dénomination</span>
<input type="text" className="form-control" placeholder="Appuyer sur rechercher pour compléter"
aria-label="Dénomination"