Skip to content

Commit 1fe8874

Browse files
committed
fix: Nouveau formatage des notes sur l'intranet
1 parent ae2ab2d commit 1fe8874

File tree

2 files changed

+56
-24
lines changed

2 files changed

+56
-24
lines changed

src/average.js

Lines changed: 39 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -24,15 +24,27 @@ class Average {
2424
const subjects = document.querySelectorAll("#mainContent > div.row > div:nth-child(4) > div > div > table > tbody tr");
2525
const grades = document.querySelectorAll("#mainContent > div.row > div:nth-child(3) > div > div > table > tbody tr");
2626

27-
// Récupérer les matières et les coefficients
2827
for (const subject of subjects) {
29-
if (subject.children[0].textContent.split('|').length === 1) {
30-
console.warn("[Better IUT RCC] Aucune matière n'a été saisie");
31-
continue;
32-
}
28+
let subjectCode = '';
29+
let subjectName = '';
30+
31+
if (subject.children[0].textContent.includes('|')) {
32+
if (subject.children[0].textContent.split('|').length === 1) {
33+
console.warn("[Better IUT RCC] Aucune matière n'a été saisie");
34+
continue;
35+
}
3336

34-
let subjectCode = subject.children[0].textContent.split('|')[0].trim();
35-
let subjectName = subject.children[0].textContent.split('|')[1].trim();
37+
subjectCode = subject.children[0].textContent.split('|')[0].trim();
38+
subjectName = subject.children[0].textContent.split('|')[1].trim();
39+
} else {
40+
if (subject.children[0].textContent.split('-').length === 1) {
41+
console.warn("[Better IUT RCC] Aucune matière n'a été saisie");
42+
continue;
43+
}
44+
45+
subjectCode = subject.children[0].textContent.split('-')[0].trim();
46+
subjectName = subject.children[0].textContent.split('-')[1].trim();
47+
};
3648

3749
let subjectFull = subjectCode + ' • ' + subjectName;
3850

@@ -58,6 +70,8 @@ class Average {
5870
coefficients: subjectCoefficients
5971
};
6072
};
73+
74+
console.warn(this.subjectData);
6175

6276
// Récupérer les notes et les coefficients
6377
for (const grade of grades) {
@@ -70,6 +84,12 @@ class Average {
7084
let gradeValue = Number.parseFloat(grade.children[4].children[0].textContent.replace(',', '.'));
7185
let coefficient = Number.parseFloat(grade.children[5].textContent.replace(',', '.'));
7286

87+
if (subject.includes('|')) {
88+
subject = subject.split('|')[0].trim();
89+
} else if (subject.includes('-')) {
90+
subject = subject.split('-')[0].trim();
91+
};
92+
7393
if (!this.gradesData.hasOwnProperty(subject)) {
7494
this.gradesData[subject] = []
7595
};
@@ -101,6 +121,12 @@ class Average {
101121
let subjectGrades = [];
102122
let subjectCoefficients = [];
103123

124+
if (subject.includes('|')) {
125+
subject = subject.split('|')[0].trim();
126+
} else if (subject.includes('-')) {
127+
subject = subject.split('-')[0].trim();
128+
};
129+
104130
if (this.gradesData.hasOwnProperty(subject)) {
105131
for (const gradeData of this.gradesData[subject]) {
106132
subjectGrades.push(gradeData.grade);
@@ -136,6 +162,12 @@ class Average {
136162
this.averageGradeData = Object.fromEntries(Object.entries(this.averageGradeData).sort());
137163
this.averageSubjectData = Object.fromEntries(Object.entries(this.averageSubjectData).sort());
138164
this.proficiencies = this.proficiencies.sort();
165+
166+
console.warn(this.gradesData);
167+
console.warn(this.subjectData);
168+
console.warn(this.averageGradeData);
169+
console.warn(this.averageSubjectData);
170+
console.warn(this.proficiencies);
139171
}
140172

141173

src/functions.js

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -459,18 +459,24 @@ export function fetchAllSortedGrades(htmlTable) {
459459
let buttonUrl = row.querySelector('td:nth-child(7) > button').getAttribute('data-modal-modal-url-value').split('/');
460460
let gradeId = parseInt(buttonUrl[buttonUrl.length - 1]);
461461
let gradeSubject = row.querySelector("td:nth-child(1)").textContent;
462-
let gradeSubjectDescription = row.querySelector("td:nth-child(1)").querySelector('abbr')?.getAttribute('title');
463462
let gradeEvaluation = row.querySelector("td:nth-child(2)").textContent;
464463
let gradeDate = row.querySelector("td:nth-child(3)").textContent;
465464
let gradeComment = row.querySelector("td:nth-child(4)").textContent;
466465
let gradeValue = Number(row.querySelector('td:nth-child(5) .badge').textContent.replace(',', '.'));
467466
gradeValue = isNaN(gradeValue) ? -1 : gradeValue;
468467
let gradeCoefficient = Number(row.querySelector('td:nth-child(6)').textContent);
469468

469+
let subject = gradeSubject;
470+
if (gradeSubject.includes('|')) {
471+
subject = gradeSubject.split('|')[0].trim();
472+
} else if (gradeSubject.includes('-')) {
473+
subject = gradeSubject.split('-')[0].trim();
474+
};
475+
470476
let grade = {
471477
id: gradeId,
472-
subject: gradeSubject,
473-
subjectDescription: gradeSubjectDescription,
478+
subject: subject,
479+
subjectDescription: gradeSubject,
474480
evaluation: gradeEvaluation,
475481
date: gradeDate,
476482
comment: gradeComment,
@@ -682,7 +688,7 @@ export function recreateTable(average, sortedGrades, knownGrades) {
682688
if (i === sortedGrades.length - 1 || sortedGrades[i + 1].subject !== grade.subject) {
683689
let trAverage = createRow({
684690
subject: `<i class="fa-solid fa-calculator"></i> ${grade.subject}`,
685-
subjectDescription: average.subjectDescription,
691+
subjectDescription: null,
686692
evaluation: '━ Moyenne ━━━━',
687693
grade: average.subjectAverage(grade.subject.trim()),
688694
}, true);
@@ -724,7 +730,7 @@ export function createRow(grade, isAverage, isNew = false) {
724730

725731
let subject = grade.subject;
726732
if (grade.subjectDescription) {
727-
subject = [grade.subject, grade.subjectDescription]
733+
subject = grade.subjectDescription
728734
};
729735

730736
const columns = [
@@ -758,18 +764,12 @@ export function createRow(grade, isAverage, isNew = false) {
758764
}
759765

760766
let td = document.createElement('td');
761-
if (Array.isArray(content)) {
762-
let abbr = document.createElement('abbr');
763-
abbr.textContent = content[0];
764-
abbr.title = content[1];
765-
td.appendChild(abbr);
766-
} else
767-
if (typeof content === 'string' || content instanceof String) {
768-
td.innerHTML = content;
769-
} else {
770-
td.appendChild(content);
771-
}
772-
tr.appendChild(td);
767+
if (typeof content === 'string' || content instanceof String) {
768+
td.innerHTML = content;
769+
} else {
770+
td.appendChild(content);
771+
}
772+
tr.appendChild(td);
773773
});
774774

775775
return tr;

0 commit comments

Comments
 (0)