From 1739b950a894d8131cbff06e44ecfbb8ed7d610b Mon Sep 17 00:00:00 2001 From: Thomas Gelf Date: Mon, 26 Jun 2017 14:39:35 +0200 Subject: [PATCH] ObjectController: hendly duplicate key errors fixes #977 --- library/Director/Web/Controller/ObjectController.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/library/Director/Web/Controller/ObjectController.php b/library/Director/Web/Controller/ObjectController.php index b80d0f95..d4212078 100644 --- a/library/Director/Web/Controller/ObjectController.php +++ b/library/Director/Web/Controller/ObjectController.php @@ -6,6 +6,7 @@ use Exception; use Icinga\Exception\IcingaException; use Icinga\Exception\InvalidPropertyException; use Icinga\Exception\NotFoundError; +use Icinga\Module\Director\Exception\DuplicateKeyException; use Icinga\Module\Director\Exception\NestingError; use Icinga\Module\Director\Objects\IcingaObject; use Icinga\Module\Director\Web\Controller\Extension\ObjectRestrictions; @@ -37,6 +38,9 @@ abstract class ObjectController extends ActionController } catch (NotFoundError $e) { $response->setHttpResponseCode(404); $this->sendJson($response, (object) array('error' => $e->getMessage())); + } catch (DuplicateKeyException $e) { + $response->setHttpResponseCode(422); + $this->sendJson($response, (object) array('error' => $e->getMessage())); } catch (Exception $e) { if ($response->getHttpResponseCode() === 200) { $response->setHttpResponseCode(500);