Merged in cochalo/processmaker (pull request #81)

Adicion la funcionalidad POST y PUT en PROCESS PERMISSIONS
This commit is contained in:
erik ao
2014-01-15 17:24:11 -04:00
2 changed files with 135 additions and 0 deletions

View File

@@ -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
*

View File

@@ -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}