diff --git a/workflow/engine/classes/class.processMap.php b/workflow/engine/classes/class.processMap.php index e1d79ae46..9474b5ab4 100755 --- a/workflow/engine/classes/class.processMap.php +++ b/workflow/engine/classes/class.processMap.php @@ -371,7 +371,9 @@ class processMap { $oPM->taskOptions[]=$taskOption; } - $oJSON = new Services_JSON ( ); + $_SESSION['PROCESS'] = $sProcessUID; + + $oJSON = new Services_JSON(); return $oJSON->encode($oPM); } catch (Exception $oError) { throw ($oError); diff --git a/workflow/engine/js/events/events.js b/workflow/engine/js/events/events.js index 970520f80..5d1677833 100755 --- a/workflow/engine/js/events/events.js +++ b/workflow/engine/js/events/events.js @@ -46,18 +46,18 @@ var EventCompose = function(t){ this.ie = document.all ? true : false; this.target = t; - + this.set= function(v){ - this.taget = v; + this.taget = v; } this.add=function(){ - + this.deselectAll(); o = getField(this.target); val = getField(this.target+'_SIMPLEADD').value; - - + + if(this.exists(val)) { new leimnud.module.app.alert().make({label: G_STRINGS.EVENT_EMAILEXISTS}); return false; @@ -69,21 +69,21 @@ var EventCompose = function(t){ new leimnud.module.app.alert().make({label: G_STRINGS.ID_INVALID_EMAIL}); return false; } - + id = val; id = id.replace('"', '"e;'); id = id.replace('"', '"e;'); - - + + var newOption = new Option(val, "ext|"+id); newOption.selected=true; o.options[o.options.length] = newOption; - + getField(this.target+'_SIMPLEADD').value = ''; return false; } this.showUsers=function(e){ - + oPanel = new leimnud.module.panel(); oPanel.options = { size :{w:400,h:310}, @@ -111,9 +111,9 @@ var EventCompose = function(t){ }.extend(this); oRPC.make(); } - + this.showGroups=function(e){ - + oPanel = new leimnud.module.panel(); oPanel.options = { size :{w:350,h:310}, @@ -141,12 +141,12 @@ var EventCompose = function(t){ }.extend(this); oRPC.make(); } - + this.showDynavars=function(e){ - + oPanel = new leimnud.module.panel(); oPanel.options = { - size :{w:350,h:310}, + size :{w:450,h:400}, position:{x:e.clientX,y:e.clientY,center:false}, title :'', theme :"processmaker", @@ -174,25 +174,25 @@ var EventCompose = function(t){ this.pos=function(e){ var u = ie ? event.clientY + document.documentElement.scrollTop : e.pageY; var l = ie ? event.clientX + document.documentElement.scrollLeft : e.pageX; - + return 0; } this.toAdd= function(id, value, prefix){ - + if(this.exists(id)) { new leimnud.module.app.alert().make({label: G_STRINGS.EVENT_EMAILEXISTS}); return false; } - + this.deselectAll(); o = getField(this.target); - + if(prefix == 'dyn'){ var newOption = new Option('@#'+value, prefix+"|"+id); } else { var newOption = new Option(value, prefix+"|"+id); } - + newOption.selected=true; o.options[o.options.length] = newOption; } @@ -208,17 +208,17 @@ var EventCompose = function(t){ } o.options.length = 0; for(i=0; i0){ o.options[o.options.length-1].selected = true; } - - } + + } this.deselectAll= function(){ var o = getField(this.target); for(i=0; iconcatString("USR_FIRSTNAME", "' '" , "USR_LASTNAME") ; } - $sql = " SELECT USR_UID, USR_EMAIL, " . + $sql = " SELECT USR_UID, USR_EMAIL, " . $sConcat . " AS USR_FULLNAME FROM USERS " . " WHERE USR_STATUS = 'ACTIVE' AND USR_EMAIL <> ''"; - + $oCriteria = new Criteria('workflow'); $del = DBAdapter::getStringDelimiter(); @@ -30,7 +30,7 @@ switch($req){ $aRows[] = array('USR_UID'=>$rs->getString('USR_UID'), 'USR_EMAIL'=>$rs->getString('USR_EMAIL'), 'USR_FULLNAME'=>$rs->getString('USR_FULLNAME')); } //echo '
';		print_r($aRows);
-		
+
 		global $_DBArray;
 		$_DBArray['virtualtable']   = $aRows;
 		$_SESSION['_DBArray'] = $_DBArray;
@@ -42,20 +42,20 @@ switch($req){
 		$G_PUBLISH->AddContent('propeltable', 'paged-table', 'events/usermailList', $oCriteria);
 		G::RenderPage('publish', 'raw');
 	break;
-	
+
 	case 'showGroups':
-		
+
 		G::LoadClass('groups');
 		$groups = new Groups();
 		$allGroups= $groups->getAllGroups();
-		  
+
 		$aRows[] = array('GRP_UID' => 'char', 'GROUP_TITLE' => 'char');
 		foreach($allGroups as $group) {
 		    $UID         = htmlentities($group->getGrpUid());
 			$GROUP_TITLE = strip_tags($group->getGrpTitle());
 			$aRows[] = array('GRP_UID'=>$UID, 'GROUP_TITLE'=>$GROUP_TITLE);
 		}
-		
+
 		global $_DBArray;
 		$_DBArray['virtualtable']   = $aRows;
 		$_SESSION['_DBArray'] = $_DBArray;
@@ -67,38 +67,19 @@ switch($req){
 		$G_PUBLISH->AddContent('propeltable', 'paged-table', 'events/groupmailList', $oCriteria);
 		G::RenderPage('publish', 'raw');
 	break;
-	
+
 	case 'showDynavars':
-		G::LoadClass('processMap');
-		$oProcessMap = new processMap();
-		$aDynaforms = $oProcessMap->getDynaformsList($_SESSION['PROCESS']);
-		//g::pr($aDynaforms);
-		G::LoadSystem('dynaformhandler');
-		$aDynaformFields = Array();
-		foreach($aDynaforms as $dyn){
-			if( $dyn['DYN_TYPE'] == 'xmlform' ){
-        if( is_file(PATH_DYNAFORM . "{$_SESSION['PROCESS']}/{$dyn['DYN_UID']}" . '.xml') ){
-		        $oDynaformHandler = new dynaFormHandler(PATH_DYNAFORM . "{$_SESSION['PROCESS']}/{$dyn['DYN_UID']}" . '.xml');
-		        $aDynaformFields[$dyn['DYN_TITLE']] =  $oDynaformHandler->getFieldNames();
-            
-        } else {
-          continue;
+        G::LoadClass('xmlfield_InputPM');
+        $dynaformFields = getDynaformsVars($_SESSION['PROCESS'], false, false);
+        $fields = array(array('id' => 'char', 'dynaform' => 'char', 'name' => 'char'));
+
+        foreach ($dynaformFields as $dynaformField) {
+            $fields[] = array('id' => $dynaformField['sName'],
+                              'name' => '@#' . $dynaformField['sName'] . '', 'label' => $dynaformField['sLabel']);
         }
-			}
-		}
-    
-		
-		//G::pr($aDynaformFields); die;
-		$aRows = Array();
-		$aRows[0] = Array('id'=>'char', 'dynaform'=>'char', 'name'=>'char');
-		foreach($aDynaformFields as $dynName=>$aFields){
-			foreach($aFields as $sField){
-				array_push($aRows, Array('id'=>$sField, 'dynaform'=>$dynName, 'name'=>$sField));
-			}
-		}
-		//g::pr($aRows); die;
+
 		global $_DBArray;
-		$_DBArray['virtualtable'] = $aRows;
+		$_DBArray['virtualtable'] = $fields;
 		$_SESSION['_DBArray'] = $_DBArray;
 		G::LoadClass('ArrayPeer');
 		$oCriteria = new Criteria('dbarray');
@@ -107,6 +88,5 @@ switch($req){
 		$G_PUBLISH = new Publisher();
 		$G_PUBLISH->AddContent('propeltable', 'paged-table', 'events/dynavarsList', $oCriteria);
 		G::RenderPage('publish', 'raw');
-		
 	break;
-} 
+}
diff --git a/workflow/engine/xmlform/events/dynavarsList.xml b/workflow/engine/xmlform/events/dynavarsList.xml
index 7b3189aca..ddca713e3 100755
--- a/workflow/engine/xmlform/events/dynavarsList.xml
+++ b/workflow/engine/xmlform/events/dynavarsList.xml
@@ -1,11 +1,10 @@
 
-
+
   
-  
-    Var. name
+  
+    Variable
   
-  
-    Dynaform
-  
-  
- 
\ No newline at end of file
+  
+
\ No newline at end of file