2014-01-09 16:33:07 -04:00
|
|
|
<?php
|
2014-04-02 17:02:02 -04:00
|
|
|
namespace ProcessMaker\Services\Api\Project;
|
2014-01-09 16:33:07 -04:00
|
|
|
|
|
|
|
|
use \ProcessMaker\Services\Api;
|
|
|
|
|
use \Luracast\Restler\RestException;
|
|
|
|
|
|
|
|
|
|
/**
|
2014-01-23 11:42:54 -04:00
|
|
|
* Project\ProcessPermissions Api Controller
|
2014-01-09 16:33:07 -04:00
|
|
|
*
|
|
|
|
|
* @author Brayan Pereyra (Cochalo) <brayan@colosa.com>
|
|
|
|
|
* @copyright Colosa - Bolivia
|
|
|
|
|
*
|
|
|
|
|
* @protected
|
|
|
|
|
*/
|
|
|
|
|
class ProcessPermissions extends Api
|
|
|
|
|
{
|
|
|
|
|
/**
|
2014-02-06 15:58:10 -04:00
|
|
|
* @param string $prj_uid {@min 1} {@max 32}
|
2014-01-09 16:33:07 -04:00
|
|
|
*
|
|
|
|
|
* @access public
|
|
|
|
|
* @author Brayan Pereyra (Cochalo) <brayan@colosa.com>
|
|
|
|
|
* @copyright Colosa - Bolivia
|
|
|
|
|
*
|
|
|
|
|
* @return array
|
|
|
|
|
*
|
2014-02-06 18:10:55 -04:00
|
|
|
* @url GET /:prj_uid/process-permissions
|
2014-01-09 16:33:07 -04:00
|
|
|
*/
|
2014-02-06 15:58:10 -04:00
|
|
|
public function doGetProcessPermissions($prj_uid)
|
2014-01-09 16:33:07 -04:00
|
|
|
{
|
|
|
|
|
try {
|
2014-04-02 17:02:02 -04:00
|
|
|
$processPermissions = new \ProcessMaker\BusinessModel\ProcessPermissions();
|
2014-02-06 15:58:10 -04:00
|
|
|
$response = $processPermissions->getProcessPermissions($prj_uid);
|
2014-01-09 16:33:07 -04:00
|
|
|
return $response;
|
|
|
|
|
} catch (\Exception $e) {
|
|
|
|
|
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
|
|
|
|
|
}
|
|
|
|
|
}
|
2014-01-10 15:32:14 -04:00
|
|
|
|
|
|
|
|
/**
|
2014-02-06 15:58:10 -04:00
|
|
|
* @param string $prj_uid {@min 1} {@max 32}
|
|
|
|
|
* @param string $ob_uid {@min 1} {@max 32}
|
2014-01-10 15:32:14 -04:00
|
|
|
*
|
|
|
|
|
* @access public
|
|
|
|
|
* @author Brayan Pereyra (Cochalo) <brayan@colosa.com>
|
|
|
|
|
* @copyright Colosa - Bolivia
|
|
|
|
|
*
|
|
|
|
|
* @return array
|
|
|
|
|
*
|
2014-02-06 15:58:10 -04:00
|
|
|
* @url GET /:prj_uid/process-permission/:ob_uid
|
2014-01-10 15:32:14 -04:00
|
|
|
*/
|
2014-02-06 15:58:10 -04:00
|
|
|
public function doGetProcessPermission($prj_uid, $ob_uid)
|
2014-01-10 15:32:14 -04:00
|
|
|
{
|
|
|
|
|
try {
|
2014-04-02 17:02:02 -04:00
|
|
|
$processPermissions = new \ProcessMaker\BusinessModel\ProcessPermissions();
|
2014-02-06 15:58:10 -04:00
|
|
|
$response = $processPermissions->getProcessPermissions($prj_uid, $ob_uid);
|
2014-01-10 15:32:14 -04:00
|
|
|
return $response;
|
|
|
|
|
} catch (\Exception $e) {
|
|
|
|
|
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
|
|
|
|
|
}
|
|
|
|
|
}
|
2014-01-15 11:43:30 -04:00
|
|
|
|
2014-01-15 16:34:58 -04:00
|
|
|
/**
|
2014-02-06 15:58:10 -04:00
|
|
|
* @param string $prj_uid {@min 1} {@max 32}
|
2014-01-15 16:34:58 -04:00
|
|
|
* @param array $request_data
|
2014-01-16 12:23:33 -04:00
|
|
|
*
|
|
|
|
|
* @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}
|
2014-01-15 16:34:58 -04:00
|
|
|
* @param string $op_participate {@from body} {@choice 0,1}
|
2014-01-16 12:23:33 -04:00
|
|
|
* @param string $op_obj_type {@from body} {@choice ANY,DYNAFORM,INPUT,OUTPUT,CASES_NOTES,MSGS_HISTORY}
|
2014-01-15 16:34:58 -04:00
|
|
|
* @param string $op_action {@from body} {@choice VIEW,BLOCK,DELETE}
|
|
|
|
|
* @param string $tas_uid {@from body}
|
2014-01-16 12:23:33 -04:00
|
|
|
* @param string $op_task_source {@from body}
|
2014-01-15 16:34:58 -04:00
|
|
|
* @param string $dynaforms {@from body}
|
|
|
|
|
* @param string $inputs {@from body}
|
|
|
|
|
* @param string $outputs {@from body}
|
|
|
|
|
*
|
|
|
|
|
* @access public
|
|
|
|
|
* @author Brayan Pereyra (Cochalo) <brayan@colosa.com>
|
|
|
|
|
* @copyright Colosa - Bolivia
|
|
|
|
|
*
|
|
|
|
|
* @return array
|
|
|
|
|
*
|
2014-02-06 15:58:10 -04:00
|
|
|
* @url POST /:prj_uid/process-permission/
|
2014-01-17 12:06:04 -04:00
|
|
|
* @status 201
|
2014-01-15 16:34:58 -04:00
|
|
|
*/
|
2014-01-25 06:10:24 -04:00
|
|
|
public function doPostProcessPermission(
|
2014-02-06 15:58:10 -04:00
|
|
|
$prj_uid,
|
2014-01-25 06:36:45 -04:00
|
|
|
$request_data,
|
|
|
|
|
$usr_uid,
|
|
|
|
|
$op_user_relation,
|
2014-01-25 06:10:24 -04:00
|
|
|
$op_case_status,
|
2014-01-25 06:36:45 -04:00
|
|
|
$op_participate,
|
|
|
|
|
$op_obj_type,
|
|
|
|
|
$op_action,
|
|
|
|
|
$tas_uid = '',
|
|
|
|
|
$op_task_source = '',
|
|
|
|
|
$dynaforms = '',
|
2014-01-25 06:10:24 -04:00
|
|
|
$inputs = '',
|
|
|
|
|
$outputs = ''
|
|
|
|
|
) {
|
2014-01-15 16:34:58 -04:00
|
|
|
try {
|
2014-01-16 12:23:33 -04:00
|
|
|
$hiddenFields = array('task_target', 'group_user', 'task_source',
|
|
|
|
|
'object_type', 'object', 'participated', 'action'
|
|
|
|
|
);
|
2014-02-06 15:58:10 -04:00
|
|
|
$request_data['pro_uid'] = $prj_uid;
|
2014-04-02 17:02:02 -04:00
|
|
|
$processPermissions = new \ProcessMaker\BusinessModel\ProcessPermissions();
|
2014-01-15 16:34:58 -04:00
|
|
|
$response = $processPermissions->saveProcessPermission($request_data);
|
2014-01-16 12:23:33 -04:00
|
|
|
foreach ($response as $key => $eventData) {
|
|
|
|
|
if (in_array($key, $hiddenFields)) {
|
|
|
|
|
unset($response[$key]);
|
|
|
|
|
}
|
|
|
|
|
}
|
2014-01-15 16:34:58 -04:00
|
|
|
return $response;
|
|
|
|
|
} catch (\Exception $e) {
|
|
|
|
|
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
2014-02-06 15:58:10 -04:00
|
|
|
* @param string $prj_uid {@min 1} {@max 32}
|
|
|
|
|
* @param string $ob_uid {@min 1} {@max 32}
|
2014-01-15 16:34:58 -04:00
|
|
|
* @param array $request_data
|
2014-01-16 12:23:33 -04:00
|
|
|
*
|
|
|
|
|
* @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}
|
2014-01-15 16:34:58 -04:00
|
|
|
* @param string $op_participate {@from body} {@choice 0,1}
|
2014-01-16 12:23:33 -04:00
|
|
|
* @param string $op_obj_type {@from body} {@choice ANY,DYNAFORM,INPUT,OUTPUT,CASES_NOTES,MSGS_HISTORY}
|
2014-01-15 16:34:58 -04:00
|
|
|
* @param string $op_action {@from body} {@choice VIEW,BLOCK,DELETE}
|
|
|
|
|
* @param string $tas_uid {@from body}
|
2014-01-16 12:23:33 -04:00
|
|
|
* @param string $op_task_source {@from body}
|
2014-01-15 16:34:58 -04:00
|
|
|
* @param string $dynaforms {@from body}
|
|
|
|
|
* @param string $inputs {@from body}
|
|
|
|
|
* @param string $outputs {@from body}
|
|
|
|
|
*
|
|
|
|
|
* @access public
|
|
|
|
|
* @author Brayan Pereyra (Cochalo) <brayan@colosa.com>
|
|
|
|
|
* @copyright Colosa - Bolivia
|
|
|
|
|
*
|
|
|
|
|
* @return array
|
|
|
|
|
*
|
2014-02-06 15:58:10 -04:00
|
|
|
* @url PUT /:prj_uid/process-permission/:ob_uid
|
2014-01-15 16:34:58 -04:00
|
|
|
*/
|
2014-01-25 06:10:24 -04:00
|
|
|
public function doPutProcessPermission(
|
2014-02-06 15:58:10 -04:00
|
|
|
$prj_uid,
|
|
|
|
|
$ob_uid,
|
2014-01-25 06:36:45 -04:00
|
|
|
$request_data,
|
2014-01-25 06:10:24 -04:00
|
|
|
$usr_uid,
|
2014-01-25 06:36:45 -04:00
|
|
|
$op_user_relation,
|
|
|
|
|
$op_case_status,
|
|
|
|
|
$op_participate,
|
|
|
|
|
$op_obj_type,
|
|
|
|
|
$op_action,
|
2014-01-25 06:10:24 -04:00
|
|
|
$tas_uid = '',
|
2014-01-25 06:36:45 -04:00
|
|
|
$op_task_source = '',
|
|
|
|
|
$dynaforms = '',
|
|
|
|
|
$inputs = '',
|
2014-01-25 06:10:24 -04:00
|
|
|
$outputs = ''
|
|
|
|
|
) {
|
2014-01-15 16:34:58 -04:00
|
|
|
try {
|
2014-02-06 15:58:10 -04:00
|
|
|
$request_data['pro_uid'] = $prj_uid;
|
2014-04-02 17:02:02 -04:00
|
|
|
$processPermissions = new \ProcessMaker\BusinessModel\ProcessPermissions();
|
2014-02-06 15:58:10 -04:00
|
|
|
$response = $processPermissions->saveProcessPermission($request_data, $ob_uid);
|
2014-01-15 16:34:58 -04:00
|
|
|
return $response;
|
|
|
|
|
} catch (\Exception $e) {
|
|
|
|
|
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
|
|
|
|
|
}
|
|
|
|
|
}
|
2014-01-15 11:43:30 -04:00
|
|
|
|
|
|
|
|
/**
|
2014-02-06 15:58:10 -04:00
|
|
|
* @param string $prj_uid {@min 1} {@max 32}
|
|
|
|
|
* @param string $ob_uid {@min 1} {@max 32}
|
2014-01-15 11:43:30 -04:00
|
|
|
*
|
|
|
|
|
* @access public
|
|
|
|
|
* @author Brayan Pereyra (Cochalo) <brayan@colosa.com>
|
|
|
|
|
* @copyright Colosa - Bolivia
|
|
|
|
|
*
|
|
|
|
|
* @return void
|
|
|
|
|
*
|
2014-02-06 15:58:10 -04:00
|
|
|
* @url DELETE /:prj_uid/process-permission/:ob_uid
|
2014-01-15 11:43:30 -04:00
|
|
|
*/
|
2014-02-06 15:58:10 -04:00
|
|
|
public function doDeleteProcessPermission($prj_uid, $ob_uid)
|
2014-01-15 11:43:30 -04:00
|
|
|
{
|
|
|
|
|
try {
|
2014-04-02 17:02:02 -04:00
|
|
|
$processPermissions = new \ProcessMaker\BusinessModel\ProcessPermissions();
|
2014-02-06 15:58:10 -04:00
|
|
|
$response = $processPermissions->deleteProcessPermission($ob_uid, $prj_uid);
|
2014-01-15 11:43:30 -04:00
|
|
|
return $response;
|
|
|
|
|
} catch (\Exception $e) {
|
|
|
|
|
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
|
|
|
|
|
}
|
|
|
|
|
}
|
2014-01-09 16:33:07 -04:00
|
|
|
}
|
|
|
|
|
|