Skip to content

Commit 8b5babd

Browse files
authored
Merge pull request #75 from ungdev/dev
Fix :
2 parents a44ad6b + 4cbaed8 commit 8b5babd

File tree

6 files changed

+25
-15
lines changed

6 files changed

+25
-15
lines changed

backend/src/routes/permanences.routes.ts

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,16 +8,17 @@ const permanenceRouter = express.Router();
88
const upload = multer({ dest: "uploads/permcsv/" });
99

1010
// Admin routes
11-
permanenceRouter.post("/admin/permanence", checkRole("Admin",[]), permanenceController.createPermanence);
12-
permanenceRouter.delete("/admin/permanence", checkRole("Admin",[]), permanenceController.deletePermanence);
13-
permanenceRouter.post("/admin/updatepermanence", checkRole("Admin",[]), permanenceController.updatePermanence);
14-
permanenceRouter.post("/admin/open", checkRole("Admin",[]), permanenceController.openPermanence);
15-
permanenceRouter.post("/admin/close", checkRole("Admin",[]), permanenceController.closePermanence);
16-
permanenceRouter.get("/admin/permanences", checkRole("Admin",[]), permanenceController.getAllPermanences);
17-
permanenceRouter.get("/admin/users", checkRole("Admin",[]), permanenceController.getUsersInPermanence);
18-
permanenceRouter.post("/admin/add", checkRole("Admin",[]), permanenceController.addUserToPermanence);
19-
permanenceRouter.post("/admin/remove", checkRole("Admin",[]), permanenceController.removeUserToPermanence);
20-
permanenceRouter.post("/admin/importpermanences",checkRole("Admin",[]), upload.single("file"), permanenceController.uploadPermanencesCSV);
11+
permanenceRouter.post("/admin/permanence", checkRole("Admin",["Respo CE"]), permanenceController.createPermanence);
12+
permanenceRouter.delete("/admin/permanence", checkRole("Admin",["Respo CE"]), permanenceController.deletePermanence);
13+
permanenceRouter.post("/admin/updatepermanence", checkRole("Admin",["Respo CE"]), permanenceController.updatePermanence);
14+
permanenceRouter.post("/admin/open", checkRole("Admin",["Respo CE"]), permanenceController.openPermanence);
15+
permanenceRouter.post("/admin/close", checkRole("Admin",["Respo CE"]), permanenceController.closePermanence);
16+
permanenceRouter.get("/admin/permanences", checkRole("Admin",["Respo CE"]), permanenceController.getAllPermanences);
17+
permanenceRouter.get("/admin/users", checkRole("Admin",["Respo CE"]), permanenceController.getUsersInPermanence);
18+
permanenceRouter.post("/admin/add", checkRole("Admin",["Respo CE"]), permanenceController.addUserToPermanence);
19+
permanenceRouter.post("/admin/remove", checkRole("Admin",["Respo CE"]), permanenceController.removeUserToPermanence);
20+
permanenceRouter.post("/admin/importpermanences",checkRole("Admin",["Respo CE"]), upload.single("file"), permanenceController.uploadPermanencesCSV);
21+
permanenceRouter.post("/admin/claimedmember",checkRole("Admin",["Respo CE"]), permanenceController.claimMember);
2122

2223
//Respo de perm routes
2324

