From fbb834aed5e7fc3133295955bf9ff5de581d3fc6 Mon Sep 17 00:00:00 2001 From: william barra Date: Fri, 20 Nov 2015 18:57:26 -0400 Subject: [PATCH] Timezone Conflicts: workflow/engine/src/ProcessMaker/Services/Api/Cases.php --- .../src/ProcessMaker/Services/Api/Cases.php | 52 +++++++++++++------ .../src/ProcessMaker/Services/Api/Project.php | 32 +++++++++--- .../Services/Api/Project/DynaForm.php | 7 ++- .../Services/Api/Project/WebEntry.php | 19 +++++-- .../src/ProcessMaker/Services/Api/Role.php | 9 +++- 5 files changed, 86 insertions(+), 33 deletions(-) diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Cases.php b/workflow/engine/src/ProcessMaker/Services/Api/Cases.php index 4b63f9d85..090b2f5a0 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Cases.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Cases.php @@ -3,6 +3,8 @@ namespace ProcessMaker\Services\Api; use \ProcessMaker\Services\Api; use \Luracast\Restler\RestException; +use \ProcessMaker\Util\DateTime; +use \ProcessMaker\BusinessModel\Validator; /** * Cases Api Controller @@ -14,6 +16,19 @@ use \Luracast\Restler\RestException; */ class Cases extends Api { + private $arrayFieldIso8601 = [ + "del_init_date", + "del_finish_date", + "del_task_due_date", + "del_risk_date", + "del_delegate_date", + "app_create_date", + "app_update_date", + "app_finish_date", + "del_delegate_date", + "note_date" + ]; + /** * Get list Cases To Do * @@ -54,7 +69,8 @@ class Cases extends Api $dataList['search'] = $search; $oCases = new \ProcessMaker\BusinessModel\Cases(); $response = $oCases->getList($dataList); - return $response; + + return DateTime::convertUtcToIso8601($response, $this->arrayFieldIso8601); } catch (\Exception $e) { throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage())); } @@ -100,7 +116,7 @@ class Cases extends Api $dataList['search'] = $search; $oCases = new \ProcessMaker\BusinessModel\Cases(); $response = $oCases->getList($dataList); - return $response; + return DateTime::convertUtcToIso8601($response, $this->arrayFieldIso8601); } catch (\Exception $e) { throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage())); } @@ -146,7 +162,7 @@ class Cases extends Api $dataList['search'] = $search; $oCases = new \ProcessMaker\BusinessModel\Cases(); $response = $oCases->getList($dataList); - return $response; + return DateTime::convertUtcToIso8601($response, $this->arrayFieldIso8601); } catch (\Exception $e) { throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage())); } @@ -192,7 +208,7 @@ class Cases extends Api $dataList['search'] = $search; $oCases = new \ProcessMaker\BusinessModel\Cases(); $response = $oCases->getList($dataList); - return $response; + return DateTime::convertUtcToIso8601($response, $this->arrayFieldIso8601); } catch (\Exception $e) { throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage())); } @@ -238,7 +254,7 @@ class Cases extends Api $dataList['search'] = $search; $oCases = new \ProcessMaker\BusinessModel\Cases(); $response = $oCases->getList($dataList); - return $response; + return DateTime::convertUtcToIso8601($response, $this->arrayFieldIso8601); } catch (\Exception $e) { throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage())); } @@ -284,7 +300,7 @@ class Cases extends Api $dataList['search'] = $search; $oCases = new \ProcessMaker\BusinessModel\Cases(); $response = $oCases->getList($dataList); - return $response; + return DateTime::convertUtcToIso8601($response, $this->arrayFieldIso8601); } catch (\Exception $e) { throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage())); } @@ -330,7 +346,7 @@ class Cases extends Api $dataList['search'] = $search; $oCases = new \ProcessMaker\BusinessModel\Cases(); $response = $oCases->getList($dataList); - return $response; + return DateTime::convertUtcToIso8601($response, $this->arrayFieldIso8601); } catch (\Exception $e) { throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage())); } @@ -376,7 +392,7 @@ class Cases extends Api $dataList['search'] = $search; $oCases = new \ProcessMaker\BusinessModel\Cases(); $response = $oCases->getList($dataList); - return $response; + return DateTime::convertUtcToIso8601($response, $this->arrayFieldIso8601); } catch (\Exception $e) { throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage())); } @@ -422,7 +438,7 @@ class Cases extends Api $dataList['search'] = $search; $oCases = new \ProcessMaker\BusinessModel\Cases(); $response = $oCases->getList($dataList); - return $response; + return DateTime::convertUtcToIso8601($response, $this->arrayFieldIso8601); } catch (\Exception $e) { throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage())); } @@ -468,7 +484,7 @@ class Cases extends Api $dataList['search'] = $search; $oCases = new \ProcessMaker\BusinessModel\Cases(); $response = $oCases->getList($dataList); - return $response; + return DateTime::convertUtcToIso8601($response, $this->arrayFieldIso8601); } catch (\Exception $e) { throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage())); } @@ -526,7 +542,7 @@ class Cases extends Api $dataList['search'] = $search; $oCases = new \ProcessMaker\BusinessModel\Cases(); $response = $oCases->getList($dataList); - return $response; + return DateTime::convertUtcToIso8601($response, $this->arrayFieldIso8601); } catch (\Exception $e) { throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage())); } @@ -584,7 +600,7 @@ class Cases extends Api $dataList['search'] = $search; $oCases = new \ProcessMaker\BusinessModel\Cases(); $response = $oCases->getList($dataList); - return $response; + return DateTime::convertUtcToIso8601($response, $this->arrayFieldIso8601); } catch (\Exception $e) { throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage())); } @@ -601,7 +617,9 @@ class Cases extends Api $case = new \ProcessMaker\BusinessModel\Cases(); $case->setFormatFieldNameInUppercase(false); - return $case->getCaseInfo($app_uid, $this->getUserId()); + $caseInfo = $case->getCaseInfo($app_uid, $this->getUserId()); + $caseInfo = DateTime::convertUtcToIso8601($caseInfo, $this->arrayFieldIso8601); + return $caseInfo; } catch (\Exception $e) { throw new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()); } @@ -622,7 +640,7 @@ class Cases extends Api $response = $arrayData; - return $response; + return DateTime::convertUtcToIso8601($response, $this->arrayFieldIso8601); } catch (\Exception $e) { throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage())); } @@ -905,7 +923,7 @@ class Cases extends Api $usr_uid = $this->getUserId(); $cases = new \ProcessMaker\BusinessModel\Cases(); $response = $cases->getCaseNotes($app_uid, $usr_uid, $dataList); - return $response; + return DateTime::convertUtcToIso8601($response, $this->arrayFieldIso8601); } catch (\Exception $e) { throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage())); } @@ -953,7 +971,7 @@ class Cases extends Api $usr_uid = $this->getUserId(); $cases = new \ProcessMaker\BusinessModel\Cases(); $response = $cases->getCaseNotes($app_uid, $usr_uid, $dataList); - return $response; + return DateTime::convertUtcToIso8601($response, $this->arrayFieldIso8601); } catch (\Exception $e) { throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage())); } @@ -996,7 +1014,7 @@ class Cases extends Api $response = $case->getTasks($app_uid); - return $response; + return DateTime::convertUtcToIso8601($response, $this->arrayFieldIso8601); } catch (\Exception $e) { throw new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()); } diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project.php b/workflow/engine/src/ProcessMaker/Services/Api/Project.php index 75af982c3..3a2cf4557 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project.php @@ -5,6 +5,8 @@ use Luracast\Restler\RestException; use ProcessMaker\Services\Api; use \ProcessMaker\Project\Adapter; use \ProcessMaker\Util; +use \ProcessMaker\Util\DateTime; +use \ProcessMaker\BusinessModel\Validator; /** * Class Project @@ -16,6 +18,14 @@ use \ProcessMaker\Util; */ class Project extends Api { + private $arrayFieldIso8601 = [ + "prj_create_date", + "prj_update_date", + "pro_update_date", + "pro_create_date", + "dyn_update_date" + ]; + /** * @url GET */ @@ -28,7 +38,7 @@ class Project extends Api $projects = Adapter\BpmnWorkflow::getList($start, $limit, $filter, CASE_LOWER); - return $projects; + return DateTime::convertUtcToIso8601($projects, $this->arrayFieldIso8601); } catch (\Exception $e) { throw new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()); } @@ -42,7 +52,9 @@ class Project extends Api public function doGetProject($prj_uid) { try { - return Adapter\BpmnWorkflow::getStruct($prj_uid); + $project = Adapter\BpmnWorkflow::getStruct($prj_uid); + + return DateTime::convertUtcToIso8601($project, $this->arrayFieldIso8601); } catch (\Exception $e) { throw new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()); } @@ -66,7 +78,8 @@ class Project extends Api if (!isset($request_data['prj_author'])) { $request_data['prj_author'] = $this->getUserId(); } - return Adapter\BpmnWorkflow::createFromStruct($request_data); + Validator::throwExceptionIfDataNotMetIso8601Format($request_data, $this->arrayFieldIso8601); + return Adapter\BpmnWorkflow::createFromStruct(DateTime::convertDataToUtc($request_data, $this->arrayFieldIso8601)); } catch (\Exception $e) { throw new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()); } @@ -80,7 +93,8 @@ class Project extends Api public function doPutProject($prj_uid, $request_data) { try { - return Adapter\BpmnWorkflow::updateFromStruct($prj_uid, $request_data); + Validator::throwExceptionIfDataNotMetIso8601Format($request_data, $this->arrayFieldIso8601); + return Adapter\BpmnWorkflow::updateFromStruct($prj_uid, DateTime::convertDataToUtc($request_data, $this->arrayFieldIso8601)); } catch (\Exception $e) { throw new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()); } @@ -108,7 +122,7 @@ class Project extends Api public function export($prj_uid) { $exporter = new \ProcessMaker\Exporter\XmlExporter($prj_uid); - $getProjectName = $exporter->truncateName($exporter->getProjectName(),false); + $getProjectName = $exporter->truncateName($exporter->getProjectName(), false); $outputDir = PATH_DATA . "sites" . PATH_SEP . SYS_SYS . PATH_SEP . "files" . PATH_SEP . "output" . PATH_SEP; $version = \ProcessMaker\Util\Common::getLastVersion($outputDir . $getProjectName . "-*.pmx") + 1; @@ -183,7 +197,8 @@ class Project extends Api $response = $process->getProcess($prj_uid); - return $response; + return DateTime::convertUtcToIso8601($response, $this->arrayFieldIso8601); + } catch (\Exception $e) { throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage())); } @@ -198,11 +213,12 @@ class Project extends Api public function doPutProcess($prj_uid, $request_data) { try { + Validator::throwExceptionIfDataNotMetIso8601Format($request_data, $this->arrayFieldIso8601); $process = new \ProcessMaker\BusinessModel\Process(); $process->setFormatFieldNameInUppercase(false); $process->setArrayFieldNameForException(array("processUid" => "prj_uid")); - $arrayData = $process->update($prj_uid, $request_data); + $arrayData = $process->update($prj_uid, DateTime::convertDataToUtc($request_data, $this->arrayFieldIso8601)); } catch (\Exception $e) { throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage())); } @@ -260,7 +276,7 @@ class Project extends Api $response = $process->getDynaForms($prj_uid); - return $response; + return DateTime::convertUtcToIso8601($response, $this->arrayFieldIso8601); } catch (\Exception $e) { throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage())); } diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/DynaForm.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/DynaForm.php index a509e7cb8..254e8e599 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/DynaForm.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/DynaForm.php @@ -3,6 +3,7 @@ namespace ProcessMaker\Services\Api\Project; use \ProcessMaker\Services\Api; use \Luracast\Restler\RestException; +use \ProcessMaker\Util\DateTime; /** * Project\DynaForm Api Controller @@ -11,6 +12,10 @@ use \Luracast\Restler\RestException; */ class DynaForm extends Api { + private $arrayFieldIso8601 = [ + "dyn_update_date" + ]; + /** * @url GET /:prj_uid/dynaform/:dyn_uid * @@ -25,7 +30,7 @@ class DynaForm extends Api $response = $dynaForm->getDynaForm($dyn_uid); - return $response; + return DateTime::convertUtcToIso8601($response, $this->arrayFieldIso8601); } catch (\Exception $e) { throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage())); } diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/WebEntry.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/WebEntry.php index 8d0f18efd..06c0f0490 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/WebEntry.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/WebEntry.php @@ -3,6 +3,8 @@ namespace ProcessMaker\Services\Api\Project; use \ProcessMaker\Services\Api; use \Luracast\Restler\RestException; +use \ProcessMaker\Util\DateTime; +use \ProcessMaker\BusinessModel\Validator; /** * Project\WebEntry Api Controller @@ -13,6 +15,11 @@ class WebEntry extends Api { private $webEntry; + private $arrayFieldIso8601 = [ + "we_create_date", + "we_update_date" + ]; + /** * Constructor of the class * @@ -40,7 +47,7 @@ class WebEntry extends Api try { $response = $this->webEntry->getWebEntries($prj_uid); - return $response; + return DateTime::convertUtcToIso8601($response, $this->arrayFieldIso8601); } catch (\Exception $e) { throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage())); } @@ -57,7 +64,7 @@ class WebEntry extends Api try { $response = $this->webEntry->getWebEntry($we_uid); - return $response; + return DateTime::convertUtcToIso8601($response, $this->arrayFieldIso8601); } catch (\Exception $e) { throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage())); } @@ -74,11 +81,12 @@ class WebEntry extends Api public function doPostWebEntry($prj_uid, array $request_data) { try { - $arrayData = $this->webEntry->create($prj_uid, $this->getUserId(), $request_data); + Validator::throwExceptionIfDataNotMetIso8601Format($request_data, $this->arrayFieldIso8601); + $arrayData = $this->webEntry->create($prj_uid, $this->getUserId(), DateTime::convertDataToUtc($request_data, $this->arrayFieldIso8601)); $response = $arrayData; - return $response; + return DateTime::convertUtcToIso8601($response, $this->arrayFieldIso8601); } catch (\Exception $e) { throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage())); } @@ -94,7 +102,8 @@ class WebEntry extends Api public function doPutWebEntry($prj_uid, $we_uid, array $request_data) { try { - $arrayData = $this->webEntry->update($we_uid, $this->getUserId(), $request_data); + Validator::throwExceptionIfDataNotMetIso8601Format($request_data, $this->arrayFieldIso8601); + $arrayData = $this->webEntry->update($we_uid, $this->getUserId(), DateTime::convertDataToUtc($request_data, $this->arrayFieldIso8601)); } catch (\Exception $e) { throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage())); } diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Role.php b/workflow/engine/src/ProcessMaker/Services/Api/Role.php index 797c60c33..c8b08cb1e 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Role.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Role.php @@ -13,6 +13,11 @@ class Role extends Api { private $role; + private $arrayFieldIso8601 = [ + "rol_create_date", + "rol_update_date" + ]; + /** * Constructor of the class * @@ -45,7 +50,7 @@ class Role extends Api try { $response = $this->role->getRoles(array("filter" => $filter), null, null, $start, $limit); - return $response; + return \ProcessMaker\Util\DateTime::convertUtcToIso8601($response, $this->arrayFieldIso8601); } catch (\Exception $e) { throw new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()); } @@ -61,7 +66,7 @@ class Role extends Api try { $response = $this->role->getRole($rol_uid); - return $response; + return \ProcessMaker\Util\DateTime::convertUtcToIso8601($response, $this->arrayFieldIso8601); } catch (\Exception $e) { throw new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()); }