Arreglos en la clase Task en BusinessModel y creacion de la clase ProjectActivity

This commit is contained in:
Brayan Osmar Pereyra Suxo
2013-11-28 16:37:24 -04:00
parent b6220b04c9
commit 551a7c8767
3 changed files with 109 additions and 5 deletions

View File

@@ -1,6 +1,8 @@
<?php
namespace BusinessModel;
use \G;
class Task
{
/**
@@ -13,7 +15,7 @@ class Task
*
* @access public
*/
public function getProperties($taskUid, $keyCaseToLower = false)
public function getProperties($taskUid, $keyCaseToLower = false, $groupData = true)
{
try {
//G::LoadClass("configuration");
@@ -54,7 +56,12 @@ class Task
//Set data
$arrayData = array();
$keyCase = ($keyCaseToLower)? CASE_LOWER : CASE_UPPER;
$keyCase = ($keyCaseToLower) ? CASE_LOWER : CASE_UPPER;
if (!$groupData) {
$arrayData = array_change_key_case($arrayDataAux, $keyCase);
return $arrayData;
}
//Definition
$arrayData["DEFINITION"] = array_change_key_case(
@@ -142,8 +149,10 @@ class Task
public function updateProperties($taskUid, $processUid, $arrayProperty)
{
//Copy of processmaker/workflow/engine/methods/tasks/tasks_Ajax.php //case "saveTaskData":
try {
if (isset($arrayProperty['properties'])) {
$arrayProperty = array_change_key_case($arrayProperty['properties'], CASE_UPPER);
}
$arrayProperty["TAS_UID"] = $taskUid;
$arrayProperty["PRO_UID"] = $processUid;
@@ -212,13 +221,32 @@ class Task
if ($result == 3) {
$arrayResult["status"] = "CRONCL";
}
return $arrayResult;
} catch (Exception $e) {
throw $e;
}
}
/**
* Delete a Task
*
* @param string $taskUid
*
* return void
*
* @access public
*/
public function deleteTask($taskUid)
{
try {
G::LoadClass('tasks');
$tasks = new \Tasks();
$tasks->deleteTask($taskUid);
} catch (Exception $e) {
throw $e;
}
}
/**
* Get available steps of an Task
*

View File

@@ -0,0 +1,75 @@
<?php
namespace Services\Api\ProcessMaker;
use \ProcessMaker\Api;
use \Luracast\Restler\RestException;
/**
* ProjectActivity Api Controller
*
* @protected
*/
class ProjectActivity extends Api
{
/**
* @url GET /:projectUid/activity/:activityUid
*/
public function doGetProjectActivity($projectUid, $activityUid, $filter = '')
{
try {
$definition = array();
$properties = array();
if ($filter == '' || $filter == 'definition') {
// DEFINITION
$definition = array();
}
if ($filter == '' || $filter == 'properties') {
// PROPERTIES
$task = new \BusinessModel\Task();
$properties = $task->getProperties($activityUid, true, false);
}
$response = array(
'definition' => $definition,
'properties' => $properties
);
return $response;
} catch (\Exception $e) {
throw new RestException(Api::SYSTEM_EXCEPTION_STATUS, $e->getMessage());
}
}
/**
* @url PUT /:projectUid/activity/:activityUid
*/
public function doPutProjectActivity($projectUid, $activityUid, $request_data = array())
{
try {
$task = new \BusinessModel\Task();
$properties = $task->updateProperties($activityUid, $projectUid, $request_data);
} catch (\Exception $e) {
throw new RestException(Api::SYSTEM_EXCEPTION_STATUS, $e->getMessage());
}
}
/**
* @url DELETE /:projectUid/activity/:activityUid
*/
public function doDeleteProjectActivity($projectUid, $activityUid)
{
try {
$task = new \BusinessModel\Task();
$task->deleteTask($activityUid);
} catch (\Exception $e) {
throw new RestException(Api::SYSTEM_EXCEPTION_STATUS, $e->getMessage());
}
}
}

View File

@@ -3,4 +3,5 @@
;
[alias]
test = "Services\Api\ProcessMaker\Test2"
test = "Services\Api\ProcessMaker\Test2"
project = "Services\Api\ProcessMaker\ProjectActivity"