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)
->setHost($host)
->setInheritedFrom($from->object_name)
->setObject($service)
->handleRequest()
;
->setObject($service);
$this->view->form->setResolvedImports();
$this->view->form->handleRequest();
$this->setViewScript('object/form');
}

View File

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