/** * Get data of Cases OutputDocument * * @param string $applicationUid * @param string $userUid * @param string $applicationDocumentUid * * return object Return an object with data of an OutputDocument */ public function getCasesOutputDocument($applicationUid, $userUid, $applicationDocumentUid) { try { $sApplicationUID = $applicationUid; $sUserUID = $userUid; \G::LoadClass('case'); $oCase = new \Cases(); $fields = $oCase->loadCase( $sApplicationUID ); $sProcessUID = $fields['PRO_UID']; $sTaskUID = ''; $oCaseRest = new \ProcessMaker\BusinessModel\Cases(); $oCaseRest->getAllGeneratedDocumentsCriteria( $sProcessUID, $sApplicationUID, $sTaskUID, $sUserUID ); $result = array (); global $_DBArray; foreach ($_DBArray['outputDocuments'] as $key => $row) { if (isset( $row['DOC_VERSION'] )) { $docrow = array (); $docrow['app_doc_uid'] = $row['APP_DOC_UID']; $docrow['app_doc_filename'] = $row['DOWNLOAD_FILE']; $docrow['doc_uid'] = $row['DOC_UID']; $docrow['app_doc_version'] = $row['DOC_VERSION']; $docrow['app_doc_create_date'] = $row['CREATE_DATE']; $docrow['app_doc_create_user'] = $row['CREATED_BY']; $docrow['app_doc_type'] = $row['TYPE']; $docrow['app_doc_index'] = $row['APP_DOC_INDEX']; $docrow['app_doc_link'] = 'cases/' . $row['DOWNLOAD_LINK']; if ($docrow['app_doc_uid'] == $applicationDocumentUid) { $oAppDocument = \AppDocumentPeer::retrieveByPK( $applicationDocumentUid, $row['DOC_VERSION'] ); if (is_null( $oAppDocument )) { throw new \Exception(\G::LoadTranslation("ID_CASES_OUTPUT_DOES_NOT_EXIST", array($applicationDocumentUid))); } $result = $docrow; } } } $oResponse = json_decode(json_encode($result), false); return $oResponse; } catch (\Exception $e) { throw $e; } }