From 43f7a54b15ac538791a93dfac3f85101975d703c Mon Sep 17 00:00:00 2001 From: Thibaut Valentin Date: Wed, 17 Jul 2024 12:21:37 +0200 Subject: [PATCH] fix: club set role --- .../ffsaf/domain/service/MembreService.java | 2 +- src/main/webapp/src/components/Nav.jsx | 2 +- src/main/webapp/src/pages/MemberList.jsx | 19 ++++++++----------- .../src/pages/club/member/InformationForm.jsx | 2 +- 4 files changed, 11 insertions(+), 14 deletions(-) diff --git a/src/main/java/fr/titionfire/ffsaf/domain/service/MembreService.java b/src/main/java/fr/titionfire/ffsaf/domain/service/MembreService.java index 383cba7..6dd6afe 100644 --- a/src/main/java/fr/titionfire/ffsaf/domain/service/MembreService.java +++ b/src/main/java/fr/titionfire/ffsaf/domain/service/MembreService.java @@ -159,7 +159,7 @@ public class MembreService { if (securityIdentity.getRoles().contains("club_president")) source = RoleAsso.PRESIDENT; else if (securityIdentity.getRoles().contains("club_secretaire")) source = RoleAsso.SECRETAIRE; else if (securityIdentity.getRoles().contains("club_respo_intra")) source = RoleAsso.MEMBREBUREAU; - if (!membre.getRole().equals(membreModel.getRole()) && membre.getRole().level > source.level) + if (!membre.getRole().equals(membreModel.getRole()) && membre.getRole().level >= source.level) throw new ForbiddenException(); })) .onItem().transformToUni(target -> { diff --git a/src/main/webapp/src/components/Nav.jsx b/src/main/webapp/src/components/Nav.jsx index 382731e..371ec21 100644 --- a/src/main/webapp/src/components/Nav.jsx +++ b/src/main/webapp/src/components/Nav.jsx @@ -46,7 +46,7 @@ function ClubMenu() { const {is_authenticated, userinfo} = useAuth() if (!is_authenticated || !(userinfo?.roles?.includes("club_president") - || userinfo?.roles?.includes("club_secretaire") || userinfo?.roles?.includes("club_tresorier"))) + || userinfo?.roles?.includes("club_secretaire") || userinfo?.roles?.includes("club_respo_intra"))) return <> return
  • diff --git a/src/main/webapp/src/pages/MemberList.jsx b/src/main/webapp/src/pages/MemberList.jsx index 98e8d95..204b470 100644 --- a/src/main/webapp/src/pages/MemberList.jsx +++ b/src/main/webapp/src/pages/MemberList.jsx @@ -11,12 +11,6 @@ import {apiAxios} from "../utils/Tools.js"; import {toast} from "react-toastify"; import {SearchBar} from "../components/SearchBar.jsx"; -const removeDiacritics = str => { - return str - .normalize('NFD') - .replace(/[\u0300-\u036f]/g, '') -} - export function MemberList({source}) { const {hash} = useLocation(); const navigate = useNavigate(); @@ -47,6 +41,7 @@ export function MemberList({source}) { fname: e.fname, lname: e.lname, club: e.club, + categorie: e.categorie, licence_number: e.licence, licence: showLicenceState ? licenceData.find(licence => licence.membre === e.id) : null }) @@ -84,7 +79,7 @@ export function MemberList({source}) { {data ? + page={page} source={source}/> : error ? : @@ -107,7 +102,7 @@ export function MemberList({source}) { } -function MakeCentralPanel({data, visibleMember, navigate, showLicenceState, page}) { +function MakeCentralPanel({data, visibleMember, navigate, showLicenceState, page, source}) { const pages = [] for (let i = 1; i <= data.page_count; i++) { pages.push(
  • @@ -120,7 +115,7 @@ function MakeCentralPanel({data, visibleMember, navigate, showLicenceState, page Ligne {((page - 1) * data.page_size) + 1} à { (page * data.page_size > data.result_count) ? data.result_count : (page * data.page_size)} (page {page} sur {data.page_count})
    - {visibleMember.map(member => ())} + {visibleMember.map(member => ())}
    @@ -137,7 +132,7 @@ function MakeCentralPanel({data, visibleMember, navigate, showLicenceState, page } -function MakeRow({member, showLicenceState, navigate}) { +function MakeRow({member, showLicenceState, navigate, source}) { const rowContent = <>
    {String(member.licence_number).padStart(5, '0')} @@ -145,7 +140,9 @@ function MakeRow({member, showLicenceState, navigate}) {
    {member.fname} {member.lname}
    - {member.club?.name || "Sans club"} + {source === "club" ? + {member.categorie} + : {member.club?.name || "Sans club"}} if (showLicenceState && member.licence != null) { diff --git a/src/main/webapp/src/pages/club/member/InformationForm.jsx b/src/main/webapp/src/pages/club/member/InformationForm.jsx index 648adde..8c72615 100644 --- a/src/main/webapp/src/pages/club/member/InformationForm.jsx +++ b/src/main/webapp/src/pages/club/member/InformationForm.jsx @@ -55,7 +55,7 @@ export function InformationForm({data}) { - +