diff --git a/library/Notifications/Model/IncidentHistory.php b/library/Notifications/Model/IncidentHistory.php index ff1624845..2498d5b56 100644 --- a/library/Notifications/Model/IncidentHistory.php +++ b/library/Notifications/Model/IncidentHistory.php @@ -39,7 +39,9 @@ public function getColumns() 'old_severity', 'new_recipient_role', 'old_recipient_role', - 'message' + 'message', + 'notification_state', + 'sent_at' ]; } @@ -66,7 +68,7 @@ public function getColumnDefinitions() public function createBehaviors(Behaviors $behaviors) { - $behaviors->add(new MillisecondTimestamp(['time'])); + $behaviors->add(new MillisecondTimestamp(['time', 'sent_at'])); } public function getDefaultSort() diff --git a/library/Notifications/Widget/ItemList/IncidentHistoryListItem.php b/library/Notifications/Widget/ItemList/IncidentHistoryListItem.php index 177231f89..07abe2b33 100644 --- a/library/Notifications/Widget/ItemList/IncidentHistoryListItem.php +++ b/library/Notifications/Widget/ItemList/IncidentHistoryListItem.php @@ -169,24 +169,51 @@ protected function buildMessage(): string break; case "notified": if ($this->item->contactgroup_id) { - $message = sprintf( - t('Contact %s notified via %s as member of contact group %s'), - $this->item->contact->full_name, - $this->item->channel_type, - $this->item->contactgroup->name - ); + if ($this->item->notification_state === 'sent') { + $message = sprintf( + t('Contact %s notified via %s as member of contact group %s'), + $this->item->contact->full_name, + $this->item->channel_type, + $this->item->contactgroup->name + ); + } else { + $message = sprintf( + t('Contact %s notified via %s as member of contact group %s (%s)'), + $this->item->contact->full_name, + $this->item->channel_type, + $this->item->contactgroup->name, + $this->item->notification_state + ); + } } elseif ($this->item->schedule_id) { + if ($this->item->notfication_state === 'sent') { + $message = sprintf( + t('Contact %s notified via %s as member of schedule %s'), + $this->item->contact->full_name, + $this->item->channel_type, + $this->item->schedule->name + ); + } else { + $message = sprintf( + t('Contact %s notified via %s as member of schedule %s (%s)'), + $this->item->contact->full_name, + $this->item->schedule->name, + $this->item->channel_type, + $this->item->notification_state + ); + } + } elseif ($this->item->notification_state === 'sent') { $message = sprintf( - t('Contact %s notified via %s as member of schedule %s'), + t('Contact %s notified via %s'), $this->item->contact->full_name, - $this->item->channel_type, - $this->item->schedule->name + $this->item->channel_type ); } else { $message = sprintf( - t('Contact %s notified via %s'), + t('Contact %s should have been notified via %s (%s)'), $this->item->contact->full_name, - $this->item->channel_type + $this->item->channel_type, + $this->item->notification_state ); } break;