From 20455d264ce020ab9a5c49d42a4147e4da86ad3b Mon Sep 17 00:00:00 2001 From: alex Date: Mon, 5 Feb 2018 15:00:54 +0100 Subject: [PATCH] added message table, added tinymce editor to header and messageList --- application/controllers/system/Messages.php | 23 ++- .../system/infocenter/InfoCenter.php | 11 +- application/models/system/Message_model.php | 71 +++++++ .../system/infocenter/infocenterDetails.php | 177 ++++++++++-------- application/views/system/messageList.php | 86 +++++++++ application/views/templates/FHC-Header.php | 4 + skin/tablesort_bootstrap.css | 13 +- 7 files changed, 301 insertions(+), 84 deletions(-) create mode 100644 application/views/system/messageList.php diff --git a/application/controllers/system/Messages.php b/application/controllers/system/Messages.php index 2fa2619f1..4ad4c5e54 100644 --- a/application/controllers/system/Messages.php +++ b/application/controllers/system/Messages.php @@ -19,9 +19,6 @@ class Messages extends VileSci_Controller // Loads the widget library $this->load->library('WidgetLib'); - // Loads the person log library - $this->load->library('PersonLogLib'); - $this->load->model('person/Person_model', 'PersonModel'); $this->_setAuthUID(); // sets property uid @@ -208,6 +205,9 @@ class Messages extends VileSci_Controller break; } + // Loads the person log library + $this->load->library('PersonLogLib'); + //write log entry $this->personloglib->log( $dataArray['person_id'], @@ -313,4 +313,21 @@ class Messages extends VileSci_Controller ->set_output(json_encode($parsedText)); } } + + /** + * Outputs message data for a message (identified my msg id and receiver id) in JSON format + * @param $msg_id + * @param $receiver_id + */ + public function getMessageFromIds($msg_id, $receiver_id) + { +/* $this->MessageModel->addSelect('subject, body, oe_kurzbz'); + $msg = $this->MessageModel->load($msg_id);*/ + $msg = $this->messagelib->getMessage($msg_id, $receiver_id); + + $this->output + ->set_content_type('application/json') + ->set_output(json_encode(array($msg->retval[0]))); + } + } diff --git a/application/controllers/system/infocenter/InfoCenter.php b/application/controllers/system/infocenter/InfoCenter.php index 87f3421a0..d5ddcc1e3 100644 --- a/application/controllers/system/infocenter/InfoCenter.php +++ b/application/controllers/system/infocenter/InfoCenter.php @@ -61,7 +61,8 @@ class InfoCenter extends VileSci_Controller $this->load->model('crm/statusgrund_model', 'StatusgrundModel'); $this->load->model('person/notiz_model', 'NotizModel'); $this->load->model('person/person_model', 'PersonModel'); - $this->load->model('system/Filters_model', 'FiltersModel'); + $this->load->model('system/message_model', 'MessageModel'); + $this->load->model('system/filters_model', 'FiltersModel'); // Loads libraries $this->load->library('DmsLib'); @@ -484,6 +485,13 @@ class InfoCenter extends VileSci_Controller show_error($dokumente_nachgereicht->retval); } + $messages = $this->MessageModel->getMessagesOfPerson($person_id, 1); + + if (isError($messages)) + { + show_error($messages->retval); + } + $logs = $this->personloglib->getLogs($person_id); $notizen = $this->NotizModel->getNotiz($person_id); @@ -506,6 +514,7 @@ class InfoCenter extends VileSci_Controller 'stammdaten' => $stammdaten->retval, 'dokumente' => $dokumente->retval, 'dokumente_nachgereicht' => $dokumente_nachgereicht->retval, + 'messages' => $messages->retval, 'logs' => $logs, 'notizen' => $notizen->retval, 'messagelink' => $messagelink diff --git a/application/models/system/Message_model.php b/application/models/system/Message_model.php index 64d9ff5d1..80a2b35ad 100644 --- a/application/models/system/Message_model.php +++ b/application/models/system/Message_model.php @@ -85,6 +85,77 @@ class Message_model extends DB_Model return $this->execQuery($sql, $parametersArray); } + /** + * Gets massages with a person being sender OR receiver. + * @param $person_id + * @param null $status message status. by default, latest status is returned + * @return array|null + */ + public function getMessagesOfPerson($person_id, $status = null) + { + // Checks if the operation is permitted by the API caller + if (isError($ent = $this->isEntitled('public.tbl_person', PermissionLib::SELECT_RIGHT, FHC_NORIGHT, FHC_MODEL_ERROR))) + return $ent; + if (isError($ent = $this->isEntitled('public.tbl_msg_status', PermissionLib::SELECT_RIGHT, FHC_NORIGHT, FHC_MODEL_ERROR))) + return $ent; + if (isError($ent = $this->isEntitled('public.tbl_msg_message', PermissionLib::SELECT_RIGHT, FHC_NORIGHT, FHC_MODEL_ERROR))) + return $ent; + if (isError($ent = $this->isEntitled('public.tbl_msg_recipient', PermissionLib::SELECT_RIGHT, FHC_NORIGHT, FHC_MODEL_ERROR))) + return $ent; + + $sql = 'SELECT m.message_id, + m.person_id, + m.subject, + m.body, + m.priority, + m.insertamum, + m.relationmessage_id, + m.oe_kurzbz, + se.person_id AS sepersonid, + se.anrede AS seanrede, + se.titelpost AS setitelpost, + se.titelpre AS setitelpre, + se.nachname AS senachname, + se.vorname AS sevorname, + se.vornamen AS sevornamen, + re.person_id AS repersonid, + re.anrede AS reanrede, + re.titelpost AS retitelpost, + re.titelpre AS retitelpre, + re.nachname AS renachname, + re.vorname AS revorname, + re.vornamen AS revornamen, + s.status, + s.statusinfo, + s.insertamum AS statusamum + FROM public.tbl_msg_message m + JOIN public.tbl_msg_recipient r ON m.message_id = r.message_id + JOIN public.tbl_person se ON (m.person_id = se.person_id) + JOIN public.tbl_person re ON (r.person_id = re.person_id) + LEFT JOIN ( + SELECT message_id, person_id, status, statusinfo, insertamum + FROM public.tbl_msg_status + %s + ORDER BY insertamum DESC + ) s ON (m.message_id = s.message_id AND re.person_id = s.person_id) + WHERE se.person_id = ? + OR re.person_id = ? + '; + + if (is_numeric($status)) + { + $sql = sprintf($sql, 'WHERE status = '.$status); + } + else + { + $sql = sprintf($sql, ''); + } + + $parametersArray = array($person_id, $person_id); + + return $this->execQuery($sql, $parametersArray); + } + /** * getMessageVars */ diff --git a/application/views/system/infocenter/infocenterDetails.php b/application/views/system/infocenter/infocenterDetails.php index 563069962..f6d8cbc8e 100644 --- a/application/views/system/infocenter/infocenterDetails.php +++ b/application/views/system/infocenter/infocenterDetails.php @@ -8,6 +8,7 @@ $this->load->view( 'fontawesome' => true, 'jqueryui' => true, 'tablesorter' => true, + 'tinymce' => true, 'sbadmintemplate' => true, 'customCSSs' => array('skin/admintemplate.css', 'skin/tablesort_bootstrap.css') ) @@ -165,11 +166,13 @@ $this->load->view(
- - - - - + + + + + + + load->view(

Nachzureichende Dokumente:

NameTypUploaddatumAusstellungsnationFormal geprüft
NameTypUploaddatumAusstellungsnationFormal geprüft
- - - - + + + + + + load->view( +
+
+
+
+
+ +

Nachrichten

+
+
+
+ load->view('system/messageList.php', $messages); + ?> +
+
+
+
+
+
@@ -621,15 +645,16 @@ $this->load->view(
TypNachzureichen amAusstellungsnationAnmerkung
TypNachzureichen amAusstellungsnationAnmerkung
- - - + + + + + - + title="text) ? strip_tags($notiz->text) : '' ?>"> @@ -641,9 +666,11 @@ $this->load->view(
DatumNotizUser
DatumNotizUser
insertamum), 'd.m.Y H:i:s') ?> titel) ?> verfasser_uid ?>
- - - + + + + + @@ -669,11 +696,18 @@ $this->load->view( diff --git a/application/views/system/messageList.php b/application/views/system/messageList.php new file mode 100644 index 000000000..eb2aa506f --- /dev/null +++ b/application/views/system/messageList.php @@ -0,0 +1,86 @@ +
+
DatumAktivitätUser
DatumAktivitätUser
+ + + + + + + + + + + + + + + + + + + + +
DatumSenderEmpfängerBetreffGelesen am
insertamum) ? date_format(date_create($message->insertamum), 'd.m.Y H:i:s') : '' ?>sevorname.' '.$message->senachname ?>revorname.' '.$message->renachname ?>subject ?>statusamum) ? date_format(date_create($message->statusamum), 'd.m.Y H:i:s') : '' ?>
+
+
+
+
+
+ +
+
+ \ No newline at end of file diff --git a/application/views/templates/FHC-Header.php b/application/views/templates/FHC-Header.php index fe29215e0..00d461476 100644 --- a/application/views/templates/FHC-Header.php +++ b/application/views/templates/FHC-Header.php @@ -13,6 +13,7 @@ $jqueryui = isset($jqueryui) ? $jqueryui : false; $bootstrap = isset($bootstrap) ? $bootstrap : false; $fontawesome = isset($fontawesome) ? $fontawesome : false; $tablesorter = isset($tablesorter) ? $tablesorter : false; +$tinymce = isset($tinymce) ? $tinymce : false; $sbadmintemplate = isset($sbadmintemplate) ? $sbadmintemplate : false; /** @@ -131,6 +132,9 @@ function _generateJSsInclude($JSs) _generateJSsInclude('vendor/mottie/tablesorter/dist/js/jquery.tablesorter.widgets.min.js'); _generateJSsInclude('vendor/mottie/tablesorter/dist/js/extras/jquery.tablesorter.pager.min.js'); } + //tinymce JS + if($tinymce === true) _generateJSsInclude('vendor/tinymce/tinymce/tinymce.min.js') ; + // sb admin template JS if ($sbadmintemplate === true) { diff --git a/skin/tablesort_bootstrap.css b/skin/tablesort_bootstrap.css index d338f3a39..e190f77e3 100644 --- a/skin/tablesort_bootstrap.css +++ b/skin/tablesort_bootstrap.css @@ -20,16 +20,17 @@ } /* set colors of zebra widget */ -table.tablesorter tbody tr.even td{ - background-color: #ffff !important; +table.tablesorter tbody tr.even td, table.tablesorter tbody tr.even:hover, table.tablesorter tbody tr.even td:hover{ + background-color: #ffff; } -table.tablesorter tbody tr.odd td{ - background-color: #f5f5f5 !important; +table.tablesorter tbody tr.odd td, table.tablesorter tbody tr.odd:hover, table.tablesorter tbody tr.odd td:hover{ + background-color: #f5f5f5; } -table.tablesorter tbody tr.odd:hover{ - background-color: #f5f5f5 !important; +/* colors for hover over table rows and clicked rows*/ +table.tablesort-hover tr:hover, .tablesort-active{ + background-color: #dfdfdf !important; } /* Remove background color from filter row */