diff options
Diffstat (limited to 'cockpit/js/student-common.js')
| -rw-r--r-- | cockpit/js/student-common.js | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/cockpit/js/student-common.js b/cockpit/js/student-common.js index 991876d..1f4d083 100644 --- a/cockpit/js/student-common.js +++ b/cockpit/js/student-common.js @@ -14,12 +14,13 @@ class Student { } } -async function fetchStudent(nameFilter, groupFilter) { - return await fetchStudents(nameFilter, groupFilter)[0]; +async function fetchStudent(idFilter, nameFilter, groupFilter) { + const students = await fetchStudents(idFilter, nameFilter, groupFilter); + return students[0]; } const idRegex = /id=(\d+)/; -async function fetchStudents(nameFilter, groupFilter) { +async function fetchStudents(idFilter, nameFilter, groupFilter) { const res = await fetch(getCourseParticipantsUrl()); const doc = new DOMParser().parseFromString(await res.text(), "text/html"); const table = doc.querySelector("tbody"); @@ -49,7 +50,8 @@ async function fetchStudents(nameFilter, groupFilter) { const groupsText = groupCell.querySelector("a.quickeditlink").textContent; const group = groupsText.trim(); - if ((!nameFilter || name.includes(nameFilter)) && + if ((!idFilter || id === idFilter) && + (!nameFilter || name.includes(nameFilter)) && (!groupFilter || groupFilter === group)) { students.push(new Student(id, name, group)); |
