From 97f72caf90d7461248fb02cf8e108f99ebb12f1a Mon Sep 17 00:00:00 2001 From: Alexei Karpenko Date: Fri, 12 Sep 2025 02:02:31 +0200 Subject: [PATCH] Studierendenverwaltung Projektarbeiten: display of lv orgform only if present, hiding modal again after save, Betreuer can be edited after initial creation of Projektarbeit --- .../Details/Projektarbeit/Details.js | 40 ++---------------- .../Details/Projektarbeit/Projektarbeit.js | 34 ++++++++++----- .../Details/Projektarbeit/Projektbetreuer.js | 42 ++++++++++--------- 3 files changed, 50 insertions(+), 66 deletions(-) diff --git a/public/js/components/Stv/Studentenverwaltung/Details/Projektarbeit/Details.js b/public/js/components/Stv/Studentenverwaltung/Details/Projektarbeit/Details.js index 35a4f5f8a..a51342c7c 100644 --- a/public/js/components/Stv/Studentenverwaltung/Details/Projektarbeit/Details.js +++ b/public/js/components/Stv/Studentenverwaltung/Details/Projektarbeit/Details.js @@ -100,41 +100,7 @@ export default { this.formData.anmerkung = null; this.$refs.formDetails.clearValidation(); }, - getFormData(statusNew, studiensemester_kurzbz, additional_lehrveranstaltung_id/*, successCallback*/) { - - //~ let callArray = [ - //~ this.$api.call(ApiStvProjektarbeit.getTypenProjektarbeit()), - //~ this.$api.call(ApiStvProjektarbeit.getLehrveranstaltungen( - //~ this.student.uid, - //~ projektarbeit_id ? null : this.student.studiengang_kz, - //~ studiensemester_kurzbz ?? this.defaultSemester, - //~ additional_lehrveranstaltung_id ?? null - //~ )), - //~ this.$api.call(ApiStvProjektarbeit.getNoten()) - //~ ]; - - //~ if (projektarbeit_id) callArray.push(this.$api.call(ApiStvProjektarbeit.loadProjektarbeit(projektarbeit_id))); - - //~ // Run when All promises are settled - //~ Promise.allSettled(callArray).then((results) => { - //~ let hasError = false; - //~ let allFormData = []; - //~ results.forEach((promise_result) => { - - //~ if (promise_result.status === 'fulfilled' && promise_result.value.meta.status === "success") { - //~ allFormData.push(promise_result.value.data); - //~ } else { - //~ hasError = true; - //~ //this.$fhcAlert.handleSystemError(promise_result); - //~ } - //~ //let data = promise_result.value.data; - //~ }); - - //~ if (!hasError) { - //~ this.setFormData(allFormData[0], allFormData[1], allFormData[2], allFormData[3], allFormData[4] ?? null); - //~ if (successCallback) successCallback(); - //~ } - //~ }); + getFormData(statusNew, studiensemester_kurzbz, additional_lehrveranstaltung_id) { this.$api .call(ApiStvProjektarbeit.getTypenProjektarbeit()) @@ -162,6 +128,8 @@ export default { this.arrNoten = result.data; }) .catch(this.$fhcAlert.handleSystemError); + + if (statusNew) this.resetForm(); }, loadProjektarbeit(projektarbeit_id) { @@ -316,7 +284,7 @@ export default { :key="lv.lehrveranstaltung_id" :value="lv.lehrveranstaltung_id" > - {{lv.bezeichnung + ' ' + lv.orgform_kurzbz + ' (' + lv.semester + ' Sem) ID: ' + lv.lehrveranstaltung_id}} + {{lv.bezeichnung + (lv.orgform_kurzbz ? ' ' + lv.orgform_kurzbz : '') + ' (' + lv.semester + ' Sem) ID: ' + lv.lehrveranstaltung_id}} diff --git a/public/js/components/Stv/Studentenverwaltung/Details/Projektarbeit/Projektarbeit.js b/public/js/components/Stv/Studentenverwaltung/Details/Projektarbeit/Projektarbeit.js index f78963066..d4f941e4b 100644 --- a/public/js/components/Stv/Studentenverwaltung/Details/Projektarbeit/Projektarbeit.js +++ b/public/js/components/Stv/Studentenverwaltung/Details/Projektarbeit/Projektarbeit.js @@ -82,7 +82,6 @@ export default { }, ], tabulatorData: [], - //lastSelected: null, editedProjektarbeit: null, statusNew: true, studiensemester_kurzbz: null, @@ -257,23 +256,19 @@ export default { methods: { actionNewProjektarbeit() { this.statusNew = true; + this.editedProjektarbeit = null; + this.toggleMenu('details'); this.$refs.projektarbeitDetails.getFormData(this.statusNew); this.$refs.projektarbeitModal.show(); }, actionEditProjektarbeit() { this.statusNew = false; this.toggleMenu('details'); - this.$refs.projektarbeitDetails.getFormData( - this.statusNew, this.editedProjektarbeit.studiensemester_kurzbz, this.editedProjektarbeit.lehrveranstaltung_id - ); - this.$refs.projektarbeitDetails.loadProjektarbeit(this.editedProjektarbeit.projektarbeit_id); this.$refs.projektarbeitModal.show(); }, actionEditBetreuer() { + this.statusNew = false; this.toggleMenu('betreuer'); - this.$refs.projektbetreuer.getData( - this.editedProjektarbeit.projektarbeit_id, this.editedProjektarbeit.studiensemester_kurzbz, this.editedProjektarbeit.projekttyp_kurzbz - ); this.$refs.projektarbeitModal.show(); }, actionDeleteProjektarbeit(projektarbeit_id) { @@ -313,6 +308,7 @@ export default { projektarbeitSaved() { this.reload(); this.$fhcAlert.alertSuccess(this.$p.t('ui', 'successSave')); + this.hideModal('projektarbeitModal'); }, setDefaultStunden(projekttyp_kurzbz) { this.$refs.projektbetreuer.setDefaultStunden(projekttyp_kurzbz); @@ -325,6 +321,22 @@ export default { }, toggleMenu(tabId) { this.activeTab = tabId; + if (this.statusNew == false) { + switch(tabId) { + case 'details': + this.$refs.projektarbeitDetails.getFormData( + this.statusNew, this.editedProjektarbeit?.studiensemester_kurzbz, this.editedProjektarbeit?.lehrveranstaltung_id + ); + this.$refs.projektarbeitDetails.loadProjektarbeit(this.editedProjektarbeit?.projektarbeit_id); + break; + case 'betreuer': + this.$refs.projektbetreuer.getFormData( + this.editedProjektarbeit ? this.editedProjektarbeit.projekttyp_kurzbz : null + ); + this.$refs.projektbetreuer.getProjektbetreuer(this.editedProjektarbeit?.projektarbeit_id, this.editedProjektarbeit?.studiensemester_kurzbz); + break; + } + } } }, template: ` @@ -352,13 +364,13 @@ export default {

{{$p.t('projektarbeit', 'projektarbeitBearbeiten')}}

-