diff --git a/library/Director/Repository/RepositoryByObjectHelper.php b/library/Director/Repository/RepositoryByObjectHelper.php index 15276b20..15500d2c 100644 --- a/library/Director/Repository/RepositoryByObjectHelper.php +++ b/library/Director/Repository/RepositoryByObjectHelper.php @@ -2,6 +2,7 @@ namespace Icinga\Module\Director\Repository; +use Icinga\Exception\ProgrammingError; use Icinga\Module\Director\Db; use Icinga\Module\Director\Objects\IcingaObject; @@ -37,7 +38,9 @@ trait RepositoryByObjectHelper /** * @param IcingaObject $object + * @param Db|null $connection * @return static + * @throws ProgrammingError */ public static function instanceByObject(IcingaObject $object, Db $connection = null) { @@ -46,12 +49,13 @@ trait RepositoryByObjectHelper } if (! $connection) { - var_dump($object->hasBeenLoadedFromDb()); exit; - echo '
';
-            debug_print_backtrace();
-            echo '
'; - throw new \Exception('SDFA'); + throw new ProgrammingError( + 'Cannot use repository for %s "%s" as it has no DB connection', + $object->getShortTableName(), + $object->getObjectName() + ); } + return static::instanceByType( $object->getShortTableName(), $connection