public function renderAddComment(AddCommentCommand $command)
 {
     $object = $command->getObject();
     if ($command->getObject()->getType() === $command::TYPE_HOST) {
         /** @var \Icinga\Module\Monitoring\Object\Host $object */
         $commandString = sprintf('ADD_HOST_COMMENT;%s', $object->getName());
     } else {
         /** @var \Icinga\Module\Monitoring\Object\Service $object */
         $commandString = sprintf('ADD_SVC_COMMENT;%s;%s', $object->getHost()->getName(), $object->getName());
     }
     return sprintf('%s;%u;%s;%s', $commandString, $command->getPersistent(), $command->getAuthor(), $command->getComment());
 }
 /**
  * (non-PHPDoc)
  * @see \Icinga\Web\Form::onSuccess() For the method documentation.
  */
 public function onSuccess()
 {
     foreach ($this->objects as $object) {
         /** @var \Icinga\Module\Monitoring\Object\MonitoredObject $object */
         $comment = new AddCommentCommand();
         $comment->setObject($object);
         $comment->setComment($this->getElement('comment')->getValue());
         $comment->setAuthor($this->request->getUser()->getUsername());
         $comment->setPersistent($this->getElement('persistent')->isChecked());
         $this->getTransport($this->request)->send($comment);
     }
     Notification::success($this->translatePlural('Adding comment..', 'Adding comments..', count($this->objects)));
     return true;
 }
 public function renderAddComment(AddCommentCommand $command)
 {
     $endpoint = 'actions/add-comment';
     $data = array('author' => $command->getAuthor(), 'comment' => $command->getComment());
     $this->applyFilter($data, $command->getObject());
     return IcingaApiCommand::create($endpoint, $data);
 }