Ver código fonte

N°642 Portal: Fixed bug in new stimulus form algorithm

git-svn-id: http://svn.code.sf.net/p/itop/code/trunk@4849 a333f486-631f-4898-b8df-5754b55c2be0
glajarige 7 anos atrás
pai
commit
67624b232a

+ 3 - 1
datamodels/2.x/itop-portal-base/portal/src/helpers/applicationhelper.class.inc.php

@@ -957,6 +957,7 @@ class ApplicationHelper
                             if ($oModeNode->getAttribute('id') === 'apply_stimulus')
                             {
                                 $oStimuliNode = $oModeNode->GetOptionalElement('stimuli');
+                                // if stimuli are defined, we overwrite the form that could have been set by the generic form
                                 if($oStimuliNode !== null)
                                 {
                                     foreach ($oStimuliNode->GetNodes('stimulus') as $oStimulusNode)
@@ -1083,7 +1084,8 @@ class ApplicationHelper
 
                                 foreach($aChildStimuli as $sFormStimulus)
                                 {
-                                    if(!isset($aForms[$sChildClass][$sMode][$sFormStimulus]))
+                                    // Setting form if not defined OR if it was defined by a parent (abstract) class
+                                    if(!isset($aForms[$sChildClass][$sMode][$sFormStimulus]) || !empty($aFormStimuli))
                                     {
                                         $aForms[$sChildClass][$sMode][$sFormStimulus] = $aFields;
                                         $aForms[$sChildClass][$sMode][$sFormStimulus]['id'] = 'apply_stimulus-'.$sChildClass.'-'.$sFormStimulus;