/** * Verify if does not exists the inbox * * @param string $applicationUid Unique id of Case * @param string $delIndex Delegation index * @param string $userUid Unique id of User * * return void Throw exception if not exists in inbox */ public function throwExceptionIfCaseNotIsInInbox($applicationUid, $delIndex, $userUid) { try { //Verify data $case = new \ProcessMaker\BusinessModel\Cases(); $arrayResult = $case->getStatusInfo($applicationUid, $delIndex, $userUid); if (empty($arrayResult) || !preg_match("/^(?:TO_DO|DRAFT)$/", $arrayResult["APP_STATUS"])) { throw new \Exception(\G::LoadTranslation("ID_USER_NOT_HAVE_PERMISSION", array($userUid))); } } catch (\Exception $e) { throw $e; } }
/** * Get data of Cases InputDocument * * @param string $applicationUid * @param string $userUid * * return array Return an array with data of an InputDocument */ public function getCasesInputDocuments($applicationUid, $userUid) { try { //Verify data inbox $case = new \ProcessMaker\BusinessModel\Cases(); $arrayResult = $case->getStatusInfo($applicationUid, 0, $userUid); $flagInbox = true; if (empty($arrayResult) || !preg_match("/^(?:TO_DO|DRAFT)\$/", $arrayResult["APP_STATUS"])) { $flagInbox = false; } $user = new \Users(); $appDocument = new \AppDocument(); $configuraction = new \Configurations(); $confEnvSetting = $configuraction->getFormats(); $arrayInputDocument = array(); //Query $criteria = $this->getAppDocumentCriteriaByData($applicationUid); if (!$flagInbox) { $criteria->add(\AppDocumentPeer::USR_UID, $userUid, \Criteria::EQUAL); } $rsCriteria = \AppDocumentPeer::doSelectRS($criteria); $rsCriteria->setFetchmode(\ResultSet::FETCHMODE_ASSOC); /*----------------------------------********---------------------------------*/ $licensedFeatures =& \PMLicensedFeatures::getSingleton(); $enablePMGmail = false; if ($licensedFeatures->verifyfeature('7qhYmF1eDJWcEdwcUZpT0k4S0xTRStvdz09')) { \G::LoadClass("pmDrive"); $pmDrive = new \PMDrive(); $enablePMGmail = $pmDrive->getStatusService(); } /*----------------------------------********---------------------------------*/ while ($rsCriteria->next()) { $row = $rsCriteria->getRow(); $arrayUserData = $user->load($row["USR_UID"]); $arrayAppDocument = $appDocument->load($row["APP_DOC_UID"], $row["DOC_VERSION"]); $row["APP_DOC_FILENAME"] = $arrayAppDocument["APP_DOC_FILENAME"]; $row["APP_DOC_CREATE_USER"] = $configuraction->usersNameFormatBySetParameters($confEnvSetting["format"], $arrayUserData["USR_USERNAME"], $arrayUserData["USR_FIRSTNAME"], $arrayUserData["USR_LASTNAME"]); $row["APP_DOC_LINK"] = "cases/cases_ShowDocument?a=" . $row["APP_DOC_UID"] . "&v=" . $row["DOC_VERSION"]; /*----------------------------------********---------------------------------*/ //change donwload link - drive $driveDownload = @unserialize($arrayAppDocument['APP_DOC_DRIVE_DOWNLOAD']); if ($driveDownload !== false && is_array($driveDownload) && $enablePMGmail) { if (array_key_exists('INPUT', $driveDownload)) { $row['APP_DOC_LINK'] = $driveDownload['INPUT']; } else { if (array_key_exists('ATTACHED', $driveDownload)) { $row['APP_DOC_LINK'] = $driveDownload['ATTACHED']; } } } /*----------------------------------********---------------------------------*/ $arrayInputDocument[] = $this->getAppDocumentDataFromRecord($row); } //Return return $arrayInputDocument; } catch (\Exception $e) { throw $e; } }
/** * Get data of Cases InputDocument * * @param string $applicationUid * @param string $userUid * * return array Return an array with data of an InputDocument */ public function getCasesInputDocuments($applicationUid, $userUid) { try { //Verify data inbox $case = new \ProcessMaker\BusinessModel\Cases(); $arrayResult = $case->getStatusInfo($applicationUid, 0, $userUid); $flagInbox = true; if (empty($arrayResult) || !preg_match("/^(?:TO_DO|DRAFT)$/", $arrayResult["APP_STATUS"])) { $flagInbox = false; } $user = new \Users(); $appDocument = new \AppDocument(); $configuraction = new \Configurations(); $confEnvSetting = $configuraction->getFormats(); $arrayInputDocument = array(); //Query $criteria = $this->getAppDocumentCriteriaByData($applicationUid); if (!$flagInbox) { $criteria->add(\AppDocumentPeer::USR_UID, $userUid, \Criteria::EQUAL); } $rsCriteria = \AppDocumentPeer::doSelectRS($criteria); $rsCriteria->setFetchmode(\ResultSet::FETCHMODE_ASSOC); while ($rsCriteria->next()) { $row = $rsCriteria->getRow(); $arrayUserData = $user->load($row["USR_UID"]); $arrayAppDocument = $appDocument->load($row["APP_DOC_UID"], $row["DOC_VERSION"]); $row["APP_DOC_FILENAME"] = $arrayAppDocument["APP_DOC_FILENAME"]; $row["APP_DOC_CREATE_USER"] = $configuraction->usersNameFormatBySetParameters($confEnvSetting["format"], $arrayUserData["USR_USERNAME"], $arrayUserData["USR_FIRSTNAME"], $arrayUserData["USR_LASTNAME"]); $row["APP_DOC_LINK"] = "cases/cases_ShowDocument?a=" . $row["APP_DOC_UID"] . "&v=" . $row["DOC_VERSION"]; $arrayInputDocument[] = $this->getAppDocumentDataFromRecord($row); } //Return return $arrayInputDocument; } catch (\Exception $e) { throw $e; } }