diff --git a/workflow/engine/classes/class.processMap.php b/workflow/engine/classes/class.processMap.php index eb049f7f5..e6f8b010d 100644 --- a/workflow/engine/classes/class.processMap.php +++ b/workflow/engine/classes/class.processMap.php @@ -5485,8 +5485,34 @@ class processMap { } } + /** + * newExtObjectPermission + * + * @param string $sProcessUID + * @param string $sAction + * @return array depending on action + */ function newExtObjectPermission($sProcessUID,$sAction) { + $aAllTasks = array(); + $aAllTasks [] = array('UID' => 'char', 'LABEL' => 'char'); + $oCriteria = new Criteria('workflow'); + $oCriteria->addSelectColumn(TaskPeer::PRO_UID); + $oCriteria->addSelectColumn(TaskPeer::TAS_UID); + $oCriteria->addSelectColumn(ContentPeer::CON_VALUE); + $aConditions = array(); + $aConditions [] = array(0 => TaskPeer::TAS_UID, 1 => ContentPeer::CON_ID); + $aConditions [] = array(0 => ContentPeer::CON_CATEGORY, 1 => DBAdapter::getStringDelimiter () . 'TAS_TITLE' . DBAdapter::getStringDelimiter ()); + $aConditions [] = array(0 => ContentPeer::CON_LANG, 1 => DBAdapter::getStringDelimiter () . SYS_LANG . DBAdapter::getStringDelimiter ()); + $oCriteria->addJoinMC($aConditions, Criteria::LEFT_JOIN); + $oCriteria->add(TaskPeer::PRO_UID, $sProcessUID); + $oDataset = TaskPeer::doSelectRS($oCriteria); + $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); + $oDataset->next(); + while ($aRow = $oDataset->getRow()) { + $aAllTasks [] = array('UID' => 'TASKS|' . $aRow ['TAS_UID'], 'LABEL' => $aRow ['CON_VALUE']); + $oDataset->next(); + } $aUsersGroups = array(); $aUsersGroups [] = array('UID' => 'char', 'LABEL' => 'char'); $oCriteria = new Criteria('workflow'); @@ -5563,6 +5589,9 @@ class processMap { $_DBArray = (isset($_SESSION ['_DBArray']) ? $_SESSION ['_DBArray'] : ''); switch($sAction){ + case 'tasks': + return $aAllTasks; + break; case 'users': return $aUsersGroups; break; diff --git a/workflow/engine/methods/bpmn/proxyDatabaseConn.php b/workflow/engine/methods/bpmn/proxyDatabaseConn.php index 9ceacdfc7..89e914b39 100644 --- a/workflow/engine/methods/bpmn/proxyDatabaseConn.php +++ b/workflow/engine/methods/bpmn/proxyDatabaseConn.php @@ -4,13 +4,22 @@ try G::LoadClass('processMap'); $oProcessMap = new processMap(new DBConnection); - if ( isset($_GET['pid'] ) ) + if ( isset($_GET['pid']) ) { $rows = $oProcessMap->getExtCriteriaDBSList($_GET['pid']); } - $result['totalCount'] = count($rows); - $result['data'] = $rows; - print json_encode($result); + if(isset($_GET['tid'])) + { + require_once 'classes/model/DbSource.php'; + $o = new DbSource(); + $rows = $o->load($_GET['tid']); + } + + $tmpData = json_encode( $rows ) ; + $tmpData = str_replace("\\/","/",'{success:true,data:'.$tmpData.'}'); // unescape the slashes + + $result = $tmpData; + echo $result; } catch ( Exception $e ) { print json_encode ( $e->getMessage() ); diff --git a/workflow/engine/methods/bpmn/proxyObjectPermissions.php b/workflow/engine/methods/bpmn/proxyObjectPermissions.php index cf67f4e93..6c922250d 100755 --- a/workflow/engine/methods/bpmn/proxyObjectPermissions.php +++ b/workflow/engine/methods/bpmn/proxyObjectPermissions.php @@ -1,19 +1,18 @@ getExtObjectsPermissions($_GET['pid']); +if ( isset($_GET['pid'] ) && !isset($_GET ['action'])) +{ + $rows = $oProcessMap->getExtObjectsPermissions($_GET['pid']); +} - } - if ( isset($_GET['pid'] )&& isset($_GET['action']) ) - { - $rows = $oProcessMap->newExtObjectPermission($_GET['pid'],$_GET['action']); - array_shift($rows); - } - - $result['totalCount'] = count($rows); - $result['data'] = $rows; - print json_encode($result); +if ( isset($_GET['pid'] )&& isset($_GET['action']) ) +{ + $rows = $oProcessMap->newExtObjectPermission($_GET['pid'],$_GET['action']); + array_shift($rows); +} +$result['totalCount'] = count($rows); +$result['data'] = $rows; +print json_encode($result); ?> diff --git a/workflow/engine/templates/bpmn/ProcessMapContext.js b/workflow/engine/templates/bpmn/ProcessMapContext.js index 35e6da2b8..b868d13d9 100755 --- a/workflow/engine/templates/bpmn/ProcessMapContext.js +++ b/workflow/engine/templates/bpmn/ProcessMapContext.js @@ -500,7 +500,7 @@ var tb = new Ext.Toolbar({ remoteSort : true, fields : selectField, proxy: new Ext.data.HttpProxy({ - url: 'proxyObjectPermissions.php?pid='+pro_uid+'&action=task' + url: 'proxyObjectPermissions.php?pid='+pro_uid+'&action=tasks' }) }); @@ -580,8 +580,9 @@ var tb = new Ext.Toolbar({ }, new Ext.form.ComboBox({ fieldLabel: 'Target Task', - hiddenName:'popType', + //hiddenName:'popType', autoload: true, + name: 'TARGET TASK', store: selectTaskStore, valueField:'LABEL', displayField:'LABEL', @@ -592,7 +593,7 @@ var tb = new Ext.Toolbar({ new Ext.form.ComboBox({ fieldLabel: 'Group or Users', - hiddenName:'popType', + //hiddenName:'popType', autoload: true, store: usersStore, valueField:'LABEL', @@ -604,7 +605,7 @@ var tb = new Ext.Toolbar({ , new Ext.form.ComboBox({ fieldLabel: 'Origin Task', - hiddenName:'popType', + //hiddenName:'popType', autoload: true, store: selectTaskStore, valueField:'LABEL', @@ -657,7 +658,7 @@ var tb = new Ext.Toolbar({ items: [{ xtype: 'combo', fieldLabel: 'Dynaform', - hiddenName:'popType', + //hiddenName:'UID', autoload: true, store: dynaformStore, valueField:'LABEL', @@ -673,10 +674,10 @@ var tb = new Ext.Toolbar({ items: [{ xtype: 'combo', fieldLabel: 'Input Document', - hiddenName:'popType', + //hiddenName:'UID', autoload: true, store: inputDocStore, - valueField:'LABEL', + valueField:'UID', displayField:'LABEL', triggerAction: 'all', emptyText:'Select', @@ -689,7 +690,7 @@ var tb = new Ext.Toolbar({ items: [{ xtype: 'combo', fieldLabel: 'Output Document', - hiddenName:'popType', + //hiddenName:'popType', autoload: true, store: outputDocStore, valueField:'LABEL', @@ -745,7 +746,7 @@ var formWindow = new Ext.Window({ var Participation = getForm.PARTICIPATED; var Type = getForm.OBJECT_TYPE; var Permission = getForm.ACTION; - Ext.Ajax.request({ + /*Ext.Ajax.request({ url : '../bpmn/processes_Ajax.php', method: 'POST', params:{ @@ -761,7 +762,7 @@ var formWindow = new Ext.Window({ success: function(response) { Ext.MessageBox.alert ('Status','Connection Saved Successfully.'); } - }); + });*/ //var getData = getstore.data.items; //taskExtObj.saveTaskUsers(getData);