diff --git a/datamodels/2.x/itop-portal-base/portal/src/Controller/ObjectController.php b/datamodels/2.x/itop-portal-base/portal/src/Controller/ObjectController.php index 8e8f8d3d9..9cf4d80d1 100644 --- a/datamodels/2.x/itop-portal-base/portal/src/Controller/ObjectController.php +++ b/datamodels/2.x/itop-portal-base/portal/src/Controller/ObjectController.php @@ -451,6 +451,8 @@ class ObjectController extends BrickController $oSubRequest = $oRequest; $oSubRequest->request->set('operation', 'submit'); $oSubRequest->request->set('stimulus_code', ''); + $oSubRequest->request->set('formmanager_class', $aData['form']['formmanager_class']); + $oSubRequest->request->set('formmanager_data', json_encode($aData['form']['formmanager_data'])); $aData = array('sMode' => 'apply_stimulus'); $aData['form'] = $oObjectFormHandler->HandleForm($oSubRequest, $aData['sMode'], $sObjectClass, $sObjectId, diff --git a/datamodels/2.x/itop-portal-base/portal/src/Form/ObjectFormManager.php b/datamodels/2.x/itop-portal-base/portal/src/Form/ObjectFormManager.php index bb09ae089..1c5fc46e7 100644 --- a/datamodels/2.x/itop-portal-base/portal/src/Form/ObjectFormManager.php +++ b/datamodels/2.x/itop-portal-base/portal/src/Form/ObjectFormManager.php @@ -189,7 +189,7 @@ class ObjectFormManager extends FormManager * * @return bool true if the data are identical * - * @since 2.7.6 3.0.0 N°4384 check formmanager_data + * @since 2.7.6 3.0.0 N°4384 Check formmanager_data */ public static function CanTrustFormLayoutContent($sPostedFormManagerData, $aOriginalFormProperties) { @@ -200,7 +200,7 @@ class ObjectFormManager extends FormManager return true; } - // we need to parse the content so that autoclose tags are returned correctly (`
` => ``) + // We need to parse the content so that autoclose tags are returned correctly (`` => ``) $oHtmlDocument = new \DOMDocument(); $sPostedFormLayoutContent = (isset($aPostedFormManagerData['formproperties']['layout']['content'])) ? $aPostedFormManagerData['formproperties']['layout']['content'] : ''; diff --git a/datamodels/2.x/itop-portal-base/portal/src/Helper/ObjectFormHandlerHelper.php b/datamodels/2.x/itop-portal-base/portal/src/Helper/ObjectFormHandlerHelper.php index c2bd24e2d..537236e99 100644 --- a/datamodels/2.x/itop-portal-base/portal/src/Helper/ObjectFormHandlerHelper.php +++ b/datamodels/2.x/itop-portal-base/portal/src/Helper/ObjectFormHandlerHelper.php @@ -50,12 +50,17 @@ use UserRights; */ class ObjectFormHandlerHelper { - /** @var string ENUM_MODE_VIEW */ + /** @var string */ const ENUM_MODE_VIEW = 'view'; - /** @var string ENUM_MODE_EDIT */ + /** @var string */ const ENUM_MODE_EDIT = 'edit'; - /** @var string ENUM_MODE_CREATE */ + /** @var string */ const ENUM_MODE_CREATE = 'create'; + /** + * @var string + * @since 2.7.7 3.0.1 3.1.0 + */ + const ENUM_MODE_APPLY_STIMULUS = 'apply_stimulus'; /** @var \Combodo\iTop\Portal\Helper\RequestManipulatorHelper $oRequestManipulator */ private $oRequestManipulator; @@ -172,7 +177,7 @@ class ObjectFormHandlerHelper 'label' => Dict::S('Portal:Button:Submit'), ), ); - if ($sMode !== 'apply_stimulus') + if ($sMode !== static::ENUM_MODE_APPLY_STIMULUS) { // Add transition buttons $oSetToCheckRights = DBObjectSet::FromObject($oObject); @@ -237,9 +242,9 @@ class ObjectFormHandlerHelper // Note : We might need to distinguish form & renderer endpoints switch($sMode) { - case 'create': - case 'edit': - case 'view': + case static::ENUM_MODE_CREATE: + case static::ENUM_MODE_EDIT: + case static::ENUM_MODE_VIEW: $sFormEndpoint = $this->oUrlGenerator->generate( 'p_object_'.$sMode, array( @@ -249,7 +254,7 @@ class ObjectFormHandlerHelper ); break; - case 'apply_stimulus': + case static::ENUM_MODE_APPLY_STIMULUS: $sFormEndpoint = $this->oUrlGenerator->generate( 'p_object_apply_stimulus', array(