From 04ae298c0c7df211a1d25dfee8b2a1eee26c9fac Mon Sep 17 00:00:00 2001 From: Eric Lippmann Date: Tue, 25 Aug 2015 09:23:36 +0200 Subject: [PATCH] monitoring/API: Require a filter when scheduling service downtimes refs #9606 --- .../application/controllers/ActionsController.php | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/modules/monitoring/application/controllers/ActionsController.php b/modules/monitoring/application/controllers/ActionsController.php index 21a7c3e37..f7d1e4aca 100644 --- a/modules/monitoring/application/controllers/ActionsController.php +++ b/modules/monitoring/application/controllers/ActionsController.php @@ -72,11 +72,15 @@ class Monitoring_ActionsController extends Controller */ public function scheduleServiceDowntimeAction() { - // @TODO(el): Require a filter + $filter = Filter::fromQueryString((string) $this->params); + /** @var Filter $filter */ + if ($filter->isEmpty()) { + $this->httpBadRequest('Filter must not be empty'); + } // @TODO(el): $this->backend->list('service')->handleRequest()->fetchAll() $serviceList = new ServiceList($this->backend); $this->applyRestriction('monitoring/filter/objects', $serviceList); - $serviceList->addFilter(Filter::fromQueryString((string) $this->params)); + $serviceList->addFilter($filter); if (! $serviceList->count()) { // @TODO(el): Use ApiResponse class for unified response handling. $this->getResponse()->sendJson(array(