/** * Display the form for removing a comment list */ public function deleteAllAction() { $this->assertPermission('monitoring/command/comment/delete'); $listCommentsLink = Url::fromPath('monitoring/list/comments')->setQueryString('comment_type=(comment|ack)'); $delCommentForm = new DeleteCommentsCommandForm(); $delCommentForm->setTitle($this->view->translate('Remove all Comments')); $delCommentForm->addDescription(sprintf($this->translate('Confirm removal of %d comments.'), $this->comments->count())); $delCommentForm->setComments($this->comments->fetchAll())->setRedirectUrl($listCommentsLink)->handleRequest(); $this->view->delCommentForm = $delCommentForm; $this->view->comments = $this->comments; $this->view->listAllLink = Url::fromPath('monitoring/list/comments')->setQueryString($this->filter->toQueryString()); }
/** * Display the form for removing a downtime list */ public function deleteAllAction() { $this->assertPermission('monitoring/command/downtime/delete'); $this->view->downtimes = $this->downtimes; $this->view->listAllLink = Url::fromPath('monitoring/list/downtimes')->setQueryString($this->filter->toQueryString()); $delDowntimeForm = new DeleteDowntimesCommandForm(); $delDowntimeForm->setTitle($this->view->translate('Remove all Downtimes')); $delDowntimeForm->addDescription(sprintf($this->translate('Confirm removal of %d downtimes.'), $this->downtimes->count())); $delDowntimeForm->setRedirectUrl(Url::fromPath('monitoring/list/downtimes')); $delDowntimeForm->setDowntimes($this->downtimes->fetchAll())->handleRequest(); $this->view->delAllDowntimeForm = $delDowntimeForm; }
/** * Return whether this object matches the given filter * * @param Filter $filter * * @return bool * * @throws ProgrammingError In case the object cannot be found */ public function matches(Filter $filter) { if ($this->properties === null && $this->fetch() === false) { throw new ProgrammingError('Unable to apply filter. Object %s of type %s not found.', $this->getName(), $this->getType()); } $queryString = $filter->toQueryString(); $row = clone $this->properties; if (strpos($queryString, '_host_') !== false || strpos($queryString, '_service_') !== false) { if ($this->customvars === null) { $this->fetchCustomvars(); } foreach ($this->customvars as $name => $value) { if (!is_object($value)) { $row->{'_' . $this->getType() . '_' . $name} = $value; } } } if (strpos($queryString, 'hostgroup_name') !== false) { if ($this->hostgroups === null) { $this->fetchHostgroups(); } $row->hostgroup_name = array_keys($this->hostgroups); } if (strpos($queryString, 'servicegroup_name') !== false) { if ($this->servicegroups === null) { $this->fetchServicegroups(); } $row->servicegroup_name = array_keys($this->servicegroups); } return $filter->matches($row); }