HostController: no loop check for 'fake' services

Inherited services do not exist in the db. As many services would
carry their template's name, the fallback to a name-based loop check
would trigger an erraneous error. So we trigger no preliminary loop
check for those now.

fixes #12938
This commit is contained in:
Thomas Gelf 2016-10-20 01:09:34 +00:00
parent 8679dc8a94
commit d5234f723d
2 changed files with 11 additions and 6 deletions

View File

@ -218,9 +218,9 @@ class HostController extends ObjectController
->setDb($db) ->setDb($db)
->setHost($host) ->setHost($host)
->setInheritedFrom($from->object_name) ->setInheritedFrom($from->object_name)
->setObject($service) ->setObject($service);
->handleRequest() $this->view->form->setResolvedImports();
; $this->view->form->handleRequest();
$this->setViewScript('object/form'); $this->setViewScript('object/form');
} }

View File

@ -76,10 +76,10 @@ abstract class DirectorObjectForm extends QuickForm
$object = $this->object; $object = $this->object;
if (! $object instanceof IcingaObject) { if (! $object instanceof IcingaObject) {
return $this->resolvedImports = false; return $this->setResolvedImports(false);
} }
if (! $object->supportsImports()) { if (! $object->supportsImports()) {
return $this->resolvedImports = false; return $this->setResolvedImports(false);
} }
if ($this->hasBeenSent()) { if ($this->hasBeenSent()) {
@ -99,7 +99,12 @@ abstract class DirectorObjectForm extends QuickForm
return $this->resolvedImports = false; return $this->resolvedImports = false;
} }
return $this->resolvedImports = true; return $this->setResolvedImports();
}
public function setResolvedImports($resolved = true)
{
return $this->resolvedImports = $resolved;
} }
public function isObject() public function isObject()