Merged in victorsl/processmaker (pull request #174)

ProcessMaker-MA "Group (endpoints)"
This commit is contained in:
erik ao
2014-02-10 19:45:47 -04:00
6 changed files with 334 additions and 121 deletions

View File

@@ -120,7 +120,6 @@ class DynaForm
$criteria->add("CT.CON_VALUE", $dynaFormTitle, \Criteria::EQUAL);
$rsCriteria = \DynaformPeer::doSelectRS($criteria);
$rsCriteria->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
if ($rsCriteria->next()) {
return true;
@@ -710,7 +709,7 @@ class DynaForm
*
* return array Return data of the new DynaForm created
*/
public function defineCreate($processUid, $arrayData)
public function executeCreate($processUid, $arrayData)
{
try {
$arrayData = array_change_key_case($arrayData, CASE_UPPER);

File diff suppressed because it is too large Load Diff

View File

@@ -140,7 +140,6 @@ class Process
$criteria->add("CT.CON_VALUE", $processTitle, \Criteria::EQUAL);
$rsCriteria = \ProcessPeer::doSelectRS($criteria);
$rsCriteria->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
if ($rsCriteria->next()) {
return true;
@@ -227,6 +226,29 @@ class Process
}
}
/**
* Validate pager data
*
* @param array $arrayData Data
* @param array $arrayFieldNameForException Fields for exception messages
*
* return void Throw exception if pager data has an invalid value
*/
public function throwExceptionIfDataNotMetPagerVarDefinition($arrayData, $arrayFieldNameForException)
{
try {
foreach ($arrayData as $key => $value) {
$nameForException = (isset($arrayFieldNameForException[$key]))? $arrayFieldNameForException[$key] : "";
if (!is_null($value) && ($value . "" == "" || !preg_match("/^(?:\+|\-)?(?:0|[1-9]\d*)$/", $value . "") || (int)($value) < 0)) {
throw (new \Exception(str_replace(array("{0}"), array($nameForException), "Invalid value specified for \"{0}\". Expecting positive integer value")));
}
}
} catch (\Exception $e) {
throw $e;
}
}
/**
* Verify if doesn't exist the Process in table PROCESS
*

View File

@@ -50,17 +50,12 @@ class Group extends Api
/**
* @url POST
*
* @param array $request_data
* @param string $grp_title {@from body}{@required true}
* @param string $grp_status {@from body}{@choice ACTIVE,INACTIVE}{@required true}
* @param array $request_data
*
* @status 201
*/
public function doPost(
$request_data,
$grp_title = "",
$grp_status = "ACTIVE"
) {
public function doPost($request_data)
{
try {
$group = new \BusinessModel\Group();
$group->setFormatFieldNameInUppercase(false);
@@ -80,15 +75,9 @@ class Group extends Api
*
* @param string $grp_uid {@min 32}{@max 32}
* @param array $request_data
* @param string $grp_title {@from body}
* @param string $grp_status {@from body}{@choice ACTIVE,INACTIVE}
*/
public function doPut(
$grp_uid,
$request_data,
$grp_title = "",
$grp_status = "ACTIVE"
) {
public function doPut($grp_uid, $request_data)
{
try {
$group = new \BusinessModel\Group();
$group->setFormatFieldNameInUppercase(false);
@@ -115,5 +104,43 @@ class Group extends Api
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
}
}
/**
* @url GET /:grp_uid/users
*
* @param string $grp_uid {@min 32}{@max 32}
*/
public function doGetUsers($grp_uid, $filter = null, $start = null, $limit = null)
{
try {
$group = new \BusinessModel\Group();
$group->setFormatFieldNameInUppercase(false);
$response = $group->getUsers("USERS", $grp_uid, array("filter" => $filter), null, null, $start, $limit);
return $response;
} catch (\Exception $e) {
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
}
}
/**
* @url GET /:grp_uid/available-users
*
* @param string $grp_uid {@min 32}{@max 32}
*/
public function doGetAvailableUsers($grp_uid, $filter = null, $start = null, $limit = null)
{
try {
$group = new \BusinessModel\Group();
$group->setFormatFieldNameInUppercase(false);
$response = $group->getUsers("AVAILABLE-USERS", $grp_uid, array("filter" => $filter), null, null, $start, $limit);
return $response;
} catch (\Exception $e) {
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
}
}
}

View File

@@ -46,7 +46,7 @@ class DynaForm extends Api
$dynaForm->setFormatFieldNameInUppercase(false);
$dynaForm->setArrayFieldNameForException(array("processUid" => "prj_uid"));
$arrayData = $dynaForm->defineCreate($prj_uid, $request_data);
$arrayData = $dynaForm->executeCreate($prj_uid, $request_data);
$response = $arrayData;

View File

@@ -39,6 +39,7 @@ debug = 1
[alias: group]
group = "Services\Api\ProcessMaker\Group"
user = "Services\Api\ProcessMaker\Group\User"
[alias: groups]
group = "Services\Api\ProcessMaker\Group"
@@ -48,3 +49,4 @@ debug = 1
[alias: users]
user = "Services\Api\ProcessMaker\User"