diff --git a/application/exceptions/CoreCannotSaveObjectException.php b/application/exceptions/CoreCannotSaveObjectException.php index dcbe20ff5..82f8b1945 100644 --- a/application/exceptions/CoreCannotSaveObjectException.php +++ b/application/exceptions/CoreCannotSaveObjectException.php @@ -60,6 +60,24 @@ class CoreCannotSaveObjectException extends CoreException return $sContent; } + public function getTextMessage() + { + $sTitle = Dict::S('UI:Error:SaveFailed'); + $sContent = utils::HtmlEntities($sTitle); + + if (count($this->aIssues) == 1) { + $sIssue = reset($this->aIssues); + $sContent .= utils::HtmlEntities($sIssue); + } else { + foreach ($this->aIssues as $sError) { + $sContent .= " ".utils::HtmlEntities($sError).", "; + } + } + + return $sContent; + } + + public function getIssues() { return $this->aIssues; diff --git a/datamodels/2.x/itop-portal-base/portal/src/Form/ObjectFormManager.php b/datamodels/2.x/itop-portal-base/portal/src/Form/ObjectFormManager.php index 3ffb2933e..915e229e3 100644 --- a/datamodels/2.x/itop-portal-base/portal/src/Form/ObjectFormManager.php +++ b/datamodels/2.x/itop-portal-base/portal/src/Form/ObjectFormManager.php @@ -1167,7 +1167,7 @@ class ObjectFormManager extends FormManager { $this->oObject->DBWrite(); } catch (CoreCannotSaveObjectException $e) { - throw new Exception($e->getHtmlMessage()); + throw new Exception($e->getTextMessage()); } catch (InvalidExternalKeyValueException $e) { ExceptionLog::LogException($e, $e->getContextData()); $bExceptionLogged = true;