From ae4d4d3020f8fb9dfa49a000297ed29883a1a0f8 Mon Sep 17 00:00:00 2001 From: Djalim Simaila Date: Fri, 1 May 2026 14:26:00 +0200 Subject: [PATCH] refactor: rename Module to ECUE, update routes, UI, and API messages refactor: rename Module to ECUE in API, UI, and error messages --- fresh.gen.ts | 14 +++++++---- routes/(apps)/admin/(_islands)/EditUser.tsx | 8 +++---- .../admin/(_islands)/ImportMaquette.tsx | 23 +++++++++---------- routes/(apps)/admin/(_props)/props.ts | 4 ++-- routes/(apps)/admin/api/modules.ts | 2 +- routes/(apps)/admin/api/ue-modules.ts | 4 ++-- .../ue-modules/[idModule]/[idUE]/[idPromo].ts | 2 +- .../(apps)/notes/(_islands)/ImportNotes.tsx | 4 ++-- routes/(apps)/notes/(_islands)/NoteRecap.tsx | 4 ++-- routes/(apps)/notes/(_islands)/NotesView.tsx | 2 +- 10 files changed, 36 insertions(+), 31 deletions(-) diff --git a/fresh.gen.ts b/fresh.gen.ts index 4d3229d..d119210 100644 --- a/fresh.gen.ts +++ b/fresh.gen.ts @@ -31,13 +31,14 @@ import * as $_apps_admin_partials_roles from "./routes/(apps)/admin/partials/rol import * as $_apps_admin_partials_ues from "./routes/(apps)/admin/partials/ues.tsx"; import * as $_apps_admin_partials_users from "./routes/(apps)/admin/partials/users.tsx"; import * as $_apps_admin_users_id_ from "./routes/(apps)/admin/users/[id].tsx"; -import * as $_apps_mobility_slug_ from "./routes/(apps)/mobility/[slug].tsx"; +import * as $_apps_mobility_slug_ from "./routes/(apps)/mobility/[...slug].tsx"; import * as $_apps_mobility_api_mobilites from "./routes/(apps)/mobility/api/mobilites.ts"; import * as $_apps_mobility_api_mobilites_idMob_ from "./routes/(apps)/mobility/api/mobilites/[idMob].ts"; import * as $_apps_mobility_api_mobilites_idMob_contrat from "./routes/(apps)/mobility/api/mobilites/[idMob]/contrat.ts"; import * as $_apps_mobility_index from "./routes/(apps)/mobility/index.tsx"; import * as $_apps_mobility_partials_index from "./routes/(apps)/mobility/partials/index.tsx"; import * as $_apps_mobility_partials_overview from "./routes/(apps)/mobility/partials/overview.tsx"; +import * as $_apps_mobility_partials_overview_numEtud_ from "./routes/(apps)/mobility/partials/overview/[numEtud].tsx"; import * as $_apps_notes_slug_ from "./routes/(apps)/notes/[slug].tsx"; import * as $_apps_notes_api_ajustements from "./routes/(apps)/notes/api/ajustements.ts"; import * as $_apps_notes_api_ajustements_numEtud_idUE_ from "./routes/(apps)/notes/api/ajustements/[numEtud]/[idUE].ts"; @@ -54,12 +55,13 @@ import * as $_apps_notes_partials_admin_import from "./routes/(apps)/notes/parti import * as $_apps_notes_partials_index from "./routes/(apps)/notes/partials/index.tsx"; import * as $_apps_notes_partials_notes from "./routes/(apps)/notes/partials/notes.tsx"; import * as $_apps_notes_recap_numEtud_ from "./routes/(apps)/notes/recap/[numEtud].tsx"; -import * as $_apps_stages_slug_ from "./routes/(apps)/stages/[slug].tsx"; +import * as $_apps_stages_slug_ from "./routes/(apps)/stages/[...slug].tsx"; import * as $_apps_stages_api_stages from "./routes/(apps)/stages/api/stages.ts"; import * as $_apps_stages_api_stages_idStage_ from "./routes/(apps)/stages/api/stages/[idStage].ts"; import * as $_apps_stages_index from "./routes/(apps)/stages/index.tsx"; import * as $_apps_stages_partials_index from "./routes/(apps)/stages/partials/index.tsx"; import * as $_apps_stages_partials_overview from "./routes/(apps)/stages/partials/overview.tsx"; +import * as $_apps_stages_partials_overview_numEtud_ from "./routes/(apps)/stages/partials/overview/[numEtud].tsx"; import * as $_apps_students_slug_ from "./routes/(apps)/students/[slug].tsx"; import * as $_apps_students_api_promotions from "./routes/(apps)/students/api/promotions.ts"; import * as $_apps_students_api_promotions_idPromo_ from "./routes/(apps)/students/api/promotions/[idPromo].ts"; @@ -145,7 +147,7 @@ const manifest = { "./routes/(apps)/admin/partials/ues.tsx": $_apps_admin_partials_ues, "./routes/(apps)/admin/partials/users.tsx": $_apps_admin_partials_users, "./routes/(apps)/admin/users/[id].tsx": $_apps_admin_users_id_, - "./routes/(apps)/mobility/[slug].tsx": $_apps_mobility_slug_, + "./routes/(apps)/mobility/[...slug].tsx": $_apps_mobility_slug_, "./routes/(apps)/mobility/api/mobilites.ts": $_apps_mobility_api_mobilites, "./routes/(apps)/mobility/api/mobilites/[idMob].ts": $_apps_mobility_api_mobilites_idMob_, @@ -156,6 +158,8 @@ const manifest = { $_apps_mobility_partials_index, "./routes/(apps)/mobility/partials/overview.tsx": $_apps_mobility_partials_overview, + "./routes/(apps)/mobility/partials/overview/[numEtud].tsx": + $_apps_mobility_partials_overview_numEtud_, "./routes/(apps)/notes/[slug].tsx": $_apps_notes_slug_, "./routes/(apps)/notes/api/ajustements.ts": $_apps_notes_api_ajustements, "./routes/(apps)/notes/api/ajustements/[numEtud]/[idUE].ts": @@ -178,7 +182,7 @@ const manifest = { "./routes/(apps)/notes/partials/index.tsx": $_apps_notes_partials_index, "./routes/(apps)/notes/partials/notes.tsx": $_apps_notes_partials_notes, "./routes/(apps)/notes/recap/[numEtud].tsx": $_apps_notes_recap_numEtud_, - "./routes/(apps)/stages/[slug].tsx": $_apps_stages_slug_, + "./routes/(apps)/stages/[...slug].tsx": $_apps_stages_slug_, "./routes/(apps)/stages/api/stages.ts": $_apps_stages_api_stages, "./routes/(apps)/stages/api/stages/[idStage].ts": $_apps_stages_api_stages_idStage_, @@ -186,6 +190,8 @@ const manifest = { "./routes/(apps)/stages/partials/index.tsx": $_apps_stages_partials_index, "./routes/(apps)/stages/partials/overview.tsx": $_apps_stages_partials_overview, + "./routes/(apps)/stages/partials/overview/[numEtud].tsx": + $_apps_stages_partials_overview_numEtud_, "./routes/(apps)/students/[slug].tsx": $_apps_students_slug_, "./routes/(apps)/students/api/promotions.ts": $_apps_students_api_promotions, diff --git a/routes/(apps)/admin/(_islands)/EditUser.tsx b/routes/(apps)/admin/(_islands)/EditUser.tsx index c9e45ca..2254461 100644 --- a/routes/(apps)/admin/(_islands)/EditUser.tsx +++ b/routes/(apps)/admin/(_islands)/EditUser.tsx @@ -106,7 +106,7 @@ export default function EditUser({ userId }: Props) { async function addEnseignement() { if (!addModule || !addPromo) { - setAddError("Module et Promo sont requis"); + setAddError("ECUE et Promo sont requis"); return; } setAdding(true); @@ -276,7 +276,7 @@ export default function EditUser({ userId }: Props) { class="col-dim" style="font-size: 0.75rem; margin: 0 0 0.75rem" > - Modules enseignes par cet utilisateur + ECUEs enseignes par cet utilisateur

{enseignements.length > 0 @@ -285,7 +285,7 @@ export default function EditUser({ userId }: Props) { - + @@ -360,7 +360,7 @@ export default function EditUser({ userId }: Props) { setAddModule((e.target as HTMLSelectElement).value)} style="min-width: 12rem" > - + {modules.map((m) => ( - + @@ -485,7 +484,7 @@ export default function ImportMaquette() { ) @@ -550,7 +549,7 @@ export default function ImportMaquette() {

Format : fichier maquette FISE / FISA avec lignes UE - et modules (colonnes code, nom, coefficient) + et ECUEs (colonnes code, nom, coefficient)

); diff --git a/routes/(apps)/admin/(_props)/props.ts b/routes/(apps)/admin/(_props)/props.ts index add375c..762a5df 100644 --- a/routes/(apps)/admin/(_props)/props.ts +++ b/routes/(apps)/admin/(_props)/props.ts @@ -8,7 +8,7 @@ const properties: AppProperties = { users: "Utilisateurs", roles: "Rôles", permissions: "Permissions", - modules: "Modules", + modules: "ECUEs", enseignements: "Enseignements", promotions: "Promotions", ues: "UEs", @@ -25,7 +25,7 @@ const properties: AppProperties = { "import-maquette", ], employeeOnly: true, - hint: "PolyMPR module", + hint: "PolyMPR ECUE", }; export default properties; diff --git a/routes/(apps)/admin/api/modules.ts b/routes/(apps)/admin/api/modules.ts index 63ebfe1..4519db3 100644 --- a/routes/(apps)/admin/api/modules.ts +++ b/routes/(apps)/admin/api/modules.ts @@ -44,7 +44,7 @@ export const handler: Handlers = { if (existing) { return new Response( - JSON.stringify({ error: "Un module avec cet identifiant existe déjà" }), + JSON.stringify({ error: "Un ECUE avec cet identifiant existe déjà" }), { status: 409, headers: { "content-type": "application/json" } }, ); } diff --git a/routes/(apps)/admin/api/ue-modules.ts b/routes/(apps)/admin/api/ue-modules.ts index 1a825a6..d2672d4 100644 --- a/routes/(apps)/admin/api/ue-modules.ts +++ b/routes/(apps)/admin/api/ue-modules.ts @@ -65,8 +65,8 @@ export const handler: Handlers = { headers: { "Content-Type": "application/json" }, }); } catch (error) { - console.error("Error creating UE-module:", error); - return new Response("Failed to create UE-module", { status: 500 }); + console.error("Error creating UE-ECUE:", error); + return new Response("Failed to create UE-ECUE", { status: 500 }); } }, }; diff --git a/routes/(apps)/admin/api/ue-modules/[idModule]/[idUE]/[idPromo].ts b/routes/(apps)/admin/api/ue-modules/[idModule]/[idUE]/[idPromo].ts index 7470e7f..b71396d 100644 --- a/routes/(apps)/admin/api/ue-modules/[idModule]/[idUE]/[idPromo].ts +++ b/routes/(apps)/admin/api/ue-modules/[idModule]/[idUE]/[idPromo].ts @@ -6,7 +6,7 @@ import { and, eq } from "npm:drizzle-orm@0.45.2"; const NOT_FOUND = () => new Response( - JSON.stringify({ error: "Association UE-Module introuvable" }), + JSON.stringify({ error: "Association UE-ECUE introuvable" }), { status: 404, headers: { "content-type": "application/json" } }, ); diff --git a/routes/(apps)/notes/(_islands)/ImportNotes.tsx b/routes/(apps)/notes/(_islands)/ImportNotes.tsx index 50168c8..1855520 100644 --- a/routes/(apps)/notes/(_islands)/ImportNotes.tsx +++ b/routes/(apps)/notes/(_islands)/ImportNotes.tsx @@ -581,7 +581,7 @@ export default function ImportNotes() { ))}

- M = module (importe) | UE = moyenne UE (ignore) | X = malus + M = ECUE (importe) | UE = moyenne UE (ignore) | X = malus

)} @@ -618,7 +618,7 @@ export default function ImportNotes() {

Format : Nom | Prenom |{" "} - CODE - Module (colonnes notes){" "} + CODE - ECUE (colonnes notes){" "} — les colonnes UE et MALUS sont auto-detectees

diff --git a/routes/(apps)/notes/(_islands)/NoteRecap.tsx b/routes/(apps)/notes/(_islands)/NoteRecap.tsx index de9ec39..5a516f0 100644 --- a/routes/(apps)/notes/(_islands)/NoteRecap.tsx +++ b/routes/(apps)/notes/(_islands)/NoteRecap.tsx @@ -324,14 +324,14 @@ export default function NoteRecap({ numEtud }: Props) { )} - {/* Module rows */} + {/* ECUE rows */} {ueMods.length === 0 ? (

- Aucun module associe a cette UE pour cette promotion. + Aucun ECUE associe a cette UE pour cette promotion.

) : ( diff --git a/routes/(apps)/notes/(_islands)/NotesView.tsx b/routes/(apps)/notes/(_islands)/NotesView.tsx index 326d6e7..35cc897 100644 --- a/routes/(apps)/notes/(_islands)/NotesView.tsx +++ b/routes/(apps)/notes/(_islands)/NotesView.tsx @@ -225,7 +225,7 @@ export default function NotesView({ numEtud, prenom }: Props) {
{mod ? mod.id : um.idModule} —{" "} - {mod ? mod.nom : "Module inconnu"} (coef {um.coeff}) + {mod ? mod.nom : "ECUE inconnu"} (coef {um.coeff}) {effective !== null ? `${effective}/20` : "—"}
ModuleECUE Promo Actions
UEModuleECUE Code Coeff
{ue.name} - Aucun module + Aucun ECUE