diff --git a/src/main/java/fr/titionfire/ffsaf/domain/service/CompetitionService.java b/src/main/java/fr/titionfire/ffsaf/domain/service/CompetitionService.java index abcab52..b714a5b 100644 --- a/src/main/java/fr/titionfire/ffsaf/domain/service/CompetitionService.java +++ b/src/main/java/fr/titionfire/ffsaf/domain/service/CompetitionService.java @@ -322,6 +322,7 @@ public class CompetitionService { return uni .call(l -> Mutiny.fetch(c.getGuests()) .onItem().transformToMulti(Multi.createFrom()::iterable) + .filter(g -> !g.isTeam()) .onItem().call(guest -> Mutiny.fetch(guest.getCategoriesInscrites())) .map(guest -> SimpleRegisterComb.fromModel(guest) .setCategorieInscrite(guest.getCategoriesInscrites())) diff --git a/src/main/webapp/public/locales/en/common.json b/src/main/webapp/public/locales/en/common.json index d3dfedf..eed61fa 100644 --- a/src/main/webapp/public/locales/en/common.json +++ b/src/main/webapp/public/locales/en/common.json @@ -558,6 +558,7 @@ "validée": "Validated", "voir/modifierLesParticipants": "View/Edit participants", "voirLesStatues": "View statues", + "vousNêtesPasEncoreInscrit": "You are not yet registered or your registration has not yet been entered on the intranet", "à": "at", "étatDeLaDemande": "Request status" } diff --git a/src/main/webapp/public/locales/fr/common.json b/src/main/webapp/public/locales/fr/common.json index 38c5a56..29aaa1e 100644 --- a/src/main/webapp/public/locales/fr/common.json +++ b/src/main/webapp/public/locales/fr/common.json @@ -558,6 +558,7 @@ "validée": "Validée", "voir/modifierLesParticipants": "Voir/Modifier les participants", "voirLesStatues": "Voir les statues", + "vousNêtesPasEncoreInscrit": "Vous n'êtes pas encore inscrit ou votre inscription n'a pas encore été rentrée sur l'intranet", "à": "à", "étatDeLaDemande": "État de la demande" } diff --git a/src/main/webapp/src/pages/competition/CompetitionRegisterAdmin.jsx b/src/main/webapp/src/pages/competition/CompetitionRegisterAdmin.jsx index e69b816..0d88ca1 100644 --- a/src/main/webapp/src/pages/competition/CompetitionRegisterAdmin.jsx +++ b/src/main/webapp/src/pages/competition/CompetitionRegisterAdmin.jsx @@ -8,7 +8,7 @@ import {apiAxios, applyOverCategory, CatList, getCatName, getToastMessage} from import {toast} from "react-toastify"; import {SimpleReducer} from "../../utils/SimpleReducer.jsx"; import {FontAwesomeIcon} from "@fortawesome/react-fontawesome"; -import {faAdd, faGavel, faTrashCan} from "@fortawesome/free-solid-svg-icons"; +import {faAdd, faGavel, faLock, faTrashCan} from "@fortawesome/free-solid-svg-icons"; import "./CompetitionRegisterAdmin.css" import * as XLSX from "xlsx-js-style"; import {useCountries} from "../../hooks/useCountries.jsx"; @@ -67,7 +67,7 @@ export function CompetitionRegisterAdmin({source}) { data={state.filter(s => (clubFilter.length === 0 || s.data.club.name === clubFilter) && (catAgeFilter.length === 0 || s.data.categorie === catAgeFilter) && (catFilter === -1 || s.data.categoriesInscrites.includes(catFilter)))} - dispatch={dispatch} id={id} setModalState={setModalState} source={source}/> + data2={data2} dispatch={dispatch} id={id} setModalState={setModalState} source={source}/> : error ? : }
@@ -132,7 +132,7 @@ function QuickAdd({sendRegister, source, data2, error2}) { - a.name.localeCompare(b.name))} categories={categories} + a.name.localeCompare(b.name))} categories={categories} setCategories={setCategories_}/>
@@ -590,7 +590,7 @@ function FiltreBar({data, data2, clubFilter, setClubFilter, catFilter, setCatFil } -function MakeCentralPanel({data, dispatch, id, setModalState, source}) { +function MakeCentralPanel({data, data2, dispatch, id, setModalState, source}) { const [searchParams] = useSearchParams(); const registerType = searchParams.get("type") || "FREE"; const {t} = useTranslation(); @@ -610,14 +610,22 @@ function MakeCentralPanel({data, dispatch, id, setModalState, source}) {
{req.data.licence ? String(req.data.licence).padStart(5, '0') : "-------"}
-
{req.data.fname} {req.data.lname} {req.data.genre}
+
{req.data.fname} {req.data.lname} {req.data.lockEdit && + }{req.data.genre}
{req.data.club?.name || t("club", {count: 0})}
- {t("comp.surclassement", {count: req.data.overCategory, cat: getCatName(req.data.categorie)})}
- {req.data.weight ? req.data.weight : "---"} kg + {t("comp.surclassement", { + count: req.data.overCategory, + cat: getCatName(req.data.categorie) + })} | {req.data.weight ? req.data.weight : "---"} kg +
+ + {req.data.categoriesInscrites.map(catId => data2?.find(c => c.id === catId)).filter(o => o !== undefined) + .sort((a, b) => a.name.localeCompare(b.name)).map(cat => + {cat.name})}
diff --git a/src/main/webapp/src/pages/competition/CompetitionView.jsx b/src/main/webapp/src/pages/competition/CompetitionView.jsx index a9cebe6..c17b816 100644 --- a/src/main/webapp/src/pages/competition/CompetitionView.jsx +++ b/src/main/webapp/src/pages/competition/CompetitionView.jsx @@ -74,8 +74,8 @@ function MakeContent({data}) { disabled={new Date() < new Date(data.startRegister.split('+')[0]) || new Date() > new Date(data.endRegister.split('+')[0])} onClick={_ => navigate("/competition/" + data.id + "/club/register")}>{t('comp.inscription')} } - {data.registerMode === "FREE" && !isClubAdmin(userinfo) && - + {data.registerMode === "FREE" && !isClubAdmin(userinfo) && + || } {data.registerMode === "HELLOASSO" &&

{t('comp.billetterie')} : } +function ShowRegister() { + const {id} = useParams() + const setLoading = useLoadingSwitcher() + const {data, error} = useFetch(`/competition/${id}/register/user`, setLoading, 1) + const {data: data3, error: error2} = useFetch(`/competition/${id}/categories`, setLoading, 1) + const {t} = useTranslation(); + + + return <> + {data ? data.length > 0 + ?

: {t('vousNêtesPasEncoreInscrit')} + : error + ? + : + } + +} + function Def() { return