punkte feature basically finished; WIP testing & import rewrite

This commit is contained in:
Johann Hoffmann
2026-02-03 17:38:33 +01:00
parent 054663ee00
commit 40c79158f7
3 changed files with 13 additions and 11 deletions
@@ -107,8 +107,7 @@ class Noten extends FHCAPI_Controller
// 'CIS_GESAMTNOTE_PRUEFUNG_MOODLE_NOTE' => CIS_GESAMTNOTE_PRUEFUNG_MOODLE_NOTE,
// TODO
// basically show the source of teilnoten (moodle or le)
// basically a toggle for "use teilnoten" and the source is always moodle
// Bei Gesamtnote die Spalte fuer die Quelle der Noten anzeigen (Moodle oder LE)
'CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE' => CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE,
// Gibt an ob die Note im Notenfreigabemail enthalten ist oder nicht
@@ -240,11 +239,7 @@ class Noten extends FHCAPI_Controller
}
}
// TODO: develop the punkte feature with models
// calculate grades points from notenschlüssel
if (CIS_GESAMTNOTE_PUNKTE) {
// TODO: can only be implemented once
if (defined('CIS_GESAMTNOTE_GEWICHTUNG') && CIS_GESAMTNOTE_GEWICHTUNG) {
// Lehreinheitsgewichtung
$punkte_vorschlag = round($punktesumme_gewichtet / $gewichtsumme, 2);
@@ -839,6 +834,9 @@ class Noten extends FHCAPI_Controller
$student_uid = $result->student_uid;
$sem_kurzbz = $result->sem_kurzbz;
$note = $result->note;
$punkte = $result->punkte;
$result = $this->LvgesamtnoteModel->getLvGesamtNoten($lv_id, $student_uid, $sem_kurzbz);
@@ -849,7 +847,7 @@ class Noten extends FHCAPI_Controller
[$lvgesamtnote->student_uid, $lvgesamtnote->studiensemester_kurzbz, $lvgesamtnote->lehrveranstaltung_id],
array(
'note' => $note,
'punkte' => null,
'punkte' => $punkte,
'benotungsdatum' => date("Y-m-d H:i:s"),
'updateamum' => date("Y-m-d H:i:s"),
'updatevon' => getAuthUID()
@@ -867,7 +865,7 @@ class Noten extends FHCAPI_Controller
'lehrveranstaltung_id' => $lv_id,
'studiensemester_kurzbz' => $sem_kurzbz,
'note' => $note,
'punkte' => null,
'punkte' => $punkte,
'mitarbeiter_uid' => getAuthUID(),
'benotungsdatum' => date("Y-m-d H:i:s"),
'freigabedatum' => null,
+2 -2
View File
@@ -42,11 +42,11 @@ export default {
params: { password, noten, lv_id, sem_kurzbz }
};
},
saveNotenvorschlag(lv_id, sem_kurzbz, student_uid, note) {
saveNotenvorschlag(lv_id, sem_kurzbz, student_uid, note, punkte = null) {
return {
method: 'post',
url: '/api/frontend/v1/Noten/saveNotenvorschlag',
params: { lv_id, sem_kurzbz, student_uid, note }
params: { lv_id, sem_kurzbz, student_uid, note, punkte }
};
},
saveStudentPruefung(student_uid, note, punkte, datum, lva_id, lehreinheit_id, sem_kurzbz, typ){
@@ -433,6 +433,8 @@ export const Benotungstool = {
}
})
// TODO: punkte parsen!
// parsers check for notenOption.lehre === true and if student uid/matrikelnr matches
// pruefungen check for younger pruefungen, so there are no further antritte with
@@ -792,7 +794,7 @@ export const Benotungstool = {
if(!data.note_vorschlag) return
this.loading = true
this.$api.call(ApiNoten.saveNotenvorschlag(this.lv_id, this.sem_kurzbz, data.uid, data.note_vorschlag))
this.$api.call(ApiNoten.saveNotenvorschlag(this.lv_id, this.sem_kurzbz, data.uid, data.note_vorschlag, data.punkte))
.then((res) => {
if (res.meta.status === 'success') {
const s = this.studenten.find(s => s.uid === data.uid)
@@ -1087,6 +1089,8 @@ export const Benotungstool = {
s.benotungsdatum = this.parseDate(this.teilnoten[s.uid]['benotungsdatum'])
s.freigegeben = this.checkFreigabe(s.freigabedatum, s.benotungsdatum, s.uid);
s.punkte = this.teilnoten[s.uid].punkte_lv
const grades = this.teilnoten[s.uid].grades
s.teilnote = ''
s.mobility_zusatz = this.teilnoten[s.uid].mobility_zusatz