From 7b4f0f9dff4838a1d15be85167d90f169656dbd9 Mon Sep 17 00:00:00 2001 From: ma0068 Date: Thu, 13 Mar 2025 09:05:53 +0100 Subject: [PATCH] Adaptions - bugfix personFields - validation for sendmessage for openmode inSamePage, newTab, window - restyling div for enable scrolling in openmode InSamePage --- .../api/frontend/v1/messages/Messages.php | 6 +--- public/js/api/messages/person.js | 7 ++-- .../Messages/Details/NewMessage/Modal.js | 28 ++++----------- .../Messages/Details/NewMessage/NewDiv.js | 34 ++++++------------- public/js/components/Messages/Messages.js | 10 +----- .../Studentenverwaltung/Details/Messages.js | 15 ++++++-- .../VorlagenDropdown/VorlagenDropdown.js | 4 +-- 7 files changed, 37 insertions(+), 67 deletions(-) diff --git a/application/controllers/api/frontend/v1/messages/Messages.php b/application/controllers/api/frontend/v1/messages/Messages.php index 7834ba5f7..101a47185 100644 --- a/application/controllers/api/frontend/v1/messages/Messages.php +++ b/application/controllers/api/frontend/v1/messages/Messages.php @@ -120,20 +120,16 @@ class Messages extends FHCAPI_Controller public function getMessageVarsPerson($id, $typeId) { $person_id = ($typeId == 'mitarbeiter_uid') ? $this->_getPersonId($id, $typeId) : $id; - $result = $this->MessageModel->getMessageVarsPerson($person_id); - + $result = $this->MessageModel->getMsgVarsDataByPersonId($person_id); $data = $this->getDataOrTerminateWithError($result); - $this->terminateWithSuccess($data); } public function getMsgVarsPrestudent($id, $typeId) { $prestudent_id = ($typeId == 'uid') ? $this->_getPrestudentIdFromUid($id) : $id; - $result = $this->MessageModel->getMsgVarsDataByPrestudentId($prestudent_id); - $data = $this->getDataOrTerminateWithError($result); $this->terminateWithSuccess($data); diff --git a/public/js/api/messages/person.js b/public/js/api/messages/person.js index 6fa39c6ba..9bfae6f38 100644 --- a/public/js/api/messages/person.js +++ b/public/js/api/messages/person.js @@ -34,15 +34,14 @@ export default { getReplyData(messageId){ return this.$fhcApi.get('api/frontend/v1/messages/messages/getReplyData/' + messageId); }, - sendMessage(form, id, data) { - console.log("id" + id); + sendMessageFromModalContext(form, id, data) { return this.$fhcApi.post(form,'api/frontend/v1/messages/messages/sendMessage/' + id, data); }, -/* sendMessage(id, data) { + sendMessage(id, data) { return this.$fhcApi.post('api/frontend/v1/messages/messages/sendMessage/' + id, data); - },*/ + }, deleteMessage(messageId){ return this.$fhcApi.post('api/frontend/v1/messages/messages/deleteMessage/' + messageId); } diff --git a/public/js/components/Messages/Details/NewMessage/Modal.js b/public/js/components/Messages/Details/NewMessage/Modal.js index c6d3e1210..03345e9d4 100644 --- a/public/js/components/Messages/Details/NewMessage/Modal.js +++ b/public/js/components/Messages/Details/NewMessage/Modal.js @@ -92,7 +92,6 @@ export default { this.formData.body = value; }, sendMessage() { - //TODO(Manu) check default recipient(s) const data = new FormData(); const params = { id: this.id, @@ -104,13 +103,10 @@ export default { }; data.append('data', JSON.stringify(merged)); - return this.$fhcApi.factory.messages.person.sendMessage( + return this.$fhcApi.factory.messages.person.sendMessageFromModalContext( this.$refs.formMessage, this.uid, data) -/* return this.$fhcApi.factory.messages.person.sendMessage( - this.uid, - data)*/ .then(response => { this.$fhcAlert.alertSuccess(this.$p.t('ui', 'successSent')); this.hideModal('modalNewMessage'); @@ -125,13 +121,8 @@ export default { ); }, getVorlagentext(vorlage_kurzbz){ - //console.log(typeof vorlage_kurzbz); return this.$fhcApi.factory.messages.person.getVorlagentext(vorlage_kurzbz) .then(response => { - //this.$fhcAlert.alertSuccess(this.$p.t('ui', 'successSent')); - //this.hideModal('modalNewMessage'); - //this.resetForm(); - //TODO(Manu) CHECK this.formData.body = response.data; }).catch(this.$fhcAlert.handleSystemError) .finally(() => { @@ -234,8 +225,6 @@ export default { }, 'formData.vorlage_kurzbz': { handler(newVal){ - // console.log("Vorlage: " + newVal); - if (newVal && newVal != null) { this.formData.subject = newVal; return this.getVorlagentext(newVal); @@ -274,9 +263,10 @@ export default { this.$fhcApi.factory.messages.person.getMessageVarsPerson(params) .then(result => { this.fieldsPerson = result.data; - this.itemsPerson = Object.entries(this.fieldsPerson).map(([key, value]) => ({ - label: value, - value: '{' + value + '}' + const person = this.fieldsPerson[0]; + this.itemsPerson = Object.entries(person).map(([key, value]) => ({ + label: key.toLowerCase(), + value: '{' + key.toLowerCase() + '}' })); }) .catch(this.$fhcAlert.handleSystemError); @@ -315,11 +305,9 @@ export default { type_id: this.typeId}) .then(result => { this.defaultRecipient = result.data; - // console.log("check " + this.uid + "|" + this.defaultRecipient); this.recipientsArray.push({ 'uid': this.uid, 'details': this.defaultRecipient}); - // console.log(JSON.stringify(this.recipientsArray)); }) .catch(this.$fhcAlert.handleSystemError); @@ -399,13 +387,13 @@ export default {
- - +
@@ -528,7 +516,5 @@ export default { - - `, } \ No newline at end of file diff --git a/public/js/components/Messages/Details/NewMessage/NewDiv.js b/public/js/components/Messages/Details/NewMessage/NewDiv.js index f1dc4c88a..4331dd734 100644 --- a/public/js/components/Messages/Details/NewMessage/NewDiv.js +++ b/public/js/components/Messages/Details/NewMessage/NewDiv.js @@ -104,7 +104,6 @@ export default { this.formData.body = value; }, sendMessage() { - //TODO(Manu) check default recipient(s) const data = new FormData(); const params = { @@ -118,42 +117,34 @@ export default { }; data.append('data', JSON.stringify(merged)); - //this.uid is important for existing sendFunction + //this.uid is necessary for existing sendFunction return this.$fhcApi.factory.messages.person.sendMessage( - this.$refs.formMessage, this.uid, data) .then(response => { this.$fhcAlert.alertSuccess(this.$p.t('ui', 'successSent')); - //this.hideModal('messageModal'); this.hideTemplate(); this.resetForm(); + this.messageSent = true; }).catch(this.$fhcAlert.handleSystemError) .finally(() => { - //this.resetForm(); - //closeModal - //closewindwo - this.messageSent = true; - //TODO(Manu) hier route definieren? ist kein child sondern mit route aufgerufen + //TODO(Manu) hier route definieren für openmode in Tab, Page? + // ist kein child sondern mit route aufgerufen //würde allerdings neues fenster aktualisiert öffnen, altes bleibt ohne reload gleich //Reload vorheriges tab??? + if(this.openMode == "inSamePage"){ this.$emit('reloadTable'); + } } ); }, getVorlagentext(vorlage_kurzbz){ return this.$fhcApi.factory.messages.person.getVorlagentext(vorlage_kurzbz) .then(response => { - //this.$fhcAlert.alertSuccess(this.$p.t('ui', 'successSent')); - //this.hideModal('messageModal'); - //this.resetForm(); - //TODO(Manu) CHECK this.formData.body = response.data; }).catch(this.$fhcAlert.handleSystemError) .finally(() => { //this.resetForm(); - //closeModal - //closewindwo }); }, getPreviewText(id, typeId){ @@ -168,8 +159,6 @@ export default { }).catch(this.$fhcAlert.handleSystemError) .finally(() => { //this.resetForm(); - //closeModal - //closewindwo }); }, insertVariable(selectedItem){ @@ -275,9 +264,10 @@ export default { this.$fhcApi.factory.messages.person.getMessageVarsPerson(params) .then(result => { this.fieldsPerson = result.data; - this.itemsPerson = Object.entries(this.fieldsPerson).map(([key, value]) => ({ - label: value, - value: '{' + value + '}' + const person = this.fieldsPerson[0]; + this.itemsPerson = Object.entries(person).map(([key, value]) => ({ + label: key.toLowerCase(), + value: '{' + key.toLowerCase() + '}' })); }) .catch(this.$fhcAlert.handleSystemError); @@ -345,9 +335,6 @@ export default { template: `
- - -

{{ $p.t('messages', 'neueNachricht') }}

@@ -356,7 +343,6 @@ export default {
-
-
+
- + + + + diff --git a/public/js/components/VorlagenDropdown/VorlagenDropdown.js b/public/js/components/VorlagenDropdown/VorlagenDropdown.js index e5d80077e..03d8564d6 100644 --- a/public/js/components/VorlagenDropdown/VorlagenDropdown.js +++ b/public/js/components/VorlagenDropdown/VorlagenDropdown.js @@ -23,11 +23,11 @@ export default { }, */ isAdmin: { type: Boolean, - required: true + required: false }, useLoggedInUserOe: { type: Boolean, - required: true + required: false } }, data() {