diff --git a/src/main/java/fr/titionfire/ffsaf/data/repository/CheckoutRepository.java b/src/main/java/fr/titionfire/ffsaf/data/repository/CheckoutRepository.java index 6a4d68d..ba04aaa 100644 --- a/src/main/java/fr/titionfire/ffsaf/data/repository/CheckoutRepository.java +++ b/src/main/java/fr/titionfire/ffsaf/data/repository/CheckoutRepository.java @@ -2,8 +2,17 @@ package fr.titionfire.ffsaf.data.repository; import fr.titionfire.ffsaf.data.model.CheckoutModel; import io.quarkus.hibernate.reactive.panache.PanacheRepositoryBase; +import io.smallrye.mutiny.Uni; import jakarta.enterprise.context.ApplicationScoped; @ApplicationScoped public class CheckoutRepository implements PanacheRepositoryBase { + + public Uni countByLicenseId(long id) { + return getSession() + .chain(s -> s + .createNativeQuery("SELECT COUNT(*) FROM ffsaf__checkout WHERE ?1 = ANY(license_ids)", Long.class) + .setParameter(1, id) + .getSingleResult()); + } } diff --git a/src/main/java/fr/titionfire/ffsaf/domain/service/CheckoutService.java b/src/main/java/fr/titionfire/ffsaf/domain/service/CheckoutService.java index ce2ee6d..03ace22 100644 --- a/src/main/java/fr/titionfire/ffsaf/domain/service/CheckoutService.java +++ b/src/main/java/fr/titionfire/ffsaf/domain/service/CheckoutService.java @@ -58,7 +58,7 @@ public class CheckoutService { String organizationSlug; public Uni canDeleteLicence(long id) { - return repository.find("?1 IN licenseIds", id).count().map(count -> count == 0); + return repository.countByLicenseId(id).invoke(c -> System.out.println(c)).map(count -> count == 0); } public Uni create(List ids, SecurityCtx securityCtx) { diff --git a/src/main/webapp/src/components/MemberCustomFiels.jsx b/src/main/webapp/src/components/MemberCustomFiels.jsx index 8a65639..a922f33 100644 --- a/src/main/webapp/src/components/MemberCustomFiels.jsx +++ b/src/main/webapp/src/components/MemberCustomFiels.jsx @@ -93,7 +93,7 @@ export function TextField({name, text, value, placeholder, type = "text", disabl
{text} + name={name} aria-describedby={name} defaultValue={value} disabled={disabled} required={required} autoComplete="false"/>
{ttip} diff --git a/src/main/webapp/src/pages/competition/CompetitionRegisterAdmin.jsx b/src/main/webapp/src/pages/competition/CompetitionRegisterAdmin.jsx index 3a984bd..45823ff 100644 --- a/src/main/webapp/src/pages/competition/CompetitionRegisterAdmin.jsx +++ b/src/main/webapp/src/pages/competition/CompetitionRegisterAdmin.jsx @@ -75,11 +75,11 @@ export function CompetitionRegisterAdmin({source}) { onClick={() => setModalState({id: 0})}>Ajouter un combattant -
+ {source === "admin" &&
-
+
}
Filtre
@@ -153,7 +153,13 @@ function SearchMember({sendRegister}) { } sendRegister({ - licence: member.licence.trim(), fname: member.fname.trim(), lname: member.lname.trim(), weight: "", overCategory: 0, lockEdit: false, id: null + licence: member.licence.trim(), + fname: member.fname.trim(), + lname: member.lname.trim(), + weight: "", + overCategory: 0, + lockEdit: false, + id: null }) } @@ -353,7 +359,9 @@ function Modal({sendRegister, modalState, setModalState, source}) {
- {modalState.id < 0 &&
Les invités sont réservés aux membres non licenciés par la fédération. Les combattants inscrits via ce formulaire ne pourront pas voir leur résultat depuis leur profil.
} + {modalState.id < 0 && +
Les invités sont réservés aux membres non licenciés par la fédération. Les combattants inscrits via + ce formulaire ne pourront pas voir leur résultat depuis leur profil.
}
{modalState.id >= 0 ? "Recherche*" : "Information"}