diff --git a/application/controllers/api/frontend/v1/stv/Projektarbeit.php b/application/controllers/api/frontend/v1/stv/Projektarbeit.php index 244dba412..e7d1af1f9 100644 --- a/application/controllers/api/frontend/v1/stv/Projektarbeit.php +++ b/application/controllers/api/frontend/v1/stv/Projektarbeit.php @@ -86,8 +86,8 @@ class Projektarbeit extends FHCAPI_Controller if (!isset($projektarbeit_id) || !is_numeric($projektarbeit_id)) return $this->terminateWithError('Projektarbeit Id missing', self::ERROR_TYPE_GENERAL); $this->ProjektarbeitModel->addSelect( - 'lehre.tbl_projektarbeit.projektarbeit_id, titel, titel_english, themenbereich, projekttyp_kurzbz, firma_id, - lehrveranstaltung_id, lehreinheit_id, beginn, note, final, freigegeben, tbl_projektarbeit.anmerkung, fa.name AS firma_name' + 'lehre.tbl_projektarbeit.projektarbeit_id, titel, titel_english, themenbereich, projekttyp_kurzbz, lehrveranstaltung_id, lehreinheit_id, + firma_id, beginn, ende, gesperrtbis, note, final, freigegeben, tbl_projektarbeit.anmerkung, fa.name AS firma_name' ); $this->ProjektarbeitModel->addJoin('lehre.tbl_lehreinheit le', 'lehreinheit_id'); $this->ProjektarbeitModel->addJoin('lehre.tbl_lehrveranstaltung lv', 'lehrveranstaltung_id'); @@ -285,6 +285,14 @@ class Projektarbeit extends FHCAPI_Controller 'is_valid_date' => $this->p->t('ui', 'error_notValidDate', ['field' => 'Beginn']) ]); + $this->form_validation->set_rules('ende', 'Ende', 'is_valid_date', [ + 'is_valid_date' => $this->p->t('ui', 'error_notValidDate', ['field' => 'Ende']) + ]); + + $this->form_validation->set_rules('gesperrtbis', 'Ende', 'is_valid_date', [ + 'is_valid_date' => $this->p->t('ui', 'error_notValidDate', ['field' => 'Gesperrt bis']) + ]); + return $this->form_validation->run(); } @@ -303,6 +311,7 @@ class Projektarbeit extends FHCAPI_Controller 'firma_id' => $formData['firma_id'] ?? null, 'lehreinheit_id' => $formData['lehreinheit_id'], 'beginn' => $formData['beginn'] ?? null, + 'ende' => $formData['ende'] ?? null, 'note' => $formData['note'] ?? null, 'final' => $formData['final'] ?? null, 'freigegeben' => $formData['freigegeben'] ?? null, diff --git a/public/js/components/Stv/Studentenverwaltung/Details/Projektarbeit/Projektarbeit.js b/public/js/components/Stv/Studentenverwaltung/Details/Projektarbeit/Projektarbeit.js index 3f9958a26..b159c9293 100644 --- a/public/js/components/Stv/Studentenverwaltung/Details/Projektarbeit/Projektarbeit.js +++ b/public/js/components/Stv/Studentenverwaltung/Details/Projektarbeit/Projektarbeit.js @@ -42,7 +42,8 @@ export default { ajaxResponse: (url, params, response) => response.data, columns: [ {title: "Projektarbeit ID", field: "projektarbeit_id", visible: false}, - {title: "Typ", field: "projekttyp_kurzbz"}, + {title: "Typ", field: "bezeichnung"}, + {title: "Typ Kurzbz", field: "projekttyp_kurzbz", visible: false}, {title: "Studiensemester", field: "studiensemester_kurzbz"}, {title: "Titel", field: "titel"}, { @@ -179,6 +180,10 @@ export default { minHeight: '200', selectable: 1, index: 'projektarbeit_id', + //persistenceMode:"cookie", + //~ persistence:{ + //~ columns: true, //persist column layout + //~ }, persistenceID: 'stv-details-projektarbeit' }, tabulatorEvents: [ @@ -325,8 +330,6 @@ export default { this.$refs.table.reloadTable(); } }, - created() { - }, template: `

{{this.$p.t('stv','tab_projektarbeit')}}

diff --git a/public/js/components/Stv/Studentenverwaltung/Details/Projektarbeit/Projektbetreuer.js b/public/js/components/Stv/Studentenverwaltung/Details/Projektarbeit/Projektbetreuer.js index 8368534c7..fd796e3e1 100644 --- a/public/js/components/Stv/Studentenverwaltung/Details/Projektarbeit/Projektbetreuer.js +++ b/public/js/components/Stv/Studentenverwaltung/Details/Projektarbeit/Projektbetreuer.js @@ -386,8 +386,8 @@ export default { .catch(this.$fhcAlert.handleSystemError) }, // disable fields which are dependent on Vertrag status - disableVertragFields(disabled) { - this.vertragFieldsDisabled = disabled; + disableVertragFields(statusAkzeptiert) { + this.vertragFieldsDisabled = statusAkzeptiert; } }, template: ` @@ -428,10 +428,10 @@ export default {
- +
- +
diff --git a/public/js/components/Stv/Studentenverwaltung/Details/Projektarbeit/Vertrag.js b/public/js/components/Stv/Studentenverwaltung/Details/Projektarbeit/Vertrag.js index 8b43af730..1f494d1ec 100644 --- a/public/js/components/Stv/Studentenverwaltung/Details/Projektarbeit/Vertrag.js +++ b/public/js/components/Stv/Studentenverwaltung/Details/Projektarbeit/Vertrag.js @@ -35,7 +35,7 @@ export default{ // status names for stages of Vertrag ("constants") vertragsstatus_akzeptiert: 'Akzeptiert', vertragsstatus_geaendert:'GeƤndert', - vertragsstatus_storniert: 'Storniert', + vertragsstatus_storniert: 'Storno' } }, watch: { @@ -43,7 +43,7 @@ export default{ { //deep: true, handler(newVal, oldVal) { - this.setDefaultData(); + this.resetForm(); if (newVal !== null && newVal !== undefined) this.getVertrag(); } }, @@ -82,7 +82,9 @@ export default{ this.$api.call(ApiVertrag.getVertrag(this.vertrag_id)) .then(result => { - this.data = result.data; + if (result.data.vertragsstatus != this.vertragsstatus_storniert) { + this.data = result.data; + } }) .catch(this.$fhcAlert.handleSystemError); }, @@ -97,17 +99,21 @@ export default{ this.$api.call(ApiVertrag.cancelVertrag({vertrag_id: this.vertrag_id, person_id: this.person_id})) }) .then(result => { - this.setDefaultData(); + this.resetForm(); + this.$fhcAlert.alertSuccess(this.$p.t('ui', 'successDelete')); this.$emit('canceledVertrag'); - // vertragsstatus not "akzeptiert" anymore + // vertragsstatus not "akzeptiert" anymore this.$emit('vertragsstatusChanged', false); }) .catch(this.$fhcAlert.handleSystemError); }, - setDefaultData() { - this.data.vertragsstatus = null; - this.data.vertragsstunden = null; - this.data.vertragsstunden_studiensemester_kurzbz = null; + resetForm() { + this.data = { + vertrag_id: null, + vertragsstatus: null, + vertragsstunden: null, + vertragsstunden_studiensemester_kurzbz: null + } } }, template: `