diff --git a/modules/monitoring/application/controllers/DowntimesController.php b/modules/monitoring/application/controllers/DowntimesController.php index b0057466f..eec408110 100644 --- a/modules/monitoring/application/controllers/DowntimesController.php +++ b/modules/monitoring/application/controllers/DowntimesController.php @@ -23,8 +23,6 @@ class Monitoring_DowntimesController extends Controller { protected $downtimes; - protected $isService; - protected $filter; /** @@ -72,6 +70,20 @@ class Monitoring_DowntimesController extends Controller 'url' =>'monitoring/downtimes/show' ) )->activate('downtimes')->extend(new DashboardAction()); + + foreach ($this->downtimes as $downtime) { + if (isset($downtime->service_description)) { + $downtime->isService = true; + } else { + $downtime->isService = false; + } + + if ($downtime->isService) { + $downtime->stateText = Service::getStateText($downtime->service_state); + } else { + $downtime->stateText = Host::getStateText($downtime->host_state); + } + } } public function showAction() @@ -80,9 +92,6 @@ class Monitoring_DowntimesController extends Controller return; } $this->view->downtimes = $this->downtimes; - $this->view->isService = $this->isService; - - // $this->view->delDowntimeForm = $this->createDelDowntimeForm(); $this->view->listAllLink = Url::fromPath('monitoring/list/downtimes') ->setQueryString($this->filter->toQueryString()); $this->view->removeAllLink = Url::fromPath('monitoring/downtimes/removeAll') @@ -90,11 +99,6 @@ class Monitoring_DowntimesController extends Controller } public function removeAllAction() - { - - } - - private function createDelDowntimeForm() { $delDowntimeForm = new DeleteDowntimeCommandForm(); $delDowntimeForm->setObjects($this->downtimes); diff --git a/modules/monitoring/application/views/scripts/downtimes/show.phtml b/modules/monitoring/application/views/scripts/downtimes/show.phtml index 89ecc7073..a683722ac 100644 --- a/modules/monitoring/application/views/scripts/downtimes/show.phtml +++ b/modules/monitoring/application/views/scripts/downtimes/show.phtml @@ -8,34 +8,129 @@ compact): ?> tabs; ?> - -

- -

- -
-

- translate('You have selected') ?> - qlink( - sprintf($this->translate('%d downtimes'), count($downtimes)), - $listAllLink, - null, - array('title' => $this->translate('List all selected downtimes.')) - ) ?> -

- qlink( - sprintf( - $this->translate('Remove all %d downtimes.'), - count($downtimes) - ), - $removeAllLink, - null, - array( - 'icon' => 'trash', - 'title' => $this->translate('Remove all selected downtimes.') - ) - ) ?> -
-

+

+ translate('%d Downtimes'), count($downtimes)) ?> + 5 ? + sprintf($this->translate('(%d not shown)'), count ($downtimes) - 5) + : ''; + ?> +

+

+ + + 5) { + continue; + } ?> + + + + + + +
+ is_in_effect ? $this->translate('Expires') : $this->translate('Starts'); ?> +
+ dateTimeRenderer( + ($downtime->is_in_effect ? $downtime->end : $downtime->start), + true + )->render( + $this->translate('on %s', 'datetime'), + $this->translate('at %s', 'time'), + $this->translate('in %s', 'timespan') + ); + ?> +
+ isService): ?> + icon('service') ?> + service ?> on host_name ?>. + + icon('host') ?> + host_name ?>. + + + is_flexible): ?> + is_in_effect): ?> + isService + ? $this->translate('This flexible service downtime was started on %s at %s and lasts for %s until %s at %s.') + : $this->translate('This flexible host downtime was started on %s at %s and lasts for %s until %s at %s.'), + date('d.m.y', $downtime->start), + date('H:i', $downtime->start), + $this->format()->duration($downtime->duration), + date('d.m.y', $downtime->end), + date('H:i', $downtime->end) + ); ?> + + isService + ? $this->translate('This flexible service downtime has been scheduled to start between %s - %s and to last for %s.') + : $this->translate('This flexible host downtime has been scheduled to start between %s - %s and to last for %s.'), + date('d.m.y H:i', $downtime->scheduled_start), + date('d.m.y H:i', $downtime->scheduled_end), + $this->format()->duration($downtime->duration) + ); ?> + + + is_in_effect): ?> + isService + ? $this->translate('This fixed service downtime was started on %s at %s and expires on %s at %s.') + : $this->translate('This fixed host downtime was started on %s at %s and expires on %s at %s.'), + date('d.m.y', $downtime->start), + date('H:i', $downtime->start), + date('d.m.y', $downtime->end), + date('H:i', $downtime->end) + ); ?> + + isService + ? $this->translate('This fixed service downtime has been scheduled to start on %s at %s and to end on %s at %s.') + : $this->translate('This fixed host downtime has been scheduled to start on %s at %s and to end on %s at %s.'), + date('d.m.y', $downtime->scheduled_start), + date('H:i', $downtime->scheduled_start), + date('d.m.y', $downtime->scheduled_end), + date('H:i', $downtime->scheduled_end) + ); ?> + + +
+

+ qlink( + sprintf($this->translate('List all %d downtimes …'), count($downtimes)), + $listAllLink, + null, + array( + 'title' => $this->translate('List all'), + 'data-base-target' => "_next" + ) + ) ?> +

+

+
+
+

icon('reschedule') ?> translate('Commands') ?>

+

+ translate('Issue commands to all %s selected downtimes.'), + '' . count($downtimes) . '' + ) + ?> +

+ qlink( + sprintf( + $this->translate('Remove all %d scheduled downtimes'), + count($downtimes) + ), + $removeAllLink, + null, + array( + 'icon' => 'trash', + 'title' => $this->translate('Remove all selected downtimes.') + ) + ) ?> +
+