mirror of
https://github.com/Combodo/iTop.git
synced 2026-02-13 07:24:13 +01:00
N°1025 Portal: Fixed regression introduced in r4863.
SVN:trunk[4966]
This commit is contained in:
@@ -714,15 +714,18 @@ class ObjectFormManager extends FormManager
|
||||
// Note: We can't do this in AttributeExternalKey::MakeFormField() in the Field::SetOnFinalizeCallback() because at this point we have no information about the portal scope and ignore_silos flag, hence it always applies silos.
|
||||
// As a workaround we have to manually check if the field's current value is among the scope
|
||||
|
||||
/** @var DBObjectSearch $oValuesScope */
|
||||
$oValuesScope = $oField->GetSearch()->DeepClone();
|
||||
$oBinaryExp = new BinaryExpression(new FieldExpression('id', $oValuesScope->GetClassAlias()), '=', new ScalarExpression( $oField->GetCurrentValue() ));
|
||||
$oValuesScope->AddConditionExpression($oBinaryExp);
|
||||
$oValuesSet = new DBObjectSet($oValuesScope);
|
||||
|
||||
if( $oValuesSet->Count() === 0 )
|
||||
if(!$oField->GetReadOnly())
|
||||
{
|
||||
$oField->SetCurrentValue(null);
|
||||
/** @var DBObjectSearch $oValuesScope */
|
||||
$oValuesScope = $oField->GetSearch()->DeepClone();
|
||||
$oBinaryExp = new BinaryExpression(new FieldExpression('id', $oValuesScope->GetClassAlias()), '=', new ScalarExpression($oField->GetCurrentValue()));
|
||||
$oValuesScope->AddConditionExpression($oBinaryExp);
|
||||
$oValuesSet = new DBObjectSet($oValuesScope);
|
||||
|
||||
if($oValuesSet->Count() === 0)
|
||||
{
|
||||
$oField->SetCurrentValue(null);
|
||||
}
|
||||
}
|
||||
}
|
||||
// - Field that require processing on their subfields
|
||||
|
||||
Reference in New Issue
Block a user