N°7581 Improve error message readability during object creation/modification in the portal (regression introduced with N°7545)

This commit is contained in:
Timothee
2024-06-21 10:37:25 +02:00
parent 9f7fd6a3a1
commit a3a5630e88
2 changed files with 19 additions and 3 deletions

View File

@@ -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;

View File

@@ -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());