diff --git a/app/static/css/releve-but.css b/app/static/css/releve-but.css
index 021c83f59..1f7a492c9 100644
--- a/app/static/css/releve-but.css
+++ b/app/static/css/releve-but.css
@@ -279,6 +279,17 @@ section>div:nth-child(1) {
background: var(--couleurFondTitresSAE) !important;
color: #000 !important;
}
+/* UE Capitalisée */
+.synthese .ue.capitalisee,
+.ue.capitalisee>h3{
+ background: var(--couleurFondTitresUECapitalisee);;
+}
+.synthese .ue.capitalisee>h3::before{
+ content: "Capitalisée : ";
+}
+.synthese .ue.capitalisee .ue_rang{
+ display: none;
+}
/***************/
/* Evaluations */
@@ -294,6 +305,7 @@ section>div:nth-child(1) {
padding: 4px 32px;
border-radius: 4px;
display: flex;
+ align-items: center;
gap: 16px;
margin: 4px 0 2px 0;
overflow-x: auto;
@@ -337,8 +349,6 @@ section>div:nth-child(1) {
}
h3 {
- display: flex;
- align-items: center;
margin: 0 auto 0 0;
position: sticky;
left: -32px;
diff --git a/app/static/js/releve-but.js b/app/static/js/releve-but.js
index dfa0fa92b..64d54662d 100644
--- a/app/static/js/releve-but.js
+++ b/app/static/js/releve-but.js
@@ -305,7 +305,16 @@ class releveBUT extends HTMLElement {
/*******************************/
showSynthese(data) {
let output = ``;
- Object.entries(data.ues).forEach(([ue, dataUE]) => {
+ /* Fusion et tri des UE et UE capitalisées */
+ let fusionUE = [
+ ...Object.entries(data.ues),
+ ...Object.entries(data.ues_capitalisees)
+ ].sort((a, b) => {
+ return a[1].numero - b[1].numero
+ });
+
+ /* Affichage */
+ fusionUE.forEach(([ue, dataUE]) => {
if (dataUE.type == 1) { // UE Sport / Bonus
output += `
@@ -319,17 +328,22 @@ class releveBUT extends HTMLElement {
} else {
output += `
-
+
${ue}${(dataUE.titre) ? " - " + dataUE.titre : ""}
-
Moyenne : ${dataUE.moyenne?.value ?? "-"}
+
Moyenne : ${dataUE.moyenne?.value || dataUE.moyenne || "-"}
Rang : ${dataUE.moyenne?.rang} / ${dataUE.moyenne?.total}
-
- Bonus : ${dataUE.bonus || 0} -
- Malus : ${dataUE.malus || 0}
-
-
+ `;
+ if(!dataUE.date_capitalisation){
+ output += ` Bonus : ${dataUE.bonus || 0} -
+ Malus : ${dataUE.malus || 0}`;
+ } else {
+ output += ` le ${this.ISOToDate(dataUE.date_capitalisation.split("T")[0])}
dans ce semestre`;
+ }
+
+ output += `
-
ECTS : ${dataUE.ECTS?.acquis ?? "-"} / ${dataUE.ECTS?.total ?? "-"}
@@ -338,57 +352,19 @@ class releveBUT extends HTMLElement {
Abs N.J.
${dataUE.absences?.injustifie || 0}
Total
${dataUE.absences?.total || 0}
*/
- output += `
-
- ${this.synthese(data, dataUE.ressources)}
- ${this.synthese(data, dataUE.saes)}
-
- `;
- /* UE capitalisées */
- if (data.ues_capitalisees !== undefined) {
- if (ue in data.ues_capitalisees) {
- output += this.show_ue_capitalisee(ue, data.ues_capitalisees[ue]);
- delete data.ues_capitalisees[ue];
- }
+ output += "
";
+
+ if(!dataUE.date_capitalisation){
+ output +=
+ this.synthese(data, dataUE.ressources) +
+ this.synthese(data, dataUE.saes);
}
+
+ output += "
";
}
});
- /* UE capitalisées seulement (non déjà vues) */
- if (data.ues_capitalisees !== undefined) {
- Object.entries(data.ues_capitalisees).forEach(([ue, ue_cap]) => {
- output += this.show_ue_capitalisee(ue, data.ues_capitalisees[ue]);
- });
- }
this.shadow.querySelector(".synthese").innerHTML = output;
}
-
- show_ue_capitalisee(ue, ue_cap) {
- let date_capitalisation = new Date(ue_cap.date_capitalisation).toLocaleString("fr-FR");
- let link_sem = "";
- if (ue_cap.bul_orig_url != null) {
- link_sem = `
dans ce semestre`;
- }
- return `
-
-
-
- Capitalisée : ${ue}${(ue_cap.titre) ? " - " + ue_cap.titre : ""}
-
-
-
Moyenne : ${ue_cap.moyenne ?? "-"}
-
-
- le ${date_capitalisation} ${link_sem}
-
- ECTS : ${ue_cap.ECTS?.acquis ?? "-"} / ${ue_cap.ECTS?.total ?? "-"}
-
-
-
-
-
`;
- }
-
-
synthese(data, modules) {
let output = "";
Object.entries(modules).forEach(([module, dataModule]) => {