Merge pull request 'dev' (#27) from dev into master

Reviewed-on: #27
This commit is contained in:
Thibaut Valentin 2025-02-06 14:31:44 +01:00
commit 677cfb955d
7 changed files with 20 additions and 17 deletions

View File

@ -17,6 +17,7 @@
# replace FROM registry.access.redhat.com/ubi8/ubi-minimal:8.9 for jvm need sub application (ie. make_pdf)
FROM registry.access.redhat.com/ubi8/openjdk-17:1.18
USER 0
WORKDIR /work/
RUN chown 1001 /work \
&& chmod "g+rwX" /work \

View File

@ -91,10 +91,10 @@ public class ClubService {
PanacheQuery<ClubModel> query;
if (country == null || country.isBlank())
query = repository.find("name LIKE ?1",
query = repository.find("LOWER(name) LIKE LOWER(?1)",
Sort.ascending("name"), search).page(Page.ofSize(limit));
else
query = repository.find("name LIKE ?1 AND country LIKE ?2",
query = repository.find("LOWER(name) LIKE LOWER(?1) AND country LIKE ?2",
Sort.ascending("name"), search, country + "%").page(Page.ofSize(limit));
return getPageResult(query, limit, page);
}

View File

@ -40,7 +40,7 @@ public class LicenceService {
}
public Uni<List<LicenceModel>> getCurrentSaisonLicence(SecurityCtx securityCtx) {
if (securityCtx.getSubject() == null)
if (securityCtx == null || securityCtx.getSubject() == null)
return repository.find("saison = ?1", Utils.getSaison()).list();
return combRepository.find("userId = ?1", securityCtx.getSubject()).firstResult().map(MembreModel::getClub)

View File

@ -68,7 +68,7 @@ public class MembreService {
public SimpleCombModel find(int licence, String np) throws Throwable {
return VertxContextSupport.subscribeAndAwait(() -> Panache.withTransaction(() ->
repository.find("licence = ?1 AND (lname ILIKE ?2 OR fname ILIKE ?2)",
repository.find("licence = ?1 AND (LOWER(lname) LIKE LOWER(?2) OR LOWER(fname) LIKE LOWER(?2))",
licence, np).firstResult().map(SimpleCombModel::fromModel)));
}
@ -85,10 +85,10 @@ public class MembreService {
PanacheQuery<MembreModel> query;
if (club == null || club.isBlank())
query = repository.find("(lname LIKE ?1 OR fname LIKE ?1)",
query = repository.find("(LOWER(lname) LIKE LOWER(?1) OR LOWER(fname) LIKE LOWER(?1))",
Sort.ascending("fname", "lname"), search).page(Page.ofSize(limit));
else
query = repository.find("club.name LIKE ?2 AND (lname LIKE ?1 OR fname LIKE ?1)",
query = repository.find("LOWER(club.name) LIKE LOWER(?2) AND (LOWER(lname) LIKE LOWER(?1) OR LOWER(fname) LIKE LOWER(?1))",
Sort.ascending("fname", "lname"), search, club + "%").page(Page.ofSize(limit));
return getPageResult(query, limit, page);
}
@ -100,7 +100,7 @@ public class MembreService {
String finalSearch = search;
return repository.find("userId = ?1", subject).firstResult()
.chain(membreModel -> {
PanacheQuery<MembreModel> query = repository.find("club = ?1 AND (lname LIKE ?2 OR fname LIKE ?2)",
PanacheQuery<MembreModel> query = repository.find("club = ?1 AND (LOWER(lname) LIKE LOWER(?2) OR LOWER(fname) LIKE LOWER(?2))",
Sort.ascending("fname", "lname"), membreModel.getClub(), finalSearch)
.page(Page.ofSize(limit));
return getPageResult(query, limit, page);

View File

@ -2,18 +2,20 @@ package fr.titionfire.ffsaf.rest.exception;
import jakarta.ws.rs.core.MediaType;
import jakarta.ws.rs.core.Response;
import jakarta.ws.rs.ext.ExceptionMapper;
import jakarta.ws.rs.ext.Provider;
import org.jboss.resteasy.reactive.server.ServerExceptionMapper;
import org.jboss.resteasy.reactive.server.UnwrapException;
@Provider
public class DetailExceptionMapper implements ExceptionMapper<DetailException> {
import java.util.concurrent.CompletionException;
@Override
public Response toResponse(DetailException e) {
@UnwrapException({CompletionException.class, RuntimeException.class})
public class DetailExceptionMapper{
@ServerExceptionMapper
public Response mapException(DetailException e) {
System.out.println("DetailExceptionMapper: " + e.getMessage());
return Response.status(e.getStatus())
.entity(e.getMessage())
.type(MediaType.TEXT_PLAIN_TYPE)
.build();
}
}

View File

@ -135,7 +135,7 @@ public class Main {
// Adding member photo
Image memberPhoto;
if (pdfData.photo_file != null && pdfData.photo_file.exists()) {
if (pdfData.photo_file != null && pdfData.photo_file.exists() && pdfData.photo_file.getAbsolutePath().equals("/dev/null")) {
memberPhoto = Image.getInstance(Files.readAllBytes(pdfData.photo_file.toPath()));
} else {
memberPhoto = Image.getInstance(

View File

@ -1,5 +1,5 @@
import {useLoadingSwitcher} from "../../../hooks/useLoading.jsx";
import {apiAxios} from "../../../utils/Tools.js";
import {apiAxios, errFormater} from "../../../utils/Tools.js";
import {toast} from "react-toastify";
import imageCompression from "browser-image-compression";
import {BirthDayField, CountryList, OptionField, RoleList, TextField} from "../../../components/MemberCustomFiels.jsx";
@ -70,7 +70,7 @@ export function InformationForm({data}) {
toast.success('Profile mis à jours avec succès 🎉');
}).catch(e => {
console.log(e.response)
toast.error('Échec de la mise à jours du profile 😕 (code: ' + e.response.status + ')');
toast.error(errFormater(e,'Échec de la mise à jours du profile 😕'));
}).finally(() => {
if (setLoading)
setLoading(0)