diff --git a/application/controllers/api/frontend/v1/stv/Projektbetreuer.php b/application/controllers/api/frontend/v1/stv/Projektbetreuer.php
index ac6663132..58b963ede 100644
--- a/application/controllers/api/frontend/v1/stv/Projektbetreuer.php
+++ b/application/controllers/api/frontend/v1/stv/Projektbetreuer.php
@@ -48,7 +48,8 @@ class Projektbetreuer extends FHCAPI_Controller
if (!isset($projektarbeit_id)) $this->terminateWithError($this->p->t('ui', 'error_missingId', ['id'=> 'Projektarbeit ID']), self::ERROR_TYPE_GENERAL);
$this->ProjektbetreuerModel->addSelect(
- 'projektarbeit_id, person_id, nachname, vorname, note, punkte, stunden, stundensatz, betreuerart_kurzbz, vertrag_id, titelpre, titelpost'
+ 'projektarbeit_id, person_id, nachname, vorname, note, punkte, round(stunden, 1) AS stunden,
+ stundensatz, betreuerart_kurzbz, vertrag_id, titelpre, titelpost'
);
$this->ProjektbetreuerModel-> addSelect("CASE
WHEN EXISTS
diff --git a/public/js/components/Stv/Studentenverwaltung/Details/Projektarbeit/Details.js b/public/js/components/Stv/Studentenverwaltung/Details/Projektarbeit/Details.js
index 7f98948d4..b384196d8 100644
--- a/public/js/components/Stv/Studentenverwaltung/Details/Projektarbeit/Details.js
+++ b/public/js/components/Stv/Studentenverwaltung/Details/Projektarbeit/Details.js
@@ -10,7 +10,7 @@ export default {
FormInput,
PvAutoComplete
},
- emits: ['details-saved'],
+ emits: ['projekttypChanged'],
inject: {
defaultSemester: {
from: 'defaultSemester'
@@ -82,6 +82,11 @@ export default {
}
}
},
+ watch: {
+ 'formData.projekttyp_kurzbz'(newValue, oldValue) {
+ this.$emit('projekttypChanged', newValue);
+ }
+ },
methods: {
resetForm() {
this.formData.projektarbeit_id = null;
@@ -284,15 +289,6 @@ export default {
-
{
const projektarbeit_id = result.data;
- console.log(projektarbeit_id);
if (!isNaN(projektarbeit_id)) {
return this.$refs.projektbetreuer.saveProjektbetreuer(projektarbeit_id);
}
})
.then((result) => {
- console.log(result);
this.projektarbeitSaved();
})
.catch(this.$fhcAlert.handleSystemError);
@@ -294,7 +292,6 @@ export default {
})
.then((result) => {
const projektarbeit_id = result.data;
- console.log(projektarbeit_id);
if (!isNaN(projektarbeit_id)) {
return this.$refs.projektbetreuer.saveProjektbetreuer(projektarbeit_id);
@@ -325,6 +322,9 @@ export default {
rowSelectionChanged(data) {
this.lastSelected = data.length > 0 ? data[0] : null;
},
+ setDefaultStunden(projekttyp_kurzbz) {
+ this.$refs.projektbetreuer.setDefaultStunden(projekttyp_kurzbz);
+ },
hideModal(modalRef){
this.$refs[modalRef].hide();
},
@@ -361,7 +361,8 @@ export default {
diff --git a/public/js/components/Stv/Studentenverwaltung/Details/Projektarbeit/Projektbetreuer.js b/public/js/components/Stv/Studentenverwaltung/Details/Projektarbeit/Projektbetreuer.js
index e1a06cb23..ea8dba94f 100644
--- a/public/js/components/Stv/Studentenverwaltung/Details/Projektarbeit/Projektbetreuer.js
+++ b/public/js/components/Stv/Studentenverwaltung/Details/Projektarbeit/Projektbetreuer.js
@@ -93,6 +93,7 @@ export default {
stunden: null,
stundensatz: null
},
+ editMode: false,
initialFormData: null,
defaultFormDataValues: {stunden: null, stundensatz: null},
projektarbeit_id: null,
@@ -111,15 +112,17 @@ export default {
actionNewProjektbetreuer() {
this.resetForm();
this.statusNew = true;
+ this.editMode = !this.editMode;
this.captureFormData();
},
actionEditProjektbetreuer(projektarbeit_id, person_id, betreuerart_kurzbz) {
+ this.statusNew = false;
+ this.editMode = true;
this.$api
.call(ApiStvProjektbetreuer.getDefaultStundensaetze(person_id, this.studiensemester_kurzbz))
.then(result => {
this.resetForm();
- this.statusNew = false;
let projektbetreuerListe = this.$refs.table.tabulator.getData();
const idx = projektbetreuerListe.findIndex(
betr =>
@@ -162,9 +165,7 @@ export default {
this.studiensemester_kurzbz = studiensemester_kurzbz;
- this.defaultFormDataValues.stunden = '0.0';
- if (projekttyp_kurzbz == 'Bachelor') this.defaultFormDataValues.stunden = this.config.defaultProjektbetreuerStunden;
- if (projekttyp_kurzbz == 'Diplom') this.defaultFormDataValues.stunden = this.config.defaultProjektbetreuerStundenDiplom;
+ this.defaultFormDataValues.stunden = this.getDefaultStunden(projekttyp_kurzbz);
this.defaultFormDataValues.stundensatz = this.config.defaultProjektbetreuerStundensatz;
this.$api
@@ -196,18 +197,20 @@ export default {
}
},
confirmProjektbetreuer() {
- if (!this.formDataModified()) return;
+ if (!this.editMode) return;
- if (this.statusNew) {
+ if (typeof this.formData.betreuer_id == 'undefined') {
this.formData.betreuer_id = this.getNewBetreuerId();
this.$refs.table.tabulator.addData(this.addAutoCompleteBetreuerToFormData(this.formData));
} else {
this.$refs.table.tabulator.updateData([this.formData]);
this.statusNew = true;
}
+
+ this.editMode = false;
},
confirmProjektbetreuerAfterValidation() {
- if (!this.formDataModified()) return;
+ //if (!this.formDataModified()) return;
this.validateProjektbetreuer()
.then(result => {
@@ -245,7 +248,7 @@ export default {
validateProjektbetreuer() {
let alleBetreuer = this.$refs.table.tabulator.getData();
- if (this.formDataModified()) {
+ if (this.editMode) {
alleBetreuer.push(this.addAutoCompleteBetreuerToFormData(this.formData));
}
@@ -255,6 +258,7 @@ export default {
this.formData = this.getDefaultFormData();
this.autocompleteSelectedBetreuer = null;
this.initialFormData = null;
+ if (this.projekttyp_kurzbz) this.setDefaultStunden(this.projekttyp_kurzbz);
},
getDefaultFormData() {
let formData = {betreuerart_kurzbz : null, note: null};
@@ -292,6 +296,16 @@ export default {
return preparedFormData;
},
+ getDefaultStunden(projekttyp_kurzbz) {
+ let stunden = '0.0';
+ if (projekttyp_kurzbz == 'Bachelor') stunden = this.config.defaultProjektbetreuerStunden;
+ if (projekttyp_kurzbz == 'Diplom') stunden = this.config.defaultProjektbetreuerStundenDiplom;
+ return stunden;
+ },
+ setDefaultStunden(projekttyp_kurzbz) {
+ this.projekttyp_kurzbz = projekttyp_kurzbz;
+ if (!this.formDataModified()) this.formData.stunden = this.getDefaultStunden(projekttyp_kurzbz);
+ },
getNewBetreuerId() {
let max = 0;
@@ -333,7 +347,7 @@ export default {
>
-
+
-
+
`
}