DirectorDb: do not fail when unconfigured and...

...not use by Controllers
This commit is contained in:
Thomas Gelf 2018-03-28 17:55:57 +02:00
parent 56c5ac0846
commit 2f68489cac

View File

@ -4,6 +4,7 @@ namespace Icinga\Module\Director\Web\Controller\Extension;
use Icinga\Exception\ConfigurationError; use Icinga\Exception\ConfigurationError;
use Icinga\Module\Director\Db; use Icinga\Module\Director\Db;
use Icinga\Module\Director\Web\Controller\ActionController;
trait DirectorDb trait DirectorDb
{ {
@ -21,12 +22,14 @@ trait DirectorDb
$resourceName = $this->Config()->get('db', 'resource'); $resourceName = $this->Config()->get('db', 'resource');
if ($resourceName) { if ($resourceName) {
$this->db = Db::fromResourceName($resourceName); $this->db = Db::fromResourceName($resourceName);
} else { } elseif ($this instanceof ActionController) {
if ($this->getRequest()->isApiRequest()) { if ($this->getRequest()->isApiRequest()) {
throw new ConfigurationError('Icinga Director is not correctly configured'); throw new ConfigurationError('Icinga Director is not correctly configured');
} else { } else {
$this->redirectNow('director'); $this->redirectNow('director');
} }
} else {
throw new ConfigurationError('Icinga Director is not correctly configured');
} }
} }