diff --git a/application/controllers/api/frontend/v1/messages/Messages.php b/application/controllers/api/frontend/v1/messages/Messages.php index fa6748f6a..355fe79a4 100644 --- a/application/controllers/api/frontend/v1/messages/Messages.php +++ b/application/controllers/api/frontend/v1/messages/Messages.php @@ -16,7 +16,7 @@ class Messages extends FHCAPI_Controller 'getNameOfDefaultRecipient' => ['admin:r', 'assistenz:r'], 'sendMessage' => ['admin:r', 'assistenz:r'], 'deleteMessage' => ['admin:r', 'assistenz:r'], - 'getVorlagentext' => ['admin:r', 'assistenz:r'], + 'getDataVorlage' => ['admin:r', 'assistenz:r'], 'getPreviewText' => ['admin:r', 'assistenz:r'], 'getReplyData' => ['admin:r', 'assistenz:r'], 'getPersonId' => ['admin:r', 'assistenz:r'], @@ -52,11 +52,14 @@ class Messages extends FHCAPI_Controller $result = $this->MessageModel->getMessagesForTable($id, $offset, $limit); - $data = $this->getDataOrTerminateWithError($result); + if (hasData($result)) + { + $data = getData($result); + $this->addMeta('count', $data['count']); + $this->terminateWithSuccess($data['data']); + } - $this->addMeta('count', $data['count']); - - $this->terminateWithSuccess($data['data']); + $this->terminateWithSuccess(array()); } public function getVorlagen() @@ -66,33 +69,23 @@ class Messages extends FHCAPI_Controller $this->load->model('person/Benutzerfunktion_model', 'BenutzerfunktionModel'); $result = $this->BenutzerfunktionModel->getBenutzerfunktionByUid($uid, 'oezuordnung'); - $data = $this->getDataOrTerminateWithError($result); - $oe_kurzbz = current($data); + if (hasData($result)) + { + $this->load->model('system/Vorlage_model', 'VorlageModel'); - $this->load->model('system/Vorlage_model', 'VorlageModel'); + $data = getData($result); - $result = $this->VorlageModel->getAllVorlagenByOe($oe_kurzbz->oe_kurzbz); - $data = $this->getDataOrTerminateWithError($result); + $oe_kurzbz = array_column($data, 'oe_kurzbz'); + $result = $this->VorlageModel->getAllVorlagenByOe($oe_kurzbz); - $this->terminateWithSuccess($data); + $this->terminateWithSuccess(hasData($result) ? getData($result) : array()); + } - //If admin - $this->VorlageModel->addOrder('vorlage_kurzbz', 'ASC'); - $result = $this->VorlageModel->loadWhere( - array( - 'mimetype' => 'text/html' - )); - - - $data = $this->getDataOrTerminateWithError($result); - - $this->terminateWithSuccess($data); + $this->terminateWithSuccess(array()); } - public function getVorlagentext($vorlage_kurzbz) + public function getDataVorlage($vorlage_kurzbz) { - //$this->terminateWithError("vor " . $vorlage_kurzbz, self::ERROR_TYPE_GENERAL); - //$studiengang_kz = 227; //TODO(Manu) dynamisieren NULL $studiengang_kz = 0; $this->load->model('system/Vorlagestudiengang_model', 'VorlagestudiengangModel'); $this->VorlagestudiengangModel->addOrder('version', 'DESC'); @@ -104,12 +97,8 @@ class Messages extends FHCAPI_Controller ]); $data = $this->getDataOrTerminateWithError($result); - - //not correct with Vorlage $vorlage = current($data); - - //$this->terminateWithSuccess($data); - $this->terminateWithSuccess($vorlage->text); + $this->terminateWithSuccess($vorlage); } public function getMessageVarsPerson($id, $typeId) @@ -154,7 +143,7 @@ class Messages extends FHCAPI_Controller public function sendMessage($recipient_id) { //has to be uid - // $this->terminateWithError("uid", $recipient_id, self::ERROR_TYPE_GENERAL); + // $this->terminateWithError("uid", $recipient_id, self::ERROR_TYPE_GENERAL); //default setting $receiversPersonId = $this->_getPersonId($recipient_id, 'uid'); @@ -223,8 +212,6 @@ class Messages extends FHCAPI_Controller } elseif($typeId == 'prestudent_id') { - // $this->terminateWithError("prestudent_id ", self::ERROR_TYPE_GENERAL); - $result = $this->MessagesModel->parseMessageTextPrestudent($id, $body); $bodyParsed = $this->getDataOrTerminateWithError($result); } @@ -429,7 +416,7 @@ class Messages extends FHCAPI_Controller private function _getPrestudentIdFromUid($uid) { - // $this->terminateWithError($uid, self::ERROR_TYPE_GENERAL); + // $this->terminateWithError($uid, self::ERROR_TYPE_GENERAL); $this->load->model('crm/Student_model', 'StudentModel'); $result = $this->StudentModel->loadWhere( ['student_uid' => $uid] @@ -463,4 +450,4 @@ class Messages extends FHCAPI_Controller date_format(date_create($sentDate), 'd.m.Y H:i'), $receiverName, $receiverSurname, $body ); } -} \ No newline at end of file +} diff --git a/application/controllers/api/frontend/v1/vorlagen/Vorlagen.php b/application/controllers/api/frontend/v1/vorlagen/Vorlagen.php index 01edb33d1..cf76746ef 100644 --- a/application/controllers/api/frontend/v1/vorlagen/Vorlagen.php +++ b/application/controllers/api/frontend/v1/vorlagen/Vorlagen.php @@ -51,13 +51,17 @@ class Vorlagen extends FHCAPI_Controller $this->load->model('person/Benutzerfunktion_model', 'BenutzerfunktionModel'); $result = $this->BenutzerfunktionModel->getBenutzerfunktionByUid($uid, 'oezuordnung'); - $data = $this->getDataOrTerminateWithError($result); - $oe_kurzbz = current($data); + if (hasData($result)) + { + $data = getData($result); - $result = $this->VorlageModel->getAllVorlagenByOe($oe_kurzbz->oe_kurzbz); - $data = $this->getDataOrTerminateWithError($result); + $oe_kurzbz = array_column($data, 'oe_kurzbz'); + $result = $this->VorlageModel->getAllVorlagenByOe($oe_kurzbz); + + $this->terminateWithSuccess(hasData($result) ? getData($result) : array()); + } + $this->terminateWithSuccess(array()); - $this->terminateWithSuccess($data); } } \ No newline at end of file diff --git a/public/js/api/factory/messages/messages.js b/public/js/api/factory/messages/messages.js index cec34ad8b..c6d4b67b6 100644 --- a/public/js/api/factory/messages/messages.js +++ b/public/js/api/factory/messages/messages.js @@ -62,10 +62,10 @@ export default { url: 'api/frontend/v1/messages/messages/getUid/' + userParams.id + '/' + userParams.type_id }; }, - getVorlagentext(vorlage_kurzbz){ + getDataVorlage(vorlage_kurzbz){ return { method: 'get', - url: 'api/frontend/v1/messages/messages/getVorlagentext/' + vorlage_kurzbz + url: 'api/frontend/v1/messages/messages/getDataVorlage/' + vorlage_kurzbz }; }, getNameOfDefaultRecipient(params){ diff --git a/public/js/api/factory/studstatus/leitung.js b/public/js/api/factory/studstatus/leitung.js index cc6b87d25..7f6bc9f54 100644 --- a/public/js/api/factory/studstatus/leitung.js +++ b/public/js/api/factory/studstatus/leitung.js @@ -34,7 +34,7 @@ export default { url: '/api/frontend/v1/studstatus/leitung/getHistory/' + antrag_id }; }, - getPrestudents(query, signal) { + getPrestudents(query) { return { method: 'post', url: '/api/frontend/v1/studstatus/leitung/getPrestudents', diff --git a/public/js/api/messages/person.js b/public/js/api/messages/person.js index e2d2fd0c4..19b3603e2 100644 --- a/public/js/api/messages/person.js +++ b/public/js/api/messages/person.js @@ -20,8 +20,8 @@ export default { getUid(params){ return this.$fhcApi.get('api/frontend/v1/messages/messages/getUid/'+ params.id + '/' + params.type_id); }, - getVorlagentext(vorlage_kurzbz){ - return this.$fhcApi.get('api/frontend/v1/messages/messages/getVorlagentext/' + vorlage_kurzbz); + getDataVorlage(vorlage_kurzbz){ + return this.$fhcApi.get('api/frontend/v1/messages/messages/getDataVorlage/' + vorlage_kurzbz); }, getNameOfDefaultRecipient(params){ return this.$fhcApi.get('api/frontend/v1/messages/messages/getNameOfDefaultRecipient/' + params.id + '/' + params.type_id); diff --git a/public/js/components/Messages/Details/NewMessage/Modal.js b/public/js/components/Messages/Details/NewMessage/Modal.js index b0d8cca7d..ce9235617 100644 --- a/public/js/components/Messages/Details/NewMessage/Modal.js +++ b/public/js/components/Messages/Details/NewMessage/Modal.js @@ -136,17 +136,13 @@ export default { } ); }, - getVorlagentext(vorlage_kurzbz){ + getDataVorlage(vorlage_kurzbz){ return this.$api - .call(this.endpoint.getVorlagentext(vorlage_kurzbz)) + .call(this.endpoint.getDataVorlage(vorlage_kurzbz)) .then(response => { - this.formData.body = response.data; - }).catch(this.$fhcAlert.handleSystemError) - .finally(() => { - //this.resetForm(); - //closeModal - //closewindwo - }); + this.formData.body = response.data.text; + this.formData.subject = response.data.subject; + }).catch(this.$fhcAlert.handleSystemError); }, getPreviewText(){ const data = new FormData(); @@ -197,8 +193,7 @@ export default { }, handleSelectedVorlage(vorlage_kurzbz) { if (typeof vorlage_kurzbz === "string") { - this.getVorlagentext(vorlage_kurzbz); - this.formData.subject = vorlage_kurzbz; + this.getDataVorlage(vorlage_kurzbz); } }, showPreview(){ @@ -240,7 +235,7 @@ export default { handler(newVal){ if (newVal && newVal != null) { this.formData.subject = newVal; - return this.getVorlagentext(newVal); + return this.getDataVorlage(newVal); } } }, diff --git a/public/js/components/Messages/Details/NewMessage/NewDiv.js b/public/js/components/Messages/Details/NewMessage/NewDiv.js index 7622f0928..24674fd3f 100644 --- a/public/js/components/Messages/Details/NewMessage/NewDiv.js +++ b/public/js/components/Messages/Details/NewMessage/NewDiv.js @@ -136,15 +136,13 @@ export default { } ); }, - getVorlagentext(vorlage_kurzbz){ + getDataVorlage(vorlage_kurzbz){ return this.$api - .call(this.endpoint.getVorlagentext(vorlage_kurzbz)) + .call(this.endpoint.getDataVorlage(vorlage_kurzbz)) .then(response => { - this.formData.body = response.data; - }).catch(this.$fhcAlert.handleSystemError) - .finally(() => { - //this.resetForm(); - }); + this.formData.body = response.data.text; + this.formData.subject = response.data.subject; + }).catch(this.$fhcAlert.handleSystemError); }, getPreviewText(id, typeId){ const data = new FormData(); @@ -164,20 +162,11 @@ export default { insertVariable(selectedItem){ if (this.editor) { this.editor.insertContent(selectedItem.value + " "); - //TODO(Manu) check: Laden von Variblen geht nicht wenn kein Zeichen danach kommt - // nicht mal mit Punkt adden gehts ohne eintrag nach vars - //this.editor.focus(); - // this.editor.setDirty(true); - this.editor.setDirty(true);//seting dirty true if changes appear - // console.log(tinyMCE.activeEditor.isDirty());//dirty output = true - - - //this.editor.undoManager.add(); - - //this.editor.insertContent(selectedItem.value + "\u00A0"); - //this.editor.insertContent(`${selectedItem.value} `); - //this.editor.selection.setCursorLocation(this.editor.getBody(), 1); + this.editor.fire('input'); + this.editor.fire('change'); + this.editor.setDirty(true); + this.editor.save(); } else { console.error("Editor instance is not available."); @@ -202,8 +191,7 @@ export default { }, handleSelectedVorlage(vorlage_kurzbz) { if (typeof vorlage_kurzbz === "string") { - this.getVorlagentext(vorlage_kurzbz); - this.formData.subject = vorlage_kurzbz; + this.getDataVorlage(vorlage_kurzbz); } }, hideTemplate(){ @@ -248,7 +236,7 @@ export default { if (newVal && newVal != null) { this.formData.subject = newVal; - return this.getVorlagentext(newVal); + return this.getDataVorlage(newVal); } } }, diff --git a/public/js/components/Messages/Details/TableMessages.js b/public/js/components/Messages/Details/TableMessages.js index 5095f4223..2a12128eb 100644 --- a/public/js/components/Messages/Details/TableMessages.js +++ b/public/js/components/Messages/Details/TableMessages.js @@ -274,6 +274,11 @@ export default { this.$refs.table.reloadTable(); }, buildTreemap(messages) { + if (!messages || !messages.data || messages.data.length === 0) + { + return {data: [], last_page: 0}; + } + const last_page = messages.meta.count; messages = messages.data; const messageMap = new Map(); diff --git a/public/js/components/Studierendenantrag/Leitung/Actions/New.js b/public/js/components/Studierendenantrag/Leitung/Actions/New.js index a6cd69219..f78455baa 100644 --- a/public/js/components/Studierendenantrag/Leitung/Actions/New.js +++ b/public/js/components/Studierendenantrag/Leitung/Actions/New.js @@ -37,16 +37,16 @@ export default { }); }, loadData(evt) { - if( evt.query.length < 2 ) - { - return false; - } + if (evt.query.length < 2) + { + return false; + } + + if (this.abortController) + { + this.abortController.abort(); + } - if (this.abortController instanceof AbortController - && this.abortController.signal.aborted === false) - { - this.abortController.abort(); - } this.abortController = new AbortController(); this.$api @@ -56,16 +56,8 @@ export default { }) .then(result => { this.data = result.data; - this.abortController = null; }) - .catch(error => { - if (this.abortController instanceof AbortController - && this.abortController.signal.aborted === false) - { - this.abortController.abort(); - } - this.$fhcAlert.handleSystemError(error); - }); + .catch(this.$fhcAlert.handleSystemError); } }, template: ` diff --git a/rdf/diplomasupplement.xml.php b/rdf/diplomasupplement.xml.php index 41d046a99..d5eb11c26 100644 --- a/rdf/diplomasupplement.xml.php +++ b/rdf/diplomasupplement.xml.php @@ -1160,12 +1160,13 @@ function checkNote($note_alt, $note_neu) '4' => 'ea', '5' => 'tg', '6' => 'met', - '7' => 'ar', - '8' => 'nb', - '9' => '5', - '10' => 'nea'); + '7' => 'b', + '8' => 'ar', + '9' => 'nb', + '10' => '5', + '11' => 'nea'); - for($i = 0; $i<=9; $i++) + for($i = 0; $i<=11; $i++) { if($note_alt == $arrayNotenPriority[$i]) $priority_alt = $i; diff --git a/system/dbupdate_3.4.php b/system/dbupdate_3.4.php index e51d83a70..f9c889110 100644 --- a/system/dbupdate_3.4.php +++ b/system/dbupdate_3.4.php @@ -84,6 +84,7 @@ require_once('dbupdate_3.4/60882_lehrfaecherverteilung_favorites.php'); require_once('dbupdate_3.4/66982_berufsschule.php'); require_once('dbupdate_3.4/40314_electronic_onboarding_anbindung_ida.php'); require_once('dbupdate_3.4/47972_pruefungsverwaltung_ects_angabe.php'); +require_once('dbupdate_3.4/67490_studstatus_suche_abort_controller_haengt.php'); // *** Pruefung und hinzufuegen der neuen Attribute und Tabellen echo '

Pruefe Tabellen und Attribute!

'; diff --git a/system/dbupdate_3.4/67490_studstatus_suche_abort_controller_haengt.php b/system/dbupdate_3.4/67490_studstatus_suche_abort_controller_haengt.php new file mode 100644 index 000000000..4c348a7ab --- /dev/null +++ b/system/dbupdate_3.4/67490_studstatus_suche_abort_controller_haengt.php @@ -0,0 +1,16 @@ +db_query("SELECT * FROM pg_class WHERE relname='idx_tbl_studierendenantrag_status_studierendenantrag_id'")) +{ + if ($db->db_num_rows($result) == 0) + { + $qry = "CREATE INDEX idx_tbl_studierendenantrag_status_studierendenantrag_id ON campus.tbl_studierendenantrag_status USING btree (studierendenantrag_id)"; + + if (!$db->db_query($qry)) + echo 'Indizes: ' . $db->db_last_error() . '
'; + else + echo 'Index fuer campus.tbl_studierendenantrag_status.studierendenantrag_id hinzugefuegt'; + } +}