diff --git a/application/controllers/api/frontend/v1/Noten.php b/application/controllers/api/frontend/v1/Noten.php index 83bda7923..8426b42b6 100644 --- a/application/controllers/api/frontend/v1/Noten.php +++ b/application/controllers/api/frontend/v1/Noten.php @@ -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, diff --git a/public/js/api/factory/noten.js b/public/js/api/factory/noten.js index bedaddab0..701aed199 100644 --- a/public/js/api/factory/noten.js +++ b/public/js/api/factory/noten.js @@ -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){ diff --git a/public/js/components/Cis/Benotungstool/Benotungstool.js b/public/js/components/Cis/Benotungstool/Benotungstool.js index 500540ca0..3f9646d64 100644 --- a/public/js/components/Cis/Benotungstool/Benotungstool.js +++ b/public/js/components/Cis/Benotungstool/Benotungstool.js @@ -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