feat: add affiliation request save
This commit is contained in:
@@ -31,28 +31,35 @@ export function DemandeAff() {
|
||||
event.preventDefault()
|
||||
const formData = new FormData(event.target)
|
||||
toast.promise(
|
||||
apiAxios.post(`asso/affiliation`, formData),
|
||||
apiAxios.post(`asso/affiliation`, formData, { headers: {'Accept': '*/*'}}),
|
||||
{
|
||||
pending: "Enregistrement de la demande d'affiliation en cours",
|
||||
success: "Demande d'affiliation enregistrée avec succès 🎉",
|
||||
error: "Échec de la demande d'affiliation 😕"
|
||||
}
|
||||
).then(_ => {
|
||||
navigate("/affiliation/ok")
|
||||
// navigate("/affiliation/ok")
|
||||
})
|
||||
}
|
||||
|
||||
return <div>
|
||||
<h1>Demande d'affiliation</h1>
|
||||
<p>L'affiliation est annuelle et valable pour une saison sportive : du 1er septembre au 31 août de l’année suivante.</p>
|
||||
<p>L'affiliation est annuelle et valable pour une saison sportive : du 1er septembre au 31 août de l’année
|
||||
suivante.</p>
|
||||
Pour s’affilier, une association sportive doit réunir les conditions suivantes :
|
||||
<ul>
|
||||
<li>Avoir son siège social en France ou Principauté de Monaco</li>
|
||||
<li>Être constituée conformément au chapitre 1er du titre II du livre 1er du Code du Sport</li>
|
||||
<li>Poursuivre un objet social entrant dans la définition de l’article 1 des statuts de la Fédération</li>
|
||||
<li>Disposer de statuts compatibles avec les principes d’organisation et de fonctionnement de la Fédération</li>
|
||||
<li>Assurer en son sein la liberté d’opinion et le respect des droits de la défense, et s’interdire toute discrimination</li>
|
||||
<li>Respecter les règles d’encadrement, d’hygiène et de sécurité établies par les règlements de la Fédération</li>
|
||||
<li>Disposer de statuts compatibles avec les principes d’organisation et de fonctionnement de la
|
||||
Fédération
|
||||
</li>
|
||||
<li>Assurer en son sein la liberté d’opinion et le respect des droits de la défense, et s’interdire toute
|
||||
discrimination
|
||||
</li>
|
||||
<li>Respecter les règles d’encadrement, d’hygiène et de sécurité établies par les règlements de la
|
||||
Fédération
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<div className="card mb-4">
|
||||
@@ -68,16 +75,20 @@ export function DemandeAff() {
|
||||
<MembreInfo role="secretaire"/>
|
||||
|
||||
<div className="mb-3">
|
||||
<p>Après validation de votre demande, vous recevrez un login et mot de passe provisoire pour accéder à votre espace FFSAF</p>
|
||||
<p>Après validation de votre demande, vous recevrez un login et mot de passe provisoire pour
|
||||
accéder à votre espace FFSAF</p>
|
||||
Notez que pour finaliser votre affiliation, il vous faudra :
|
||||
<ul>
|
||||
<li>Disposer d’au moins trois membres licenciés, dont le président, le trésorier et le secrétaire</li>
|
||||
<li>Disposer d’au moins trois membres licenciés, dont le président, le trésorier et le
|
||||
secrétaire
|
||||
</li>
|
||||
<li>S'être acquitté des cotisations prévues par les règlements fédéraux</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div className="row">
|
||||
<div className="d-grid gap-2 d-md-flex justify-content-md-center">
|
||||
<button type="submit" className="btn btn-primary">Confirmer ma demande d'affiliation</button>
|
||||
<button type="submit" className="btn btn-primary">Confirmer ma demande d'affiliation
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -113,7 +124,8 @@ function AssoInfo() {
|
||||
return <>
|
||||
<div className="input-group mb-3">
|
||||
<span className="input-group-text" id="basic-addon1">Nom de l'association*</span>
|
||||
<input type="text" className="form-control" placeholder="Nom de l'association" name="name" aria-label="Nom de l'association"
|
||||
<input type="text" className="form-control" placeholder="Nom de l'association" name="name"
|
||||
aria-label="Nom de l'association"
|
||||
aria-describedby="basic-addon1" required/>
|
||||
</div>
|
||||
|
||||
@@ -121,24 +133,29 @@ function AssoInfo() {
|
||||
<span className="input-group-text">N° SIREN*</span>
|
||||
<input type="number" className="form-control" placeholder="siren" name="siren" required value={siren}
|
||||
onChange={e => setSiren(e.target.value)}/>
|
||||
<button className="btn btn-outline-secondary" type="button" id="button-addon2" onClick={fetchSiren}>Rechercher</button>
|
||||
<button className="btn btn-outline-secondary" type="button" id="button-addon2"
|
||||
onClick={fetchSiren}>Rechercher
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<div className="input-group mb-3">
|
||||
<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"
|
||||
<input type="text" className="form-control" placeholder="Appuyer sur rechercher pour compléter"
|
||||
aria-label="Dénomination"
|
||||
aria-describedby="basic-addon1" disabled value={denomination} readOnly/>
|
||||
</div>
|
||||
|
||||
<div className="input-group mb-3">
|
||||
<span className="input-group-text" id="basic-addon1">RNA</span>
|
||||
<input type="text" className="form-control" placeholder="RNA" aria-label="RNA" aria-describedby="basic-addon1"
|
||||
<input type="text" className="form-control" placeholder="RNA" aria-label="RNA"
|
||||
aria-describedby="basic-addon1"
|
||||
disabled={!rnaEnable} name="rna" value={rna} onChange={e => setRna(e.target.value)}/>
|
||||
</div>
|
||||
|
||||
<div className="input-group mb-3">
|
||||
<span className="input-group-text" id="basic-addon1">Adresse*</span>
|
||||
<input type="text" className="form-control" placeholder="Adresse" aria-label="Adresse" aria-describedby="basic-addon1"
|
||||
<input type="text" className="form-control" placeholder="Adresse" aria-label="Adresse"
|
||||
aria-describedby="basic-addon1"
|
||||
required value={adresse} name="adresse" onChange={e => setAdresse(e.target.value)}/>
|
||||
</div>
|
||||
|
||||
@@ -149,7 +166,8 @@ function AssoInfo() {
|
||||
|
||||
<div className="input-group mb-3">
|
||||
<label className="input-group-text" htmlFor="logo">Logo*</label>
|
||||
<input type="file" className="form-control" id="logo" name="logo" accept=".jpg,.jpeg,.gif,.png,.svg" required/>
|
||||
<input type="file" className="form-control" id="logo" name="logo" accept=".jpg,.jpeg,.gif,.png,.svg"
|
||||
required/>
|
||||
</div>
|
||||
</>;
|
||||
}
|
||||
@@ -159,19 +177,29 @@ function MembreInfo({role}) {
|
||||
<div className="col-sm-3">
|
||||
<div className="form-floating">
|
||||
<input type="text" className="form-control" id="floatingInput" placeholder="Nom" name={role + "-nom"}/>
|
||||
<label htmlFor="floatingInput">Nom*</label>
|
||||
<label htmlFor="floatingInput">Nom</label>
|
||||
</div>
|
||||
</div>
|
||||
<div className="col-sm-3">
|
||||
<div className="form-floating">
|
||||
<input type="text" className="form-control" id="floatingInput" placeholder="Prénom" name={role + "-prenom"}/>
|
||||
<label htmlFor="floatingInput">Prénom*</label>
|
||||
<input type="text" className="form-control" id="floatingInput" placeholder="Prénom"
|
||||
name={role + "-prenom"}/>
|
||||
<label htmlFor="floatingInput">Prénom</label>
|
||||
</div>
|
||||
</div>
|
||||
<div className="col-sm-5">
|
||||
<div className="form-floating">
|
||||
<input type="email" className="form-control" id="floatingInput" placeholder="name@example.com" name={role + "-mail"}/>
|
||||
<label htmlFor="floatingInput">Email*</label>
|
||||
<input type="email" className="form-control" id="floatingInput" placeholder="name@example.com"
|
||||
name={role + "-mail"}/>
|
||||
<label htmlFor="floatingInput">Email</label>
|
||||
</div>
|
||||
</div>
|
||||
<div className="col-sm-3">
|
||||
<div>OU</div>
|
||||
<div className="form-floating">
|
||||
<input type="number" className="form-control" id="floatingInput" placeholder="N° Licence"
|
||||
name={role + "-licence"}/>
|
||||
<label htmlFor="floatingInput">N° Licence</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -181,7 +209,8 @@ export function DemandeAffOk() {
|
||||
return (
|
||||
<div>
|
||||
<h1 className="text-green-800 text-4xl">Demande d'affiliation envoyée avec succès</h1>
|
||||
<p>Une fois votre demande validée, vous recevrez un login et mot de passe provisoire pour accéder à votre espace FFSAF</p>
|
||||
<p>Une fois votre demande validée, vous recevrez un login et mot de passe provisoire pour accéder à votre
|
||||
espace FFSAF</p>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user