N°1968 uniqueness rules : fix search for classes hierarchy, disallow 'attributes' property overrides

This commit is contained in:
Pierre Goiffon
2019-03-12 17:50:47 +01:00
parent 912bab5a43
commit eb49dbbdc8
3 changed files with 99 additions and 45 deletions

View File

@@ -1152,19 +1152,9 @@ EOF
$aUniquenessRules[$sCurrentRuleId]['disabled'] = $this->GetPropBooleanConverted($oUniquenessSingleRule, 'disabled', null);
$aUniquenessRules[$sCurrentRuleId]['is_blocking'] = $this->GetPropBooleanConverted($oUniquenessSingleRule, 'is_blocking',
null);
try
{
// we're just checking all mandatory fields are present right now
// we will check for rule overrides validity later (see \MetaModel::InitClasses)
MetaModel::CheckUniquenessRuleValidity($aUniquenessRules[$sCurrentRuleId], true);
}
catch (CoreUnexpectedValue $e)
{
throw(new DOMFormatException("Invalid uniqueness rule declaration : class={$oClass->getAttribute('id')}, rule=$sCurrentRuleId, reason={$e->getMessage()}"));
}
}
// we will check for rules validity later as for now we don't have objects hierarchy (see \MetaModel::InitClasses)
$aClassParams['uniqueness_rules'] = var_export($aUniquenessRules, true);
}