Merged in cochalo/processmaker (pull request #81)
Adicion la funcionalidad POST y PUT en PROCESS PERMISSIONS
This commit is contained in:
@@ -166,6 +166,70 @@ class ProcessPermissions
|
||||
return $aObjectsPermissions;
|
||||
}
|
||||
|
||||
/**
|
||||
* Save Process Permission
|
||||
*
|
||||
* @var array $data. Data for Process Permission
|
||||
* @var string $sPermissionUid. Uid for Process Permission
|
||||
*
|
||||
* @access public
|
||||
* @author Brayan Pereyra (Cochalo) <brayan@colosa.com>
|
||||
* @copyright Colosa - Bolivia
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function saveProcessPermission($data, $sPermissionUid = '')
|
||||
{
|
||||
try {
|
||||
$data = array_change_key_case($data, CASE_UPPER);
|
||||
|
||||
list ($iRelation, $sUserGroup) = explode( '|', $data['GROUP_USER'] );
|
||||
$sObjectUID = '';
|
||||
switch ($data['OP_OBJ_TYPE']) {
|
||||
case 'ANY':
|
||||
//case 'ANY_DYNAFORM':CASES_NOTES
|
||||
//case 'ANY_INPUT':
|
||||
//case 'ANY_OUTPUT':
|
||||
$sObjectUID = '';
|
||||
break;
|
||||
case 'DYNAFORM':
|
||||
$sObjectUID = $data['DYNAFORMS'];
|
||||
break;
|
||||
case 'INPUT':
|
||||
$sObjectUID = $data['INPUTS'];
|
||||
break;
|
||||
case 'OUTPUT':
|
||||
$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 );
|
||||
if ($sPermissionUid == '') {
|
||||
$oOP->save();
|
||||
$daraRes = $oOP->load($newUid);
|
||||
return $daraRes;
|
||||
} else {
|
||||
$oOP->update($aData);
|
||||
}
|
||||
} catch (Exception $e) {
|
||||
throw $e;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Delete Process Permission
|
||||
*
|
||||
|
||||
@@ -59,6 +59,77 @@ 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 $op_case_status {@from body} {@choice ALL,DRAFT,TO_DO,PAUSED,COMPLETED}
|
||||
* @param string $tas_uid {@from body}
|
||||
* @param string $group_user {@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>
|
||||
* @copyright Colosa - Bolivia
|
||||
*
|
||||
* @return array
|
||||
*
|
||||
* @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 = '')
|
||||
{
|
||||
try {
|
||||
$request_data['pro_uid'] = $projectUid;
|
||||
$processPermissions = new \BusinessModel\ProcessPermissions();
|
||||
$response = $processPermissions->saveProcessPermission($request_data);
|
||||
return $response;
|
||||
} catch (\Exception $e) {
|
||||
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @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 $op_case_status {@from body} {@choice ALL,DRAFT,TO_DO,PAUSED,COMPLETED}
|
||||
* @param string $tas_uid {@from body}
|
||||
* @param string $group_user {@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>
|
||||
* @copyright Colosa - Bolivia
|
||||
*
|
||||
* @return array
|
||||
*
|
||||
* @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 = '')
|
||||
{
|
||||
try {
|
||||
$request_data['pro_uid'] = $projectUid;
|
||||
$processPermissions = new \BusinessModel\ProcessPermissions();
|
||||
$response = $processPermissions->saveProcessPermission($request_data, $objectPermissionUid);
|
||||
return $response;
|
||||
} catch (\Exception $e) {
|
||||
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $projectUid {@min 1} {@max 32}
|
||||
|
||||
Reference in New Issue
Block a user