diff --git a/workflow/engine/controllers/designer.php b/workflow/engine/controllers/designer.php index 24d370c97..f80d6c52f 100644 --- a/workflow/engine/controllers/designer.php +++ b/workflow/engine/controllers/designer.php @@ -29,6 +29,18 @@ class Designer extends Controller $client = $this->getClientCredentials(); if (isset($httpData->tracker_designer) && $httpData->tracker_designer == 1) { + try { + if (!isset($_SESSION['CASE']) && !isset($_SESSION['PIN'])) { + throw (new \Exception( + \G::LoadTranslation('ID_CASE_NOT_EXISTS') . "\n" . \G::LoadTranslation('ID_PIN_INVALID') + )); + } + \ProcessMaker\BusinessModel\Light\Tracker::authentication($_SESSION['CASE'], $_SESSION['PIN']); + } catch (\Exception $e) { + Bootstrap::registerMonolog('CaseTracker', 400, $e->getMessage(), [], SYS_SYS, 'processmaker.log'); + \G::header('Location: /errors/error403.php'); + die(); + } $client["tracker_designer"] = 1; } diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/Light/Tracker.php b/workflow/engine/src/ProcessMaker/BusinessModel/Light/Tracker.php index 7d5b87eed..bc6a5e4ef 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/Light/Tracker.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/Light/Tracker.php @@ -13,14 +13,14 @@ class Tracker } /** - * authenticaction for case tracker + * Authentication for case tracker * - * @param $case numbre case - * @param $pin code pin access for case tracek + * @param int $case number case + * @param int $pin code pin access for case track * @return array * @throws \Exception */ - public function authentication($case, $pin) + public static function authentication($case, $pin) { $cases = new \Cases(); $response = array(); diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Light/Tracker.php b/workflow/engine/src/ProcessMaker/Services/Api/Light/Tracker.php index 051c7d2f7..b723c2170 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Light/Tracker.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Light/Tracker.php @@ -21,8 +21,7 @@ class Tracker extends Api public function Authentication($case, $pin) { try { - $oMobile = new \ProcessMaker\BusinessModel\Light\Tracker(); - $response = $oMobile->authentication($case, $pin); + $response = \ProcessMaker\BusinessModel\Light\Tracker::authentication($case, $pin); } catch (\Exception $e) { throw new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()); }