86 lines
4.0 KiB
PHTML
86 lines
4.0 KiB
PHTML
<td class="state-col state-<?= $stateName; ?><?= $downtime->is_in_effect ? ' handled' : ''; ?>">
|
|
<?php if ($downtime->start <= time() && ! $downtime->is_in_effect): ?>
|
|
<div class="state-label"><?= $this->translate('ENDS', 'Downtime status'); ?></div>
|
|
<div class="state-meta"><?= $this->timeUntil($downtime->is_flexible ? $downtime->scheduled_end : $downtime->end, $this->compact, true) ?></div>
|
|
<?php else: ?>
|
|
<div class="state-label"><?= $downtime->is_in_effect ? $this->translate('EXPIRES', 'Downtime status') : $this->translate('STARTS', 'Downtime status'); ?></div>
|
|
<div class="state-meta"><?= $this->timeUntil($downtime->is_in_effect ? $downtime->end : $downtime->start, $this->compact, true) ?></div>
|
|
<?php endif; ?>
|
|
</td>
|
|
<td>
|
|
<div class="comment-author">
|
|
<?php if ($isService): ?>
|
|
<?= $this->icon('service', $this->translate('Service')); ?> <?= $this->qlink(
|
|
$downtime->host_display_name . ': ' . $downtime->service_display_name,
|
|
'monitoring/service/show',
|
|
array(
|
|
'host' => $downtime->host_name,
|
|
'service' => $downtime->service_description
|
|
),
|
|
array(
|
|
'title' => sprintf(
|
|
$this->translate('Show detailed information for this downtime scheduled for service %s on host %s'),
|
|
$downtime->service_display_name,
|
|
$downtime->host_display_name
|
|
)
|
|
)
|
|
); ?>
|
|
<?php else: ?>
|
|
<?= $this->icon('host', $this->translate('host')); ?> <?= $this->qlink(
|
|
$downtime->host_display_name,
|
|
'monitoring/host/show',
|
|
array('host' => $downtime->host_name, 'downtime_id' => $downtime->id),
|
|
array(
|
|
'title' => sprintf(
|
|
$this->translate('Show detailed information for this downtime scheduled for host %s'),
|
|
$downtime->host_display_name
|
|
)
|
|
)
|
|
); ?>
|
|
<?php endif ?>
|
|
<span class="comment-time">
|
|
<?= $this->escape(sprintf(
|
|
$downtime->is_flexible
|
|
? $this->translate('Flexible downtime by %s')
|
|
: $this->translate('Fixed downtime by %s'),
|
|
$downtime->author_name
|
|
)) ?>
|
|
</span>
|
|
<?php if (! $downtime->is_in_effect && $downtime->start >= time()): ?>
|
|
<span><?= sprintf($this->translate('expires %s'), $this->timeUntil($downtime->is_flexible ? $downtime->scheduled_end : $downtime->end, false, true)) ?></span>
|
|
<?php endif ?>
|
|
<span class="comment-icons">
|
|
<?php if ($downtime->is_flexible): ?>
|
|
<?= $this->icon('magic', $this->translate('This downtime is flexible')); ?>
|
|
<?php endif ?>
|
|
|
|
<?php if ($downtime->is_in_effect): ?>
|
|
<?= $this->icon('plug', $this->translate('This downtime is in effect')); ?>
|
|
<?php endif ?>
|
|
|
|
<?php if (isset($delDowntimeForm)) {
|
|
// Form is unset if the current user lacks the respective permission
|
|
$uniqId = uniqid();
|
|
$buttonId = 'delete-downtime-' . $uniqId;
|
|
$textId = 'downtime-' . $uniqId;
|
|
$deleteButton = clone $delDowntimeForm;
|
|
/** @var \Icinga\Module\Monitoring\Forms\Command\Object\DeleteDowntimeCommandForm $deleteButton */
|
|
$deleteButton->setAttrib('class', $deleteButton->getAttrib('class') . ' remove-action');
|
|
$deleteButton->populate(
|
|
array(
|
|
'downtime_id' => $downtime->id,
|
|
'downtime_is_service' => isset($downtime->service_description),
|
|
'downtime_name' => $downtime->name
|
|
)
|
|
);
|
|
$deleteButton->getElement('btn_submit')
|
|
->setAttrib('aria-label', $this->translate('Delete downtime'))
|
|
->setAttrib('id', $buttonId)
|
|
->setAttrib('aria-describedby', $buttonId . ' ' . $textId);
|
|
echo $deleteButton;
|
|
} ?>
|
|
</span>
|
|
</div>
|
|
<?= $this->nl2br($this->markdown($downtime->comment, isset($textId) ? ['id' => $textId] : null)) ?>
|
|
</td>
|