diff --git a/workflow/engine/src/ProcessMaker/Model/CaseList.php b/workflow/engine/src/ProcessMaker/Model/CaseList.php index 3d7a09168..5190babb3 100644 --- a/workflow/engine/src/ProcessMaker/Model/CaseList.php +++ b/workflow/engine/src/ProcessMaker/Model/CaseList.php @@ -207,6 +207,10 @@ class CaseList extends Model continue; } $uscSetting = json_decode($userConfig->USC_SETTING); + if (!is_object($uscSetting)) { + $uscSetting = (object) $uscSetting; + } + if (!property_exists($uscSetting, $type)) { continue; } diff --git a/workflow/engine/src/ProcessMaker/Services/Api/CaseList.php b/workflow/engine/src/ProcessMaker/Services/Api/CaseList.php index eea57b9a5..6a73cc53d 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/CaseList.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/CaseList.php @@ -6,6 +6,7 @@ use Exception; use G; use Luracast\Restler\RestException; use ProcessMaker\Model\CaseList as CaseListBusinessModel; +USE ProcessMaker\Model\User; USE ProcessMaker\Model\UserConfig; use ProcessMaker\Services\Api; use RBAC; @@ -39,7 +40,12 @@ class CaseList extends Api */ public function doPost(array $request_data) { - $ownerId = $this->getUserId(); + // Get user numeric identifier + $userUid = $this->getUserId(); + $user = User::select(['USR_ID'])->where('USR_UID', '=', $userUid)->first(); + $ownerId = $user->USR_ID; + + // Get cases list $caseList = CaseListBusinessModel::createSetting($request_data, $ownerId); $caseList = CaseListBusinessModel::getAliasFromColumnName($caseList->toArray()); return $caseList; @@ -57,7 +63,12 @@ class CaseList extends Api */ public function doPut(int $id, array $request_data) { - $ownerId = $this->getUserId(); + // Get user numeric identifier + $userUid = $this->getUserId(); + $user = User::select(['USR_ID'])->where('USR_UID', '=', $userUid)->first(); + $ownerId = $user->USR_ID; + + // Get cases list $caseList = CaseListBusinessModel::updateSetting($id, $request_data, $ownerId); if (is_null($caseList)) { throw new RestException(Api::STAT_APP_EXCEPTION, G::LoadTranslation('ID_DOES_NOT_EXIST'));