diff --git a/api/BusinessLogic/ServiceMessages/ServiceMessageHandler.php b/api/BusinessLogic/ServiceMessages/ServiceMessageHandler.php index a1563807..88bcd978 100644 --- a/api/BusinessLogic/ServiceMessages/ServiceMessageHandler.php +++ b/api/BusinessLogic/ServiceMessages/ServiceMessageHandler.php @@ -19,6 +19,26 @@ class ServiceMessageHandler extends \BaseClass { function createServiceMessage($serviceMessage, $heskSettings) { $this->validate($serviceMessage); + if ($serviceMessage->icon === null) { + switch ($serviceMessage->style) { + case ServiceMessageStyle::NONE: + $serviceMessage->icon = ''; + break; + case ServiceMessageStyle::INFO: + $serviceMessage->icon = 'fa fa-comment'; + break; + case ServiceMessageStyle::NOTICE: + $serviceMessage->icon = 'fa fa-exclamation-triangle'; + break; + case ServiceMessageStyle::ERROR: + $serviceMessage->icon = 'fa fa-times-circle'; + break; + case ServiceMessageStyle::SUCCESS: + $serviceMessage->icon = 'fa fa-check-circle'; + break; + } + } + return $this->serviceMessageGateway->createServiceMessage($serviceMessage, $heskSettings); } @@ -31,9 +51,6 @@ class ServiceMessageHandler extends \BaseClass { if ($serviceMessage->createdBy < 1) { $validationModel->errorKeys[] = 'MISSING_CREATOR'; } - if ($serviceMessage->icon === null || trim($serviceMessage->icon) === '') { - $validationModel->errorKeys[] = 'MISSING_ICON'; - } if ($serviceMessage->message === null || trim($serviceMessage->message) === '') { $validationModel->errorKeys[] = 'MISSING_MESSAGE'; } diff --git a/api/Controllers/ServiceMessages/ServiceMessagesController.php b/api/Controllers/ServiceMessages/ServiceMessagesController.php index 2e9e83c8..d6960764 100644 --- a/api/Controllers/ServiceMessages/ServiceMessagesController.php +++ b/api/Controllers/ServiceMessages/ServiceMessagesController.php @@ -28,6 +28,7 @@ class ServiceMessagesController extends \BaseClass { private function buildElementModel($data, $userContext) { $serviceMessage = new ServiceMessage(); $serviceMessage->createdBy = $userContext->id; + $serviceMessage->title = $data['title']; $serviceMessage->icon = $data['icon']; $serviceMessage->message = $data['message']; $serviceMessage->published = $data['published']; diff --git a/api/DataAccess/ServiceMessages/ServiceMessagesGateway.php b/api/DataAccess/ServiceMessages/ServiceMessagesGateway.php index 9e6adc39..82d9e6b8 100644 --- a/api/DataAccess/ServiceMessages/ServiceMessagesGateway.php +++ b/api/DataAccess/ServiceMessages/ServiceMessagesGateway.php @@ -3,6 +3,7 @@ namespace DataAccess\ServiceMessages; +use BusinessLogic\DateTimeHelpers; use BusinessLogic\ServiceMessages\ServiceMessage; use BusinessLogic\ServiceMessages\ServiceMessageStyle; use DataAccess\CommonDao; @@ -36,6 +37,13 @@ class ServiceMessagesGateway extends CommonDao { $serviceMessage->id = hesk_dbInsertID(); + // Get the autogenerated fields + $rs = hesk_dbQuery("SELECT `dt`, `order` FROM `" . hesk_dbEscape($heskSettings['db_pfix']) . "service_messages` + WHERE `id` = " . intval($serviceMessage->id)); + $row = hesk_dbFetchAssoc($rs); + $serviceMessage->dateCreated = $row['dt']; + $serviceMessage->order = $row['order']; + $this->close(); return $serviceMessage; diff --git a/inc/common.inc.php b/inc/common.inc.php index be8f07eb..802e44da 100644 --- a/inc/common.inc.php +++ b/inc/common.inc.php @@ -185,7 +185,8 @@ function hesk_service_message($sm) ?>