From 8ca6cc32b2c789a3149861159ad258f2cb9491e3 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 28 Apr 2024 14:39:39 +0200 Subject: Adding upstream version 2.11.4. Signed-off-by: Daniel Baumann --- .../Object/RemoveAcknowledgementCommandForm.php | 122 +++++++++++++++++++++ 1 file changed, 122 insertions(+) create mode 100644 modules/monitoring/application/forms/Command/Object/RemoveAcknowledgementCommandForm.php (limited to 'modules/monitoring/application/forms/Command/Object/RemoveAcknowledgementCommandForm.php') diff --git a/modules/monitoring/application/forms/Command/Object/RemoveAcknowledgementCommandForm.php b/modules/monitoring/application/forms/Command/Object/RemoveAcknowledgementCommandForm.php new file mode 100644 index 0000000..e45a055 --- /dev/null +++ b/modules/monitoring/application/forms/Command/Object/RemoveAcknowledgementCommandForm.php @@ -0,0 +1,122 @@ +labelEnabled; + } + + /** + * Set whether to show the submit label next to the remove icon + * + * @param bool $labelEnabled + * + * @return $this + */ + public function setLabelEnabled($labelEnabled) + { + $this->labelEnabled = (bool) $labelEnabled; + + return $this; + } + + /** + * {@inheritdoc} + */ + public function init() + { + $this->setAttrib('class', 'inline'); + } + + /** + * {@inheritdoc} + */ + public function addSubmitButton() + { + $this->addElement( + 'button', + 'btn_submit', + array( + 'class' => 'link-button spinner', + 'decorators' => array( + 'ViewHelper', + array('HtmlTag', array('tag' => 'div', 'class' => 'control-group form-controls')) + ), + 'escape' => false, + 'ignore' => true, + 'label' => $this->getSubmitLabel(), + 'title' => $this->translatePlural( + 'Remove acknowledgement', + 'Remove acknowledgements', + count($this->objects) + ), + 'type' => 'submit' + ) + ); + + return $this; + } + + /** + * {@inheritdoc} + */ + public function getSubmitLabel() + { + $label = $this->getView()->icon('cancel'); + if ($this->isLabelEnabled()) { + $label .= $this->translatePlural( + 'Remove acknowledgement', + 'Remove acknowledgements', + count($this->objects) + ); + } + + return $label; + } + + /** + * {@inheritdoc} + */ + public function onSuccess() + { + foreach ($this->objects as $object) { + /** @var \Icinga\Module\Monitoring\Object\MonitoredObject $object */ + $removeAck = new RemoveAcknowledgementCommand(); + $removeAck->setObject($object); + $removeAck->setAuthor($this->Auth()->getUser()->getUsername()); + $this->getTransport($this->request)->send($removeAck); + } + Notification::success(mtp( + 'monitoring', + 'Removing acknowledgement..', + 'Removing acknowledgements..', + count($this->objects) + )); + + return true; + } +} -- cgit v1.2.3