Merged in cochalo/processmaker (pull request #87)

Arreglo para los metodos POST y PUT para Process Permission
This commit is contained in:
erik ao
2014-01-17 09:43:34 -04:00
2 changed files with 42 additions and 32 deletions

View File

@@ -183,7 +183,6 @@ class ProcessPermissions
try {
$data = array_change_key_case($data, CASE_UPPER);
list ($iRelation, $sUserGroup) = explode( '|', $data['GROUP_USER'] );
$sObjectUID = '';
switch ($data['OP_OBJ_TYPE']) {
case 'ANY':
@@ -204,26 +203,24 @@ class ProcessPermissions
}
$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;

View File

@@ -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) <brayan@colosa.com>
@@ -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) <brayan@colosa.com>
@@ -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;