Merged in bugfix/HOR-4507-A (pull request #6650)
HOR-4507 Approved-by: Julio Cesar Laura Avendaño <contact@julio-laura.com>
This commit is contained in:
@@ -2,27 +2,30 @@
|
|||||||
|
|
||||||
namespace ProcessMaker\Services\Api;
|
namespace ProcessMaker\Services\Api;
|
||||||
|
|
||||||
|
use AppDelegation;
|
||||||
|
use Cases as ClassesCases;
|
||||||
|
use Criteria;
|
||||||
|
use Exception;
|
||||||
use G;
|
use G;
|
||||||
|
use Luracast\Restler\RestException;
|
||||||
|
use PmDynaform;
|
||||||
|
use Process as ModelProcess;
|
||||||
|
use ProcessMaker\BusinessModel\Cases as BusinessModelCases;
|
||||||
|
use ProcessMaker\BusinessModel\DynaForm as BusinessModelDynaForm;
|
||||||
|
use ProcessMaker\BusinessModel\Light as BusinessModelLight;
|
||||||
|
use ProcessMaker\BusinessModel\Lists;
|
||||||
|
use ProcessMaker\BusinessModel\Process;
|
||||||
|
use ProcessMaker\BusinessModel\ProcessMap;
|
||||||
|
use ProcessMaker\BusinessModel\Task;
|
||||||
|
use ProcessMaker\BusinessModel\Validator;
|
||||||
use ProcessMaker\Project\Adapter;
|
use ProcessMaker\Project\Adapter;
|
||||||
use ProcessMaker\Services\Api;
|
use ProcessMaker\Services\Api;
|
||||||
use Luracast\Restler\RestException;
|
use ProcessMaker\Services\Api\Project\Activity\Step;
|
||||||
use ProcessMaker\BusinessModel\Validator;
|
|
||||||
use ProcessMaker\Util\DateTime;
|
use ProcessMaker\Util\DateTime;
|
||||||
use PmDynaform;
|
|
||||||
use Exception;
|
|
||||||
use ProcessMaker\BusinessModel\Light as BusinessModelLight;
|
|
||||||
use RBAC;
|
use RBAC;
|
||||||
use ProcessMaker\BusinessModel\Cases as BusinessModelCases;
|
|
||||||
use Cases as ClassesCases;
|
|
||||||
use AppDelegation;
|
|
||||||
use ProcessMaker\BusinessModel\Lists;
|
|
||||||
use ProcessMaker\BusinessModel\Task;
|
|
||||||
use ProcessMaker\BusinessModel\ProcessMap;
|
|
||||||
use ProcessMaker\BusinessModel\Process;
|
|
||||||
use Criteria;
|
|
||||||
use StepPeer;
|
|
||||||
use stdclass;
|
use stdclass;
|
||||||
use ProcessMaker\BusinessModel\DynaForm as BusinessModelDynaForm;
|
use StepPeer;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* Process Api Controller
|
* Process Api Controller
|
||||||
@@ -920,41 +923,57 @@ class Light extends Api
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* Get steps related to the task
|
||||||
|
* If the process is classic we does not return any step, this is not supported by Mobile
|
||||||
|
*
|
||||||
* @url GET /project/:prj_uid/activity/:act_uid/steps
|
* @url GET /project/:prj_uid/activity/:act_uid/steps
|
||||||
*
|
*
|
||||||
* @param string $act_uid {@min 32}{@max 32}
|
* @param string $act_uid {@min 32}{@max 32}
|
||||||
* @param string $prj_uid {@min 32}{@max 32}
|
* @param string $prj_uid {@min 32}{@max 32}
|
||||||
|
*
|
||||||
|
* @return array
|
||||||
|
* @throws Exception
|
||||||
*/
|
*/
|
||||||
public function doGetActivitySteps($act_uid, $prj_uid)
|
public function doGetActivitySteps($act_uid, $prj_uid)
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
$task = new Task();
|
$response = [];
|
||||||
$task->setFormatFieldNameInUppercase(false);
|
$process = new ModelProcess();
|
||||||
$task->setArrayParamException(array("taskUid" => "act_uid", "stepUid" => "step_uid"));
|
$isBpmn = $process->isBpmnProcess($prj_uid);
|
||||||
|
if ($isBpmn) {
|
||||||
|
$task = new Task();
|
||||||
|
$dynaForm = new BusinessModelDynaForm();
|
||||||
|
$mobile = new BusinessModelLight();
|
||||||
|
$step = new Step();
|
||||||
|
|
||||||
$activitySteps = $task->getSteps($act_uid);
|
$task->setFormatFieldNameInUppercase(false);
|
||||||
$_SESSION['PROCESS'] = $prj_uid;
|
$task->setArrayParamException(["taskUid" => "act_uid", "stepUid" => "step_uid"]);
|
||||||
$dynaForm = new BusinessModelDynaForm();
|
$activitySteps = $task->getSteps($act_uid);
|
||||||
$dynaForm->setFormatFieldNameInUppercase(false);
|
$_SESSION['PROCESS'] = $prj_uid;
|
||||||
$oMobile = new BusinessModelLight();
|
$dynaForm->setFormatFieldNameInUppercase(false);
|
||||||
$step = new \ProcessMaker\Services\Api\Project\Activity\Step();
|
|
||||||
$response = array();
|
for ($i = 0; $i < count($activitySteps); $i++) {
|
||||||
for ($i = 0; $i < count($activitySteps); $i++) {
|
if ($activitySteps[$i]['step_type_obj'] == "DYNAFORM") {
|
||||||
if ($activitySteps[$i]['step_type_obj'] == "DYNAFORM") {
|
$dataForm = $dynaForm->getDynaForm($activitySteps[$i]['step_uid_obj']);
|
||||||
$dataForm = $dynaForm->getDynaForm($activitySteps[$i]['step_uid_obj']);
|
$result = $this->parserDataDynaForm($dataForm);
|
||||||
$result = $this->parserDataDynaForm($dataForm);
|
$result["formUpdateDate"] = DateTime::convertUtcToIso8601($result["formUpdateDate"]);
|
||||||
$result["formUpdateDate"] = DateTime::convertUtcToIso8601($result["formUpdateDate"]);
|
$result['index'] = $i;
|
||||||
$result['index'] = $i;
|
$result['stepId'] = $activitySteps[$i]["step_uid"];
|
||||||
$result['stepId'] = $activitySteps[$i]["step_uid"];
|
$result['stepUidObj'] = $activitySteps[$i]["step_uid_obj"];
|
||||||
$result['stepUidObj'] = $activitySteps[$i]["step_uid_obj"];
|
$result['stepMode'] = $activitySteps[$i]['step_mode'];
|
||||||
$result['stepMode'] = $activitySteps[$i]['step_mode'];
|
$result['stepCondition'] = $activitySteps[$i]['step_condition'];
|
||||||
$result['stepCondition'] = $activitySteps[$i]['step_condition'];
|
$result['stepPosition'] = $activitySteps[$i]['step_position'];
|
||||||
$result['stepPosition'] = $activitySteps[$i]['step_position'];
|
$trigger = $mobile->statusTriggers(
|
||||||
$trigger = $oMobile->statusTriggers($step->doGetActivityStepTriggers($activitySteps[$i]["step_uid"],
|
$step->doGetActivityStepTriggers(
|
||||||
$act_uid, $prj_uid));
|
$activitySteps[$i]["step_uid"],
|
||||||
$result["triggers"] = $trigger;
|
$act_uid,
|
||||||
unset($result["formContent"]);
|
$prj_uid
|
||||||
$response[] = $result;
|
)
|
||||||
|
);
|
||||||
|
$result["triggers"] = $trigger;
|
||||||
|
unset($result["formContent"]);
|
||||||
|
$response[] = $result;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} catch (Exception $e) {
|
} catch (Exception $e) {
|
||||||
|
|||||||
Reference in New Issue
Block a user