From 2aa96fac5972f6e3a554809b11575bf87c73a29c Mon Sep 17 00:00:00 2001 From: Brayan Osmar Pereyra Suxo Date: Thu, 16 Jan 2014 12:23:33 -0400 Subject: [PATCH] Arreglo para los metodos POST y PUT para Process Permission --- .../src/BusinessModel/ProcessPermissions.php | 39 ++++++++--------- .../Project/ProcessPermissions.php | 43 ++++++++++++------- 2 files changed, 46 insertions(+), 36 deletions(-) diff --git a/workflow/engine/src/BusinessModel/ProcessPermissions.php b/workflow/engine/src/BusinessModel/ProcessPermissions.php index cdd819333..a3c021b1f 100644 --- a/workflow/engine/src/BusinessModel/ProcessPermissions.php +++ b/workflow/engine/src/BusinessModel/ProcessPermissions.php @@ -183,9 +183,8 @@ class ProcessPermissions try { $data = array_change_key_case($data, CASE_UPPER); - list ($iRelation, $sUserGroup) = explode( '|', $data['GROUP_USER'] ); $sObjectUID = ''; - switch ($data['OP_OBJ_TYPE']) { + switch ($data['op_obj_type']) { case 'ANY': //case 'ANY_DYNAFORM':CASES_NOTES //case 'ANY_INPUT': @@ -193,37 +192,35 @@ class ProcessPermissions $sObjectUID = ''; break; case 'DYNAFORM': - $sObjectUID = $data['DYNAFORMS']; + $sObjectUID = $data['dynaforms']; break; case 'INPUT': - $sObjectUID = $data['INPUTS']; + $sObjectUID = $data['inputs']; break; case 'OUTPUT': - $sObjectUID = $data['OUTPUTS']; + $sObjectUID = $data['outputs']; break; } $oOP = new \ObjectPermission(); $permissionUid = ($sPermissionUid != '') ? $sPermissionUid : G::generateUniqueID(); - $aData = array ( - 'OP_UID' => $permissionUid, - 'PRO_UID' => $data['PRO_UID'], - 'TAS_UID' => $data['TAS_UID'], - 'USR_UID' => (string) $sUserGroup, - 'OP_USER_RELATION' => $iRelation, - 'OP_TASK_SOURCE' => $data['OP_TASK_SOURCE'], - 'OP_PARTICIPATE' => $data['OP_PARTICIPATE'], - 'OP_OBJ_TYPE' => $data['OP_OBJ_TYPE'], - 'OP_OBJ_UID' => $sObjectUID, - 'OP_ACTION' => $data['OP_ACTION'], - 'OP_CASE_STATUS' => $data['OP_CASE_STATUS'] - ); - $oOP->fromArray( $aData, \BasePeer::TYPE_FIELDNAME ); + $data['OP_UID'] = $permissionUid; + $data['OP_OBJ_UID'] = $sObjectUID; + if ($sPermissionUid == '') { + $oOP->fromArray( $data, \BasePeer::TYPE_FIELDNAME ); $oOP->save(); - $daraRes = $oOP->load($newUid); + $daraRes = $oOP->load($permissionUid); + $daraRes = array_change_key_case($daraRes, CASE_LOWER); return $daraRes; } else { - $oOP->update($aData); + $data['TAS_UID'] = $data['TAS_UID'] != '' ? $data['TAS_UID'] : '0'; + $data['OP_TASK_SOURCE'] = $data['OP_TASK_SOURCE'] != '' ? $data['OP_TASK_SOURCE'] : '0'; + $data['OP_PARTICIPATE'] = $data['OP_PARTICIPATE'] != '' ? $data['OP_PARTICIPATE'] : 0; + $data['OP_OBJ_TYPE'] = $data['OP_OBJ_TYPE'] != '' ? $data['OP_OBJ_TYPE'] : '0'; + $data['OP_OBJ_UID'] = $data['OP_OBJ_UID'] != '' ? $data['OP_OBJ_UID'] : '0'; + $data['OP_ACTION'] = $data['OP_ACTION'] != '' ? $data['OP_ACTION'] : '0'; + $data['OP_CASE_STATUS'] = $data['OP_CASE_STATUS'] != '' ? $data['OP_CASE_STATUS'] : '0'; + $oOP->update($data); } } catch (Exception $e) { throw $e; diff --git a/workflow/engine/src/Services/Api/ProcessMaker/Project/ProcessPermissions.php b/workflow/engine/src/Services/Api/ProcessMaker/Project/ProcessPermissions.php index 7879911b2..ebac4aaf9 100644 --- a/workflow/engine/src/Services/Api/ProcessMaker/Project/ProcessPermissions.php +++ b/workflow/engine/src/Services/Api/ProcessMaker/Project/ProcessPermissions.php @@ -62,16 +62,18 @@ class ProcessPermissions extends Api /** * @param string $projectUid {@min 1} {@max 32} * @param array $request_data - * @param string $op_obj_type {@from body} {@choice ANY,DYNAFORM,INPUT,OUTPUT,CASES_NOTES,MSGS_HISTORY} - * @param string $op_participate {@from body} {@choice 0,1} - * @param string $op_action {@from body} {@choice VIEW,BLOCK,DELETE} + * + * @param string $usr_uid {@from body} {@min 1} {@max 32} + * @param string $op_user_relation {@from body} {@choice 1,2} * @param string $op_case_status {@from body} {@choice ALL,DRAFT,TO_DO,PAUSED,COMPLETED} + * @param string $op_participate {@from body} {@choice 0,1} + * @param string $op_obj_type {@from body} {@choice ANY,DYNAFORM,INPUT,OUTPUT,CASES_NOTES,MSGS_HISTORY} + * @param string $op_action {@from body} {@choice VIEW,BLOCK,DELETE} * @param string $tas_uid {@from body} - * @param string $group_user {@from body} + * @param string $op_task_source {@from body} * @param string $dynaforms {@from body} * @param string $inputs {@from body} * @param string $outputs {@from body} - * @param string $op_task_source {@from body} * * @access public * @author Brayan Pereyra (Cochalo) @@ -81,13 +83,22 @@ class ProcessPermissions extends Api * * @url POST /:projectUid/process-permission/ */ - public function doPostProcessPermission($projectUid, $request_data, $op_obj_type, $op_participate, $op_action, - $op_case_status, $tas_uid = '', $group_user = '', $dynaforms = '', $inputs = '', $outputs = '', $op_task_source = '') + public function doPostProcessPermission($projectUid, $request_data, $usr_uid, $op_user_relation, $op_case_status, + $op_participate, $op_obj_type, $op_action, $tas_uid = '', $op_task_source = '', $dynaforms = '', $inputs = '', + $outputs = '') { try { + $hiddenFields = array('task_target', 'group_user', 'task_source', + 'object_type', 'object', 'participated', 'action' + ); $request_data['pro_uid'] = $projectUid; $processPermissions = new \BusinessModel\ProcessPermissions(); $response = $processPermissions->saveProcessPermission($request_data); + foreach ($response as $key => $eventData) { + if (in_array($key, $hiddenFields)) { + unset($response[$key]); + } + } return $response; } catch (\Exception $e) { throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage())); @@ -98,16 +109,18 @@ class ProcessPermissions extends Api * @param string $projectUid {@min 1} {@max 32} * @param string $objectPermissionUid {@min 1} {@max 32} * @param array $request_data - * @param string $op_obj_type {@from body} {@choice ANY,DYNAFORM,INPUT,OUTPUT,CASES_NOTES,MSGS_HISTORY} - * @param string $op_participate {@from body} {@choice 0,1} - * @param string $op_action {@from body} {@choice VIEW,BLOCK,DELETE} + * + * @param string $usr_uid {@from body} {@min 1} {@max 32} + * @param string $op_user_relation {@from body} {@choice 1,2} * @param string $op_case_status {@from body} {@choice ALL,DRAFT,TO_DO,PAUSED,COMPLETED} + * @param string $op_participate {@from body} {@choice 0,1} + * @param string $op_obj_type {@from body} {@choice ANY,DYNAFORM,INPUT,OUTPUT,CASES_NOTES,MSGS_HISTORY} + * @param string $op_action {@from body} {@choice VIEW,BLOCK,DELETE} * @param string $tas_uid {@from body} - * @param string $group_user {@from body} + * @param string $op_task_source {@from body} * @param string $dynaforms {@from body} * @param string $inputs {@from body} * @param string $outputs {@from body} - * @param string $op_task_source {@from body} * * @access public * @author Brayan Pereyra (Cochalo) @@ -117,9 +130,9 @@ class ProcessPermissions extends Api * * @url PUT /:projectUid/process-permission/:objectPermissionUid */ - public function doPutProcessPermission($projectUid, $objectPermissionUid, $request_data, $op_obj_type, - $op_participate, $op_action, $op_case_status, $tas_uid = '', $group_user = '', $dynaforms = '', $inputs = '', - $outputs = '', $op_task_source = '') + public function doPutProcessPermission($projectUid, $objectPermissionUid, $request_data, $usr_uid, + $op_user_relation, $op_case_status, $op_participate, $op_obj_type, $op_action, $tas_uid = '', + $op_task_source = '', $dynaforms = '', $inputs = '', $outputs = '') { try { $request_data['pro_uid'] = $projectUid;