Compare commits

...
4 changed files with 35 additions and 4 deletions
@@ -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'] = [
@@ -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'),
@@ -5,6 +5,11 @@ export default {
components: {
PruefungList
},
provide() {
return {
config: this.config
};
},
props: {
modelValue: Object,
config: Object
@@ -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 }}
</option>
</form-input>
<form-input
v-if="config?.showPunkte !== false"
container-class="mb-3"
type="text"
name="punkte"
:label="$p.t('stv/grades_points')"
v-model="pruefungData.punkte"
>
</form-input>
<!--DropDown Datum-->
<form-input
container-class="mb-3"