ServiceController|IcingaServiceForm: Catching NestingError for the form to load

fixes #11803
This commit is contained in:
Markus Frosch 2016-10-13 12:25:11 +02:00
parent 628df65fd4
commit 1a2cede13f
2 changed files with 21 additions and 12 deletions

View File

@ -2,6 +2,7 @@
namespace Icinga\Module\Director\Controllers; namespace Icinga\Module\Director\Controllers;
use Icinga\Module\Director\Exception\NestingError;
use Icinga\Module\Director\Web\Controller\ObjectController; use Icinga\Module\Director\Web\Controller\ObjectController;
use Icinga\Module\Director\Objects\IcingaService; use Icinga\Module\Director\Objects\IcingaService;
use Icinga\Module\Director\Objects\IcingaHost; use Icinga\Module\Director\Objects\IcingaHost;
@ -102,6 +103,7 @@ class ServiceController extends ObjectController
); );
} }
try {
if ($object->isTemplate() if ($object->isTemplate()
&& $object->getResolvedProperty('check_command_id') && $object->getResolvedProperty('check_command_id')
) { ) {
@ -112,7 +114,9 @@ class ServiceController extends ObjectController
array('apply' => $object->object_name), array('apply' => $object->object_name),
array('class' => 'icon-plus') array('class' => 'icon-plus')
); );
}
} catch (NestingError $nestingError) {
// ignore the error for the form
} }
} }

View File

@ -2,6 +2,7 @@
namespace Icinga\Module\Director\Forms; namespace Icinga\Module\Director\Forms;
use Icinga\Module\Director\Exception\NestingError;
use Icinga\Module\Director\Web\Form\DirectorObjectForm; use Icinga\Module\Director\Web\Form\DirectorObjectForm;
use Icinga\Module\Director\Objects\IcingaHost; use Icinga\Module\Director\Objects\IcingaHost;
use Icinga\Module\Director\Objects\IcingaService; use Icinga\Module\Director\Objects\IcingaService;
@ -42,9 +43,13 @@ class IcingaServiceForm extends DirectorObjectForm
return $this->setupInherited(); return $this->setupInherited();
} }
try {
if (!$this->isNew() && $this->host === null) { if (!$this->isNew() && $this->host === null) {
$this->host = $this->object->getResolvedRelated('host'); $this->host = $this->object->getResolvedRelated('host');
} }
} catch(NestingError $nestingError) {
// ignore for the form to load
}
if ($this->host === null) { if ($this->host === null) {
$this->setupServiceElements(); $this->setupServiceElements();