diff --git a/application/exceptions/CoreCannotSaveObjectException.php b/application/exceptions/CoreCannotSaveObjectException.php index 67d39f18e..31b8237e2 100644 --- a/application/exceptions/CoreCannotSaveObjectException.php +++ b/application/exceptions/CoreCannotSaveObjectException.php @@ -60,6 +60,22 @@ 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 a8bada4c9..5840f2618 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 @@ -1148,7 +1148,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; @@ -1224,7 +1224,7 @@ class ObjectFormManager extends FormManager } catch (CoreCannotSaveObjectException $e) { $aData['valid'] = false; - $aData['messages']['error'] += array('_main' => array($e->getHtmlMessage())); + $aData['messages']['error'] += array('_main' => array($e->getTextMessage())); if (false === $bExceptionLogged) { IssueLog::Error(__METHOD__.' at line '.__LINE__.' : '.$e->getMessage()); } @@ -1232,7 +1232,7 @@ class ObjectFormManager extends FormManager catch (Exception $e) { $aData['valid'] = false; $aData['messages']['error'] += [ - '_main' => [ ($e instanceof CoreCannotSaveObjectException) ? $e->getHtmlMessage() : $e->getMessage()] + '_main' => [ ($e instanceof CoreCannotSaveObjectException) ? $e->getTextMessage() : $e->getMessage()] ]; if (false === $bExceptionLogged) { IssueLog::Error(__METHOD__.' at line '.__LINE__.' : '.$e->getMessage());