frontend/src/App.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,7 @@ const App: React.FC = () => {
8686
{/* ResposCE et Admin */}
8787
<Route path="/admin/teams" element={<PrivateRoute permissionRequired="Admin" roleRequired="Respo CE"><AdminPageTeam /></PrivateRoute>} />
8888
<Route path="/admin/factions" element={<PrivateRoute permissionRequired="Admin" roleRequired="Respo CE"><AdminPageFaction /></PrivateRoute>} />
89+
<Route path="/admin/permanences" element={<PrivateRoute permissionRequired="Admin" roleRequired="Respo CE"><AdminPagePerm /></PrivateRoute>} />
8990

9091
{/* ResposCE et Admin */}
9192
<Route path="/admin/news" element={<PrivateRoute permissionRequired="Admin" roleRequired="Communication"><AdminPageNews /></PrivateRoute>} />
@@ -96,7 +97,6 @@ const App: React.FC = () => {
9697
<Route path="/admin/roles" element={<AdminRoute><AdminPageRole /></AdminRoute>} />
9798
<Route path="/admin/events" element={<AdminRoute><AdminPageEvents /></AdminRoute>} />
9899
<Route path="/admin/export-import" element={<AdminRoute><AdminPageExport /></AdminRoute>} />
99-
<Route path="/admin/permanences" element={<AdminRoute><AdminPagePerm /></AdminRoute>} />
100100
<Route path="/admin/email" element={<AdminRoute><AdminPageEmail /></AdminRoute>} />
101101
<Route path="/admin/users" element={<AdminRoute><AdminPageUser /></AdminRoute>} />
102102
<Route path="/admin/games" element={<AdminRoute><AdminPageGames /></AdminRoute>} />

frontend/src/components/Admin/AdminPerm/adminPermMembers.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import {
88
getUsersByPermanence,
99
addUserToPermanence,
1010
removeUserFromPermanence,
11-
claimedMember,
11+
claimedMemberAdmin,
1212
} from "../../../services/requests/permanence.service";
1313
import { Permanence } from "../../../interfaces/permanence.interface";
1414
import { User } from "../../../interfaces/user.interface";
@@ -105,7 +105,7 @@ const PermanenceMembers: React.FC<PermanenceMembersProps> = ({ perm, users, onRe
105105
const handleToggleClaim = async (user: PermanenceMember): Promise<void> => {
106106
try {
107107
const newClaimedStatus = !user.claimed;
108-
await claimedMember(user.userId, perm.id, newClaimedStatus);
108+
await claimedMemberAdmin(user.userId, perm.id, newClaimedStatus);
109109

110110
await Swal.fire(
111111
newClaimedStatus ? "Présence confirmée" : "Présence retirée",

frontend/src/components/navbar.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ export const Navbar = () => {
6565
{ label: "Teams", to: "/admin/teams", rolesAllowed: ["Admin", "Respo CE"] },
6666
{ label: "Factions", to: "/admin/factions", rolesAllowed: ["Admin", "Respo CE"] },
6767
{ label: "Events", to: "/admin/events", rolesAllowed: ["Admin"] },
68-
{ label: "Permanences", to: "/admin/permanences", rolesAllowed: ["Admin"] },
68+
{ label: "Permanences", to: "/admin/permanences", rolesAllowed: ["Admin", "Respo CE"] },
6969
{ label: "Challenge", to: "/admin/challenge", rolesAllowed: ["Admin", "Arbitre"] },
7070
{ label: "Export / Import", to: "/admin/export-import", rolesAllowed: ["Admin"] },
7171
{ label: "Email", to: "/admin/email", rolesAllowed: ["Admin"] },

frontend/src/pages/admin.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@ export const AdminPagePerm: React.FC = () => {
131131
};
132132

133133
return (
134-
<AdminLayout allowedRoles={["Admin"]}>
134+
<AdminLayout allowedRoles={["Admin", "Respo CE"]}>
135135
<div className="flex flex-col gap-10 px-4 py-6 max-w-7xl mx-auto">
136136

137137
{/* Formulaire (créer/éditer) */}

frontend/src/services/requests/permanence.service.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -171,5 +171,14 @@ export const claimedMember = async (userId: number, permId: number, claimed : bo
171171
return response.data;
172172
};
173173

174+
export const claimedMemberAdmin = async (userId: number, permId: number, claimed : boolean) => {
175+
const response = await api.post(`/permanence/admin/claimedmember`, {
176+
userId,
177+
permId,
178+
claimed
179+
});
180+
return response.data;
181+
};
182+
174183

175184

0 commit comments

Comments
 (0)