N°659 uniqueness constraint : fix class used in the dict key for the error message

It has to be the rule root class, not the current class
This commit is contained in:
Pierre Goiffon
2018-11-23 09:43:28 +01:00
parent e4912ee175
commit c242f90440
2 changed files with 31 additions and 3 deletions

View File

@@ -1470,12 +1470,13 @@ abstract class DBObject implements iDisplay
protected function GetUniquenessRuleMessage($sUniquenessRuleId)
{
$sCurrentClass = get_class($this);
$sMessageKey = "Class:$sCurrentClass/UniquenessRule:$sUniquenessRuleId";
$sClass = MetaModel::GetRootClassForUniquenessRule($sUniquenessRuleId, $sCurrentClass);
$sMessageKey = "Class:$sClass/UniquenessRule:$sUniquenessRuleId";
$sTemplate = Dict::S($sMessageKey, '');
if (empty($sTemplate))
{
//TODO if admin add message key is missing
// we could add also a specific message if user is admin ("dict key is missing")
return Dict::Format('Core:UniquenessDefaultError', $sUniquenessRuleId);
}