'inline']; public function __construct() { $this->on(self::ON_SUCCESS, function () { if ($this->errorOccurred) { return; } $countObjects = count($this->getObjects()); Notification::success(sprintf( tp('Removed comment successfully', 'Removed comment from %d objects successfully', $countObjects), $countObjects )); }); } protected function assembleElements() { $this->addElement($this->createRedirectOption()); } protected function assembleSubmitButton() { $this->addElement( 'submitButton', 'btn_submit', [ 'class' => ['cancel-button', 'spinner'], 'label' => [ new Icon('trash'), tp('Remove Comment', 'Remove Comments', count($this->getObjects())) ] ] ); } /** * @return ?DeleteCommentCommand */ protected function getCommand(Model $object) { if (! $this->isGrantedOn('icingadb/command/comment/delete', $object->{$object->object_type})) { return null; } $command = new DeleteCommentCommand(); $command->setCommentName($object->name); $command->setAuthor($this->getAuth()->getUser()->getUsername()); return $command; } }