From f1f7866f241a004ae73c5b81b06ad9ed993eeedf Mon Sep 17 00:00:00 2001 From: hector Date: Wed, 16 Mar 2011 12:13:44 -0400 Subject: [PATCH 1/3] Adjust in the select 'Parallel by evaluation' --- workflow/engine/methods/patterns/patterns_Ajax.php | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/workflow/engine/methods/patterns/patterns_Ajax.php b/workflow/engine/methods/patterns/patterns_Ajax.php index a8cb02854..7df68d466 100644 --- a/workflow/engine/methods/patterns/patterns_Ajax.php +++ b/workflow/engine/methods/patterns/patterns_Ajax.php @@ -120,8 +120,10 @@ switch ($aData['action']) { $aFields['ROU_CASE'] = $iKey; $aFields['ROU_TYPE'] = $aData['ROU_TYPE']; $aFields['ROU_CONDITION'] = $aRow['ROU_CONDITION']; - $aFields['ROU_OPTIONAL'] = $aRow['ROU_OPTIONAL']; - $rou_id = $oRoute->create($aFields); + if(isset($aRow['ROU_OPTIONAL']) && trim($aRow['ROU_OPTIONAL'])!='' + && ($aRow['ROU_OPTIONAL']==='TRUE' || $aRow['ROU_OPTIONAL']==='FALSE')) + $aFields['ROU_OPTIONAL'] = $aRow['ROU_OPTIONAL']; + $rou_id = $oRoute->create($aFields); unset($aFields); } break; From 9ec5e37b3180501e1e5f4ecd94186d51287e1205 Mon Sep 17 00:00:00 2001 From: erik Date: Tue, 15 Mar 2011 16:02:49 -0400 Subject: [PATCH 2/3] prevent to create default js label dir, if doesn't exist --- workflow/engine/classes/model/Translation.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/workflow/engine/classes/model/Translation.php b/workflow/engine/classes/model/Translation.php index 519540259..e877ba3a9 100644 --- a/workflow/engine/classes/model/Translation.php +++ b/workflow/engine/classes/model/Translation.php @@ -152,6 +152,9 @@ class Translation extends BaseTranslation { if( ! is_dir(dirname($cacheFile)) ) G::mk_dir(dirname($cacheFile)); + + if( ! is_dir(dirname($cacheFileJS)) ) + G::mk_dir(dirname($cacheFileJS)); $f = fopen( $cacheFile , 'w+'); fwrite( $f , " Date: Wed, 16 Mar 2011 17:53:00 -0400 Subject: [PATCH 3/3] BUG 5932: SOLVED, Now routing rule with evaluation have 'End of process' option --- workflow/engine/classes/class.languages.php | 21 ++++++++++++++----- .../engine/methods/setup/languages_Export.php | 15 +++++++++++-- .../patterns_GridParallelByEvaluationType.xml | 13 ++++++------ 3 files changed, 36 insertions(+), 13 deletions(-) diff --git a/workflow/engine/classes/class.languages.php b/workflow/engine/classes/class.languages.php index 68df5b0a6..0da354d5c 100644 --- a/workflow/engine/classes/class.languages.php +++ b/workflow/engine/classes/class.languages.php @@ -325,14 +325,17 @@ class languages { } } else if( $updateXml ){ $xmlForm = $context; - $codes = explode('-', $reference); - foreach($codes as $i=>$code){ + //$codes = explode('-', $reference); + /*foreach($codes as $i=>$code){ $codes[$i] = trim($code); if ( $codes[$i] == "''" ){ $codes[$i] = ''; } } - $fieldName = trim($codes[1]); + $fieldName = trim($codes[1]);*/ + + //erik: expresion to prevent and hable correctly dropdown values like -1, -2 etc. + preg_match('/^([\w_]+)\s-\s([\w_]+)\s*-*\s*([\w\W]*)$/', $reference, $match); if( ! file_exists(PATH_XMLFORM . $xmlForm) ) { continue; @@ -340,11 +343,19 @@ class languages { G::LoadSystem('dynaformhandler'); $dynaform = new dynaFormHandler(PATH_XMLFORM . $xmlForm); + $fieldName = $match[2]; + if( !isset($match[2]) ){ + print_r($reference); + print_r($match); + die; + } + + $codes = explode('-', $reference); if( sizeof($codes) == 2 ) { //is a normal node $dynaform->addChilds($fieldName, Array($LOCALE=>$rowTranslation['msgstr'])); - } else if( sizeof($codes) == 3 ) { //is a node child for a language node - $name = trim($codes[2]); + } else if( sizeof($codes) > 2 ) { //is a node child for a language node + $name = $match[3] == "''" ? '' : $match[3]; $childNode = Array( Array('name'=>'option', 'value'=>$rowTranslation['msgstr'], 'attributes'=>Array('name'=>$name)) ); diff --git a/workflow/engine/methods/setup/languages_Export.php b/workflow/engine/methods/setup/languages_Export.php index d8ab800ce..03b069858 100644 --- a/workflow/engine/methods/setup/languages_Export.php +++ b/workflow/engine/methods/setup/languages_Export.php @@ -173,7 +173,7 @@ foreach ($aXMLForms as $xmlFormPath) { //get all fields of each xmlform foreach ($dynaNodes as $oNode) { - + $sNodeName = $oNode->nodeName; //$arrayNode = $dynaForm->getArray($oNode, Array('type', $_BASE_LANG, $_BASE_LANG)); $arrayNode = $dynaForm->getArray($oNode); @@ -190,6 +190,11 @@ foreach ($aXMLForms as $xmlFormPath) { $langNode = $arrayNode[$_BASE_LANG][0]; $originNodeText = getTextValue($langNode); } + + /*if( strpos($xmlFormPath, 'patterns/patterns_GridParallelByEvaluationType.xml') !== false){ + g::pr($arrayNode); + g::dump(getTextValue($langNode)); + }*/ // Getting the Base Target Text if( isset($arrayNode[$_TARGET_LANG]) ) { @@ -214,13 +219,19 @@ foreach ($aXMLForms as $xmlFormPath) { // if the nodeName already exists in the po file, we need to create other msgid if( isset($aMsgids[$msgid]) ) - $msgid = '[' . $xmlFormFile . '?' . $nodeName . ']' . $originNodeText; + $msgid = '[' . $xmlFormFile . '?' . $nodeName . '] ' . $originNodeText; $poFile->addTranslatorComment($xmlFormFile . '?' . $nodeName); $poFile->addTranslatorComment($xmlFormFile); $poFile->addReference($nodeType . ' - ' . $nodeName); $poFile->addTranslation($msgid, stripslashes($targetNodeText)); + /*if( strpos($xmlFormPath, 'patterns/patterns_GridParallelByEvaluationType.xml') !== false){ + echo 'msgstr: ' .$msgid, stripslashes($targetNodeText); + echo '
'; + }*/ + + $aMsgids[$msgid] = true; //if this node has options child nodes diff --git a/workflow/engine/xmlform/patterns/patterns_GridParallelByEvaluationType.xml b/workflow/engine/xmlform/patterns/patterns_GridParallelByEvaluationType.xml index 0a18937a1..310be26f8 100644 --- a/workflow/engine/xmlform/patterns/patterns_GridParallelByEvaluationType.xml +++ b/workflow/engine/xmlform/patterns/patterns_GridParallelByEvaluationType.xml @@ -1,13 +1,14 @@ - - Next Task - + + + Next Task + + + - Condition + Condition