on(self::ON_SUCCESS, function () { if ($this->errorOccurred) { return; } $countObjects = count($this->getObjects()); if (iterable_value_first($this->getObjects()) instanceof Host) { $message = sprintf(tp( 'Removed acknowledgment successfully', 'Removed acknowledgment from %d hosts successfully', $countObjects ), $countObjects); } else { $message = sprintf(tp( 'Removed acknowledgment successfully', 'Removed acknowledgment from %d services successfully', $countObjects ), $countObjects); } Notification::success($message); }); } protected $defaultAttributes = ['class' => 'inline']; protected function assembleElements() { } protected function assembleSubmitButton() { $this->addElement( 'submitButton', 'btn_submit', [ 'class' => ['link-button', 'spinner'], 'label' => [ new Icon('trash'), tp('Remove acknowledgement', 'Remove acknowledgements', count($this->getObjects())) ] ] ); } protected function getCommands(Traversable $objects): Traversable { $granted = $this->filterGrantedOn('icingadb/command/remove-acknowledgement', $objects); if ($granted->valid()) { $command = new RemoveAcknowledgementCommand(); $command->setObjects($granted); $command->setAuthor($this->getAuth()->getUser()->getUsername()); yield $command; } } }