mirror of
https://github.com/Combodo/iTop.git
synced 2026-04-24 02:58:43 +02:00
N°8772 - XML description traduction to PHP wip
This commit is contained in:
@@ -11,6 +11,7 @@ use Combodo\iTop\Forms\Block\AbstractFormBlock;
|
||||
use Combodo\iTop\Forms\Block\FormBlockException;
|
||||
use Combodo\iTop\Forms\IO\Format\BooleanIOFormat;
|
||||
use Combodo\iTop\Forms\Register\IORegister;
|
||||
use Exception;
|
||||
use Expression;
|
||||
use Symfony\Component\Form\FormEvents;
|
||||
|
||||
@@ -52,9 +53,13 @@ abstract class AbstractExpressionFormBlock extends AbstractFormBlock
|
||||
foreach ($aParamsToResolve as $sParamToResolve) {
|
||||
$aResolvedParams[$sParamToResolve] = strval($this->GetInputValue($sParamToResolve));
|
||||
}
|
||||
$aFieldsToResolve = $oExpression->ListRequiredFields();
|
||||
foreach ($aFieldsToResolve as $sFieldToResolve) {
|
||||
$aResolvedParams[$sFieldToResolve] = strval($this->GetInputValue($sFieldToResolve));
|
||||
}
|
||||
return $oExpression->Evaluate($aResolvedParams);
|
||||
} catch (\Exception $e) {
|
||||
throw new FormBlockException('Compute expression '.json_encode($sExpression).' block issue', 0, $e);
|
||||
} catch (Exception $e) {
|
||||
throw new FormBlockException('Compute expression '.json_encode($sExpression).' block issue: '.$e->getMessage(), 0, $e);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -19,4 +19,10 @@ use Throwable;
|
||||
*/
|
||||
class FormsException extends Exception
|
||||
{
|
||||
public function __construct(string $sMessage = '', int $iCode = 0, ?Throwable $oPrevious = null, array $aContext = [])
|
||||
{
|
||||
parent::__construct($sMessage, $iCode, $oPrevious);
|
||||
IssueLog::Exception(get_class($this).' occurs: '.$sMessage, $this, null, $aContext);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -86,7 +86,7 @@ class AbstractFormIO
|
||||
public function SetName(string $sName): self
|
||||
{
|
||||
// Check name validity
|
||||
if (preg_match('/(?<name>\w+)/', $sName, $aMatches)) {
|
||||
if (preg_match('/^(?<name>((\w+\.\w+)|\w+))$/', $sName, $aMatches)) {
|
||||
$sParsedName = $aMatches['name'];
|
||||
if ($sParsedName !== $sName) {
|
||||
$sName = json_encode($sName);
|
||||
|
||||
Reference in New Issue
Block a user