diff --git a/application/controllers/api/frontend/v1/stv/Mobility.php b/application/controllers/api/frontend/v1/stv/Mobility.php index 9007521ff..2ab0ac682 100644 --- a/application/controllers/api/frontend/v1/stv/Mobility.php +++ b/application/controllers/api/frontend/v1/stv/Mobility.php @@ -46,7 +46,10 @@ class Mobility extends FHCAPI_Controller { $this->BisioModel->addSelect("*"); $this->BisioModel->addJoin('bis.tbl_mobilitaetsprogramm mp', 'ON (mp.mobilitaetsprogramm_code = bis.tbl_bisio.mobilitaetsprogramm_code)', 'LEFT'); - + $this->BisioModel->addJoin('lehre.tbl_lehreinheit le', 'ON (le.lehreinheit_id = bis.tbl_bisio.lehreinheit_id)','LEFT'); + $this->BisioModel->addOrder('von', 'DESC'); + $this->BisioModel->addOrder('bis', 'DESC'); + $this->BisioModel->addOrder('bisio_id', 'DESC'); $result = $this->BisioModel->loadWhere( array('student_uid' => $student_uid) ); @@ -161,13 +164,17 @@ class Mobility extends FHCAPI_Controller } } - $this->terminateWithSuccess(); + $this->terminateWithSuccess($bisio_id); } public function loadMobility($bisio_id) { - $result = $this->BisioModel->load($bisio_id); - + $this->BisioModel->addSelect("*"); + $this->BisioModel->addJoin('bis.tbl_mobilitaetsprogramm mp', 'ON (mp.mobilitaetsprogramm_code = bis.tbl_bisio.mobilitaetsprogramm_code)', 'LEFT'); + $this->BisioModel->addJoin('lehre.tbl_lehreinheit le', 'ON (le.lehreinheit_id = bis.tbl_bisio.lehreinheit_id)','LEFT'); + $result = $this->BisioModel->loadWhere( + array('bisio_id' => $bisio_id) + ); $data = $this->getDataOrTerminateWithError($result); $this->terminateWithSuccess(current($data)); @@ -175,6 +182,7 @@ class Mobility extends FHCAPI_Controller public function updateMobility() { + $this->load->library('form_validation'); $authUID = getAuthUID(); diff --git a/public/js/components/Stv/Studentenverwaltung/Details/Mobility/List/Purpose.js b/public/js/components/Stv/Studentenverwaltung/Details/Mobility/List/Purpose.js index 3a2ef06e0..80539dc10 100644 --- a/public/js/components/Stv/Studentenverwaltung/Details/Mobility/List/Purpose.js +++ b/public/js/components/Stv/Studentenverwaltung/Details/Mobility/List/Purpose.js @@ -84,7 +84,7 @@ export default { ], layout: 'fitColumns', layoutColumnsOnNewData: false, - height: '250', + height: 200, persistenceID: 'core-mobility-purpose' }, tabulatorEvents: [ @@ -117,6 +117,7 @@ export default { }, watch: { bisio_id() { + this.resetFormData(); if (this.$refs.table) { this.$refs.table.reloadTable(); } @@ -152,6 +153,9 @@ export default { } }, handleSubmitAction() { + if( this.formData.zweck_code === "" ) { + return; //TODO form validation + } if (this.bisio_id) { this.$emit('setMobilityPurpose', { zweck_code: this.formData.zweck_code, @@ -181,6 +185,12 @@ export default { }); } } + this.resetFormData(); + }, + resetFormData: function() { + this.formData = { + zweck_code: '' + }; }, reload() { this.$refs.table.reloadTable(); diff --git a/public/js/components/Stv/Studentenverwaltung/Details/Mobility/List/Support.js b/public/js/components/Stv/Studentenverwaltung/Details/Mobility/List/Support.js index 7cb560db4..c39adad06 100644 --- a/public/js/components/Stv/Studentenverwaltung/Details/Mobility/List/Support.js +++ b/public/js/components/Stv/Studentenverwaltung/Details/Mobility/List/Support.js @@ -82,7 +82,7 @@ export default { ], layout: 'fitColumns', layoutColumnsOnNewData: false, - height: '250', + height: 200, persistenceID: 'core-mobility-support' }, tabulatorEvents: [ @@ -112,6 +112,7 @@ export default { }, watch: { bisio_id() { + this.resetFormData(); if (this.$refs.table) { this.$refs.table.reloadTable(); } @@ -141,6 +142,9 @@ export default { } }, handleSubmitAction() { + if( this.formData.aufenthaltfoerderung_code === "" ) { + return; //TODO form validation + } if (this.bisio_id) { this.$emit('setMobilitySupport', { aufenthaltfoerderung_code: this.formData.aufenthaltfoerderung_code, @@ -170,6 +174,12 @@ export default { } } + this.resetFormData(); + }, + resetFormData: function() { + this.formData = { + aufenthaltfoerderung_code: "" + }; }, reload() { this.$refs.table.reloadTable(); diff --git a/public/js/components/Stv/Studentenverwaltung/Details/Mobility/Mobility.js b/public/js/components/Stv/Studentenverwaltung/Details/Mobility/Mobility.js index 78c40a366..bc8b71615 100644 --- a/public/js/components/Stv/Studentenverwaltung/Details/Mobility/Mobility.js +++ b/public/js/components/Stv/Studentenverwaltung/Details/Mobility/Mobility.js @@ -75,6 +75,8 @@ export default { } }, {title: "bisio_id", field: "bisio_id"}, + {title: "lehrveranstaltung_id", field: "lehrveranstaltung_id"}, + {title: "lehreinheit_id", field: "lehreinheit_id"}, { title: 'Aktionen', field: 'actions', minWidth: 150, // Ensures Action-buttons will be always fully displayed @@ -108,6 +110,7 @@ export default { layout: 'fitDataFill', layoutColumnsOnNewData: false, height: 'auto', + minHeight: 200, selectable: true, index: 'bisio_id', persistenceID: 'stv-details-table_mobiliy' @@ -158,7 +161,9 @@ export default { herkunftsland_code: 'A', bisio_id: null, localPurposes: [], - localSupports: [] + localSupports: [], + lehrveranstaltung_id: '', + lehreinheit_id: '' }, statusNew: true, programsMobility: [], @@ -221,11 +226,22 @@ export default { this.$refs.supports.resetLocalData(); }); }, + handleLVchanged: function() { + this.loadItems(); + this.resetLehreinheit(); + }, loadItems(){ - if(this.formData.lehrveranstaltung) { - this.getLehreinheiten(this.formData.lehrveranstaltung, this.currentSemester); + if(this.formData.lehrveranstaltung_id) { + this.getLehreinheiten(this.formData.lehrveranstaltung_id, this.currentSemester); } }, + changeItems(){ + this.resetLehreinheit(); + this.loadItems(); + }, + resetLehreinheit(){ + this.formData.lehreinheit_id = ''; + }, getLehreinheiten(lv_id, studiensemester_kurzbz) { const data = { lv_id: lv_id, @@ -247,6 +263,15 @@ export default { return this.$fhcApi.factory.stv.mobility.loadMobility(bisio_id) .then(result => { this.formData = result.data; + if(this.formData.lehrveranstaltung_id === null) { + this.formData.lehrveranstaltung_id = ''; + } + if(this.formData.lehreinheit_id === null) { + this.formData.lehreinheit_id = ''; + } + if(this.formData.lehrveranstaltung_id > 0 ) { + this.loadItems(); + } }) .catch(this.$fhcAlert.handleSystemError); }, @@ -286,7 +311,10 @@ export default { this.formData.bisio_id = null; this.formData.localPurposes = []; this.formData.localSupports = []; + this.formData.lehrveranstaltung_id = '', + this.formData.lehreinheit_id = '', this.statusNew = true; + this.listLes = []; }, // ----------------------------------- methods purposes ----------------------------------- addMobilityPurpose({zweck_code, bisio_id}){ @@ -394,7 +422,7 @@ export default { - +