diff --git a/application/controllers/api/frontend/v1/stv/Config.php b/application/controllers/api/frontend/v1/stv/Config.php index cc6c04430..06ab19e15 100644 --- a/application/controllers/api/frontend/v1/stv/Config.php +++ b/application/controllers/api/frontend/v1/stv/Config.php @@ -386,7 +386,10 @@ class Config extends FHCAPI_Controller $result['exam'] = [ 'title' => $this->p->t('stv', 'tab_exam'), 'component' => absoluteJsImportUrl('public/js/components/Stv/Studentenverwaltung/Details/Pruefung.js'), - 'showOnlyWithUid' => true + 'showOnlyWithUid' => true, + 'config' => [ + 'showPunkte' => defined('CIS_GESAMTNOTE_PUNKTE') ? CIS_GESAMTNOTE_PUNKTE : false, + ] ]; $result['exemptions'] = [ diff --git a/application/controllers/api/frontend/v1/stv/Pruefung.php b/application/controllers/api/frontend/v1/stv/Pruefung.php index becda03ee..774b4a92b 100644 --- a/application/controllers/api/frontend/v1/stv/Pruefung.php +++ b/application/controllers/api/frontend/v1/stv/Pruefung.php @@ -113,7 +113,7 @@ class Pruefung extends FHCAPI_Controller // Load language phrases $this->loadPhrases([ - 'global', 'ui', 'lehre', 'exam' + 'global', 'ui', 'lehre', 'exam', 'stv' ]); } @@ -383,6 +383,9 @@ class Pruefung extends FHCAPI_Controller $this->form_validation->set_rules('pruefungstyp_kurzbz', $this->p->t('lehre', 'pruefung'), 'required', [ 'required' => $this->p->t('ui', 'error_fieldRequired', ['field' => $this->p->t('global', 'typ')]), ]); + $this->form_validation->set_rules('punkte', $this->p->t('stv', 'grades_points'), 'numeric', [ + 'numeric' => $this->p->t('ui', 'error_fieldNotNumeric', ['field' => $this->p->t('stv', 'grades_points')]), + ]); $this->form_validation->set_rules( 'datum', $this->p->t('global', 'datum'), @@ -460,6 +463,7 @@ class Pruefung extends FHCAPI_Controller 'student_uid' => $this->input->post('student_uid'), 'mitarbeiter_uid' => $this->input->post('mitarbeiter_uid'), 'note' => $this->input->post('note'), + 'punkte' => $this->input->post('punkte'), 'pruefungstyp_kurzbz' => $this->input->post('pruefungstyp_kurzbz'), 'datum' => $datum, 'anmerkung' => $this->input->post('anmerkung'), diff --git a/public/js/components/Stv/Studentenverwaltung/Details/Pruefung.js b/public/js/components/Stv/Studentenverwaltung/Details/Pruefung.js index c2d6fc494..f1261854c 100644 --- a/public/js/components/Stv/Studentenverwaltung/Details/Pruefung.js +++ b/public/js/components/Stv/Studentenverwaltung/Details/Pruefung.js @@ -5,6 +5,11 @@ export default { components: { PruefungList }, + provide() { + return { + config: this.config + }; + }, props: { modelValue: Object, config: Object diff --git a/public/js/components/Stv/Studentenverwaltung/Details/Pruefung/Pruefunglist.js b/public/js/components/Stv/Studentenverwaltung/Details/Pruefung/Pruefunglist.js index 9f89a72ac..162785ed4 100644 --- a/public/js/components/Stv/Studentenverwaltung/Details/Pruefung/Pruefunglist.js +++ b/public/js/components/Stv/Studentenverwaltung/Details/Pruefung/Pruefunglist.js @@ -23,6 +23,10 @@ export default{ lists: { from: 'lists' }, + config: { + from: 'config', + required: true + }, }, props: { uid: String @@ -87,7 +91,10 @@ export default{ {title: "LehreinheitId", field: "lehreinheit_id", visible: false}, {title: "Student_uid", field: "student_uid", visible: false}, {title: "Mitarbeiter_uid", field: "mitarbeiter_uid", visible: false}, - {title: "Punkte", field: "punkte", visible: false}, + {title: "Punkte", field: "punkte", visible: false, formatter: function(cell) { + return Math.round(cell.getValue()); + } + }, { title: 'Aktionen', field: 'actions', formatter: (cell, formatterParams, onRendered) => { @@ -182,6 +189,8 @@ export default{ .call(ApiStvExam.loadPruefung(pruefung_id)) .then(result => { this.pruefungData = result.data; + if(this.pruefungData.punkte) + this.pruefungData.punkte = Math.round(this.pruefungData.punkte); return result; }) .catch(this.$fhcAlert.handleSystemError); @@ -519,7 +528,17 @@ export default{ {{ note.bezeichnung }} - + + + +