From f67843313e4f97004693e35d44f0330ceb3a3337 Mon Sep 17 00:00:00 2001 From: Erik Amaru Ortiz Date: Sun, 27 Feb 2011 13:16:34 +0000 Subject: [PATCH] finish update for process actions with proxy --- workflow/engine/controllers/processProxy.php | 138 +++++++++---------- workflow/engine/templates/bpmn/designer.js | 17 ++- workflow/engine/templates/bpmn/processmap.js | 13 +- 3 files changed, 84 insertions(+), 84 deletions(-) diff --git a/workflow/engine/controllers/processProxy.php b/workflow/engine/controllers/processProxy.php index bc0717423..f8db952cc 100644 --- a/workflow/engine/controllers/processProxy.php +++ b/workflow/engine/controllers/processProxy.php @@ -116,94 +116,82 @@ class ProcessProxy extends HttpProxyController } } + /** + * Get users list + * + * @param $params httpdata object + */ function getUsers($params) { require_once 'classes/model/Users.php'; - G::LoadClass('configuration'); - $conf = new Configurations; - - $search = isset($params['search']) ? $params['search']: null; - $users = Users::getAll($params['start'], $params['limit'], $search); - - foreach($users->data as $i=>$user){ - $users->data[$i]['USER'] = $conf->getEnvSetting( - 'format', - Array( - 'userName'=>$user['USR_USERNAME'], - 'firstName'=>$user['USR_FIRSTNAME'], - 'lastName'=>$user['USR_LASTNAME'] - ) - ); - } - print G::json_encode($users); + $search = isset($params->search) ? $params->search: null; + return Users::getAll($params->start, $params->limit, $search); } + /** + * Get groups list + * + * @param $params httpdata object + */ function getGroups($params) { require_once 'classes/model/Groupwf.php'; $search = isset($params['search']) ? $params['search']: null; - $groups = Groupwf::getAll($params['start'], $params['limit'], $search); - - print G::json_encode($groups); + return Groupwf::getAll($params['start'], $params['limit'], $search); } - function assignUsersTask($param) + /** + * Assign actors to task + * + * @param unknown_type $param + */ + function assignActorsTask($param) { - try{ - require_once 'classes/model/TaskUser.php'; - require_once 'classes/model/Task.php'; - $oTaskUser = new TaskUser(); - $UIDS = explode(',', $param['UIDS']); - $TU_TYPE = 1; + require_once 'classes/model/TaskUser.php'; + require_once 'classes/model/Task.php'; + $oTaskUser = new TaskUser(); + $UIDS = explode(',', $param->UIDS); + $TU_TYPE = $param->TU_TYPE; + $TAS_UID = $param->TAS_UID; - foreach( $UIDS as $UID ) { - if ($_POST['TU_RELATION'] == 1 ) - $oTaskUser->create(array('TAS_UID' => $param['TAS_UID'], 'USR_UID' => $UID, 'TU_TYPE' => $TU_TYPE, 'TU_RELATION' => 1)); - else - $oTaskUser->create(array('TAS_UID' => $param['TAS_UID'], 'USR_UID' => $UID, 'TU_TYPE' => $TU_TYPE, 'TU_RELATION' => 2)); - } - $task = TaskPeer::retrieveByPk($param['TAS_UID']); - - $result->success = true; - if( count($UIDS) > 1 ) - $result->msg = __('ID_ACTORS_ASSIGNED_SUCESSFULLY', SYS_LANG, Array(count($UIDS), $task->getTasTitle())); + foreach( $UIDS as $UID ) { + if ($param->TU_RELATION == '1' ) + $oTaskUser->create(array('TAS_UID' => $TAS_UID, 'USR_UID' => $UID, 'TU_TYPE' => $TU_TYPE, 'TU_RELATION' => 1)); else - $result->msg = __('ID_ACTOR_ASSIGNED_SUCESSFULLY', SYS_LANG, Array('tas_title'=>$task->getTasTitle())); - } catch(Exception $e){ - $result->success = false; - $result->msg = $e->getMessage(); + $oTaskUser->create(array('TAS_UID' => $TAS_UID, 'USR_UID' => $UID, 'TU_TYPE' => $TU_TYPE, 'TU_RELATION' => 2)); } + $task = TaskPeer::retrieveByPk($TAS_UID); - print G::json_encode($result); + $this->success = true; + if( count($UIDS) > 1 ) + $this->msg = __('ID_ACTORS_ASSIGNED_SUCESSFULLY', SYS_LANG, Array(count($UIDS), $task->getTasTitle())); + else + $this->msg = __('ID_ACTOR_ASSIGNED_SUCESSFULLY', SYS_LANG, Array('tas_title'=>$task->getTasTitle())); } - function removeUsersTask($param) + /** + * Remove Actors from Task + * + * @param $param + */ + function removeActorsTask($param) { - try{ - require_once 'classes/model/TaskUser.php'; - $oTaskUser = new TaskUser(); - $USR_UIDS = explode(',', $param['USR_UID']); - $TU_RELATIONS = explode(',', $param['TU_RELATION']); - $TU_TYPE = 1; + require_once 'classes/model/TaskUser.php'; + $oTaskUser = new TaskUser(); + $USR_UIDS = explode(',', $param->USR_UID); + $TU_RELATIONS = explode(',', $param->TU_RELATION); + $TU_TYPE = $param->TU_TYPE; - foreach($USR_UIDS as $i=>$USR_UID) { - if ($TU_RELATIONS[$i] == 1 ){ - - $oTaskUser->remove($param['TAS_UID'], $USR_UID, $TU_TYPE, 1); - - } else { - $oTaskUser->remove($param['TAS_UID'], $USR_UID, $TU_TYPE, 2); - } + foreach($USR_UIDS as $i=>$USR_UID) { + if ($TU_RELATIONS[$i] == 1 ){ + $oTaskUser->remove($param->TAS_UID, $USR_UID, $TU_TYPE, 1); + } else { + $oTaskUser->remove($param->TAS_UID, $USR_UID, $TU_TYPE, 2); } - - $result->success = true; - $result->msg = ''; - } catch(Exception $e){ - $result->success = false; - $result->msg = $e->getMessage(); } - print G::json_encode($result); + $this->success = true; + $this->msg = ''; } @@ -392,6 +380,9 @@ class ProcessProxy extends HttpProxyController $this->sucess = true; } + /** + * get calendar list + */ function getCaledarList() { G::LoadClass('calendar'); @@ -399,20 +390,23 @@ class ProcessProxy extends HttpProxyController $calendarObj = $calendar->getCalendarList(true, true); $calendarObj['array'][0] = Array('CALENDAR_UID'=>'', 'CALENDAR_NAME'=>''); - $response->rows = $calendarObj['array']; - - print G::json_encode($response); + $this->rows = $calendarObj['array']; } + /** + * Get PM Variables + * + * @param $param{PRO_UID} + */ function getPMVariables($param) { G::LoadClass('processMap'); $oProcessMap = new processMap(new DBConnection); - $response->rows = getDynaformsVars($param['PRO_UID']); - foreach($response->rows as $i=>$var){ - $response->rows[$i]['sName'] = "@@{$var['sName']}"; + $rows = getDynaformsVars($param->PRO_UID); + foreach($rows as $i=>$var){ + $rows[$i]['sName'] = "@@{$var['sName']}"; } - print G::json_encode($response); + $this->rows = $rows; } } diff --git a/workflow/engine/templates/bpmn/designer.js b/workflow/engine/templates/bpmn/designer.js index 594c3e8b2..45b227975 100755 --- a/workflow/engine/templates/bpmn/designer.js +++ b/workflow/engine/templates/bpmn/designer.js @@ -267,9 +267,9 @@ Ext.onReady ( function() { usersPanelLimit = 1000; var usersStore = new Ext.data.Store( { - autoLoad: true, + autoLoad: false, proxy : new Ext.data.HttpProxy({ - url: '../processes/ajaxListener?action=getUsers&start='+usersPanelStart+'&limit='+usersPanelLimit + url: '../processProxy/getUsers?start='+usersPanelStart+'&limit='+usersPanelLimit }), reader : new Ext.data.JsonReader( { totalProperty: 'totalCount', @@ -350,9 +350,9 @@ Ext.onReady ( function() { }); var groupsStore = new Ext.data.Store( { - autoLoad: true, + autoLoad: false, proxy : new Ext.data.HttpProxy({ - url: '../processes/ajaxListener?action=getGroups&start='+usersPanelStart+'&limit='+usersPanelLimit + url: '../processProxy/getGroups?start='+usersPanelStart+'&limit='+usersPanelLimit }), reader : new Ext.data.JsonReader( { totalProperty: 'totalCount', @@ -509,7 +509,7 @@ Ext.onReady ( function() { parent.Ext.getCmp('eastPanelCenter').setTitle(Ext.getCmp('usersPanel')._targetTask.name); } Ext.Ajax.request({ - url: '../processes/ajaxListener', + url: '../processProxy/assignActorsTask', success: function(response){ var result = Ext.util.JSON.decode(response.responseText); if( result.success ) { @@ -521,6 +521,7 @@ Ext.onReady ( function() { if( typeof parent != 'undefined' ) { var tu_type = ''; parent.Ext.getCmp('eastPanel').show(); + parent.Ext.getCmp('usersPanelTabs').getTabEl('usersTaskGrid').style.display = ''; parent.Ext.getCmp('usersPanelTabs').setActiveTab(1); parent.Ext.getCmp('usersTaskGrid').store.reload({params:{tas_uid: _TAS_UID, tu_type: tu_type}}); } @@ -530,9 +531,9 @@ Ext.onReady ( function() { }, failure: function(){}, params: { - action : 'assignUsersTask', TAS_UID : _TAS_UID, TU_RELATION : type, + TU_TYPE : 1, UIDS : uids } }); @@ -546,6 +547,10 @@ Ext.onReady ( function() { usersPanel.setPosition(0, divScroll.scrollTop); }, this); + usersPanel.on('afterrender', function(e) { + Ext.getCmp('usersGrid').store.load(); + Ext.getCmp('groupsGrid').store.load(); + }, this); //usersPanel.show(); var divScroll = document.body; diff --git a/workflow/engine/templates/bpmn/processmap.js b/workflow/engine/templates/bpmn/processmap.js index ba12a5e9b..cd509c877 100755 --- a/workflow/engine/templates/bpmn/processmap.js +++ b/workflow/engine/templates/bpmn/processmap.js @@ -149,13 +149,14 @@ Ext.onReady ( function() { //PMExt.confirm(_('ID_CONFIRM'), _('ID_REMOVE_USERS_CONFIRM'), function(){ Ext.Ajax.request({ - url : '../processes/ajaxListener', + url : '../processProxy/removeActorsTask', method: 'POST', params: { action : 'removeUsersTask', USR_UID: usr_uid, TU_RELATION: tu_relation, - TAS_UID: _TAS_UID + TAS_UID: _TAS_UID, + TU_TYPE: 1 }, success: function(response) { var result = Ext.util.JSON.decode(response.responseText); @@ -262,8 +263,8 @@ Ext.onReady ( function() { allowBlank : true, store : new Ext.data.Store( { //autoLoad: true, //autoload the data - proxy : new Ext.data.HttpProxy({ url: '../processes/ajaxListener'}), - baseParams : {action: 'getCaledarList'}, + proxy : new Ext.data.HttpProxy({ url: '../processProxy/getCaledarList'}), + //baseParams : {action: 'getCaledarList'}, reader : new Ext.data.JsonReader( { root : 'rows', fields : [ @@ -287,8 +288,8 @@ Ext.onReady ( function() { allowBlank : true, store : new Ext.data.Store( { //autoLoad: false, //autoload the data - proxy : new Ext.data.HttpProxy({ url: '../processes/ajaxListener'}), - baseParams : {action: 'getPMVariables', PRO_UID: pro_uid}, + proxy : new Ext.data.HttpProxy({ url: '../processProxy/getPMVariables'}), + baseParams : {PRO_UID: pro_uid}, reader : new Ext.data.JsonReader( { root : 'rows', fields : [