diff --git a/application/controllers/api/frontend/v1/Noten.php b/application/controllers/api/frontend/v1/Noten.php index 70788d54d..252727776 100644 --- a/application/controllers/api/frontend/v1/Noten.php +++ b/application/controllers/api/frontend/v1/Noten.php @@ -130,17 +130,18 @@ class Noten extends FHCAPI_Controller } // send $grades reference to moodle addon - Events::trigger( - 'getExternalGrades', - function & () use (&$grades) - { - return $grades; - }, - [ - 'lvid' => $lv_id, - 'stsem' => $sem_kurzbz - ] - ); + // TODO: DONT LET FAULTY MOODLE TOKEN BREAK THE STARTUP +// Events::trigger( +// 'getExternalGrades', +// function & () use (&$grades) +// { +// return $grades; +// }, +// [ +// 'lvid' => $lv_id, +// 'stsem' => $sem_kurzbz +// ] +// ); // calculate notenvorschläge from teilnoten foreach($studentenData as $student) { diff --git a/application/views/CisRouterView/CisRouterView.php b/application/views/CisRouterView/CisRouterView.php index fe5191da1..b181a3c76 100644 --- a/application/views/CisRouterView/CisRouterView.php +++ b/application/views/CisRouterView/CisRouterView.php @@ -31,6 +31,7 @@ $includesArray = array( 'vendor/npm-asset/primevue/inputnumber/inputnumber.min.js', 'vendor/npm-asset/primevue/textarea/textarea.min.js', 'vendor/npm-asset/primevue/checkbox/checkbox.min.js', + 'vendor/npm-asset/primevue/divider/divider.min.js', 'vendor/moment/luxonjs/luxon.min.js', 'vendor/npm-asset/primevue/password/password.js', 'vendor/npm-asset/primevue/multiselect/multiselect.js' diff --git a/public/js/components/Cis/Benotungstool/Benotungstool.js b/public/js/components/Cis/Benotungstool/Benotungstool.js index 9581c7eda..8f96ef298 100644 --- a/public/js/components/Cis/Benotungstool/Benotungstool.js +++ b/public/js/components/Cis/Benotungstool/Benotungstool.js @@ -6,6 +6,7 @@ import BsModal from '../../Bootstrap/Modal.js'; import VueDatePicker from '../../vueDatepicker.js.php'; import LehreinheitenModule from '../../DropdownModes/LehreinheitenModule'; import MobilityLegende from '../../Mobility/Legende.js'; +import FhcOverlay from "../../Overlay/FhcOverlay.js"; export const Benotungstool = { name: "Benotungstool", @@ -14,10 +15,12 @@ export const Benotungstool = { CoreFilterCmpt, MobilityLegende, Dropdown: primevue.dropdown, + Divider: primevue.divider, Password: primevue.password, Textarea: primevue.textarea, Datepicker: VueDatePicker, - Multiselect: primevue.multiselect + Multiselect: primevue.multiselect, + FhcOverlay }, props: { lv_id: { @@ -282,7 +285,7 @@ export const Benotungstool = { }) }, savePruefungBulk(pruefungenbulk) { - this.loading = false + this.loading = true this.$api.call(ApiNoten.saveStudentPruefungBulk(this.lv_id, this.sem_kurzbz, pruefungenbulk)) .then((res)=> { if(res.meta.status === 'success') { @@ -716,6 +719,7 @@ export const Benotungstool = { const data = row.getData() if(!data.note_vorschlag) return + this.loading = true this.$api.call(ApiNoten.saveNotenvorschlag(this.lv_id, this.sem_kurzbz, data.uid, data.note_vorschlag)) .then((res) => { if (res.meta.status === 'success') { @@ -731,7 +735,7 @@ export const Benotungstool = { row.reformat() // trigger reformat of arrow this.changedNotenCounter++; } - }) + }).finally(()=>this.loading = false) }, @@ -1163,7 +1167,8 @@ export const Benotungstool = { lv_id: this.lv_id } }) - + + this.loading = true // diff lv_id -> reload zugewiesene lv this.$api.call(ApiLehre.getZugewieseneLv(this.viewData?.uid, e.value.studiensemester_kurzbz)).then(res => { this.lehrveranstaltungen = res.data @@ -1178,7 +1183,7 @@ export const Benotungstool = { // reload data this.loadNoten(this.lv_id, e.value.studiensemester_kurzbz) - }) + }).finally( () => this.loading = false) }, getOptionLabel(option) { @@ -1490,6 +1495,14 @@ export const Benotungstool = { } }, computed: { + getFreigabeCounter() { + return this.studenten ? this.studenten.reduce((acc, cur) => { + if(cur.freigegeben == 'changed') { + acc++ + } + return acc + }, 0) : 0 + }, LehreinheitenModule() { return LehreinheitenModule; }, @@ -1553,7 +1566,6 @@ export const Benotungstool = { } }, template: ` -