N°2455 - Wrong Request Template query validation

Avoid blocking a form if a RequestTemplate reference a bad attribute (e.g. :this->id)
This commit is contained in:
Eric
2019-08-23 15:36:10 +02:00
parent 0625a01a4f
commit 8d7c64be66

View File

@@ -941,6 +941,8 @@ class ObjectFormManager extends FormManager
foreach ($aDependencies as $sDependencyFieldId) foreach ($aDependencies as $sDependencyFieldId)
{ {
if (!$oForm->HasField($sDependencyFieldId)) if (!$oForm->HasField($sDependencyFieldId))
{
try
{ {
$oAttDef = MetaModel::GetAttributeDef(get_class($this->oObject), $sDependencyFieldId); $oAttDef = MetaModel::GetAttributeDef(get_class($this->oObject), $sDependencyFieldId);
$oField = $oAttDef->MakeFormField($this->oObject); $oField = $oAttDef->MakeFormField($this->oObject);
@@ -948,6 +950,13 @@ class ObjectFormManager extends FormManager
$oForm->AddField($oField); $oForm->AddField($oField);
} }
catch (Exception $e)
{
// Avoid blocking a form if a RequestTemplate reference a bad attribute (e.g. :this->id)
IssueLog::Error('May be a bad OQL (referencing :this->id) in a RequestTemplate causes the following error');
IssueLog::Error($e);
}
}
} }
} }