/** * Remove the application document registry * @param array $aData * @return string * */ public function remove($sOutDocUid) { $oConnection = Propel::getConnection(OutputDocumentPeer::DATABASE_NAME); try { $oOutputDocument = OutputDocumentPeer::retrieveByPK($sOutDocUid); if (!is_null($oOutputDocument)) { $oConnection->begin(); Content::removeContent('OUT_DOC_TITLE', '', $oOutputDocument->getOutDocUid()); Content::removeContent('OUT_DOC_DESCRIPTION', '', $oOutputDocument->getOutDocUid()); Content::removeContent('OUT_DOC_FILENAME', '', $oOutputDocument->getOutDocUid()); Content::removeContent('OUT_DOC_TEMPLATE', '', $oOutputDocument->getOutDocUid()); $iResult = $oOutputDocument->delete(); $oConnection->commit(); return $iResult; } else { throw new Exception('This row doesn\'t exist!'); } } catch (Exception $oError) { $oConnection->rollback(); throw $oError; } }
/** * Implementation for 'GET' method for Rest API * * @param mixed $outDocUid Primary key * * @return array $result Returns array within multiple records or a single record depending if * a single selection was requested passing id(s) as param */ protected function get($outDocUid = null) { $result = array(); try { $noArguments = true; $argumentList = func_get_args(); foreach ($argumentList as $arg) { if (!is_null($arg)) { $noArguments = false; } } if ($noArguments) { $criteria = new Criteria('workflow'); $criteria->addSelectColumn(OutputDocumentPeer::OUT_DOC_UID); $criteria->addSelectColumn(OutputDocumentPeer::PRO_UID); $criteria->addSelectColumn(OutputDocumentPeer::OUT_DOC_LANDSCAPE); $criteria->addSelectColumn(OutputDocumentPeer::OUT_DOC_MEDIA); $criteria->addSelectColumn(OutputDocumentPeer::OUT_DOC_LEFT_MARGIN); $criteria->addSelectColumn(OutputDocumentPeer::OUT_DOC_RIGHT_MARGIN); $criteria->addSelectColumn(OutputDocumentPeer::OUT_DOC_TOP_MARGIN); $criteria->addSelectColumn(OutputDocumentPeer::OUT_DOC_BOTTOM_MARGIN); $criteria->addSelectColumn(OutputDocumentPeer::OUT_DOC_GENERATE); $criteria->addSelectColumn(OutputDocumentPeer::OUT_DOC_TYPE); $criteria->addSelectColumn(OutputDocumentPeer::OUT_DOC_CURRENT_REVISION); $criteria->addSelectColumn(OutputDocumentPeer::OUT_DOC_FIELD_MAPPING); $criteria->addSelectColumn(OutputDocumentPeer::OUT_DOC_VERSIONING); $criteria->addSelectColumn(OutputDocumentPeer::OUT_DOC_DESTINATION_PATH); $criteria->addSelectColumn(OutputDocumentPeer::OUT_DOC_TAGS); $criteria->addSelectColumn(OutputDocumentPeer::OUT_DOC_PDF_SECURITY_ENABLED); $criteria->addSelectColumn(OutputDocumentPeer::OUT_DOC_PDF_SECURITY_OPEN_PASSWORD); $criteria->addSelectColumn(OutputDocumentPeer::OUT_DOC_PDF_SECURITY_OWNER_PASSWORD); $criteria->addSelectColumn(OutputDocumentPeer::OUT_DOC_PDF_SECURITY_PERMISSIONS); $dataset = AppEventPeer::doSelectRS($criteria); $dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); while ($dataset->next()) { $result[] = $dataset->getRow(); } } else { $record = OutputDocumentPeer::retrieveByPK($outDocUid); if ($record) { $result = $record->toArray(BasePeer::TYPE_FIELDNAME); } else { $paramValues = ""; foreach ($argumentList as $arg) { $paramValues .= strlen($paramValues) ? ', ' : ''; if (!is_null($arg)) { $paramValues .= "{$arg}"; } else { $paramValues .= "NULL"; } } throw new RestException(417, "table OutputDocument ({$paramValues})"); } } } catch (RestException $e) { throw new RestException($e->getCode(), $e->getMessage()); } catch (Exception $e) { throw new RestException(412, $e->getMessage()); } return $result; }
public function getSteps ($appUid, $index, $tasUid, $proUid) { //require_once 'classes/model/Step.php'; //require_once 'classes/model/Content.php'; //require_once 'classes/model/AppDocument.php'; //require_once 'classes/model/InputDocumentPeer.php'; //require_once 'classes/model/OutputDocument.php'; //require_once 'classes/model/Dynaform.php'; //G::LoadClass( 'pmScript' ); G::LoadClass( 'case' ); $steps = Array (); $case = new Cases(); $step = new Step(); $appDocument = new AppDocument(); $caseSteps = $step->getAllCaseSteps( $proUid, $tasUid, $appUid ); //getting externals steps $oPluginRegistry = &PMPluginRegistry::getSingleton(); $eSteps = $oPluginRegistry->getSteps(); $externalSteps = array (); foreach ($eSteps as $externalStep) { $externalSteps[$externalStep->sStepId] = $externalStep; } //getting the case record if ($appUid) { $caseData = $case->loadCase( $appUid ); $pmScript = new PMScript(); $pmScript->setFields( $caseData['APP_DATA'] ); } $externalStepCount = 0; foreach ($caseSteps as $caseStep) { // if it has a condition if (trim( $caseStep->getStepCondition() ) != '') { $pmScript->setScript( $caseStep->getStepCondition() ); if (! $pmScript->evaluate()) { //evaluated false, jump & continue with the others steps continue; } } $stepUid = $caseStep->getStepUidObj(); $stepType = $caseStep->getStepTypeObj(); $stepPosition = $caseStep->getStepPosition(); $stepItem = array (); $stepItem['id'] = $stepUid; $stepItem['type'] = $stepType; switch ($stepType) { case 'DYNAFORM': $oDocument = DynaformPeer::retrieveByPK( $stepUid ); $stepItem['title'] = $oDocument->getDynTitle(); $stepItem['url'] = "cases/cases_Step?UID=$stepUid&TYPE=$stepType&POSITION=$stepPosition&ACTION=EDIT"; $stepItem['version'] = $oDocument->getDynVersion(); break; case 'OUTPUT_DOCUMENT': $oDocument = OutputDocumentPeer::retrieveByPK( $caseStep->getStepUidObj() ); $outputDoc = $appDocument->getObject( $appUid, $index, $caseStep->getStepUidObj(), 'OUTPUT' ); $stepItem['title'] = $oDocument->getOutDocTitle(); if ($outputDoc['APP_DOC_UID']) { $stepItem['url'] = "cases/cases_Step?UID=$stepUid&TYPE=$stepType&POSITION=$stepPosition&ACTION=VIEW&DOC={$outputDoc['APP_DOC_UID']}"; } else { $stepItem['url'] = "cases/cases_Step?UID=$stepUid&TYPE=$stepType&POSITION=$stepPosition&ACTION=GENERATE"; } break; case 'INPUT_DOCUMENT': $oDocument = InputDocumentPeer::retrieveByPK( $stepUid ); $stepItem['title'] = $oDocument->getInpDocTitle(); $stepItem['url'] = "cases/cases_Step?UID=$stepUid&TYPE=$stepType&POSITION=$stepPosition&ACTION=ATTACH"; break; case 'EXTERNAL': $stepTitle = 'unknown ' . $caseStep->getStepUidObj(); $oPluginRegistry = PMPluginRegistry::getSingleton(); $externalStep = $externalSteps[$caseStep->getStepUidObj()]; $stepItem['id'] = $externalStep->sStepId; $stepItem['title'] = $externalStep->sStepTitle; $stepItem['url'] = "cases/cases_Step?UID={$externalStep->sStepId}&TYPE=EXTERNAL&POSITION=$stepPosition&ACTION=EDIT"; break; } $steps[] = $stepItem; } //last, assign task $stepItem = array (); $stepItem['id'] = '-1'; $stepItem['type'] = ''; $stepItem['title'] = G::LoadTranslation( 'ID_ASSIGN_TASK' ); $stepItem['url'] = "cases/cases_Step?TYPE=ASSIGN_TASK&UID=-1&POSITION=10000&ACTION=ASSIGN"; $steps[] = $stepItem; return $steps; }
/** * Remove the application document registry * @param array $aData * @return string * */ public function remove($sOutDocUid) { $oConnection = Propel::getConnection(OutputDocumentPeer::DATABASE_NAME); try { $oOutputDocument = OutputDocumentPeer::retrieveByPK($sOutDocUid); if (!is_null($oOutputDocument)) { $oConnection->begin(); Content::removeContent('OUT_DOC_TITLE', '', $oOutputDocument->getOutDocUid()); Content::removeContent('OUT_DOC_DESCRIPTION', '', $oOutputDocument->getOutDocUid()); Content::removeContent('OUT_DOC_FILENAME', '', $oOutputDocument->getOutDocUid()); Content::removeContent('OUT_DOC_TEMPLATE', '', $oOutputDocument->getOutDocUid()); $iResult = $oOutputDocument->delete(); $oConnection->commit(); //Add Audit Log G::auditLog("DeleteOutputDocument", "Output Document Name: " . $oOutputDocument->getOutDocTitle() . ", Output Document Uid: " . $sOutDocUid . ", Description: " . $oOutputDocument->getOutDocDescription() . ", Filename generated: " . $oOutputDocument->getOutDocFilename()); //Return return $iResult; } else { throw (new Exception('This row doesn\'t exist!')); } } catch (Exception $oError) { $oConnection->rollback(); throw ($oError); } }
foreach ($rs as $key => $aRow) { $bAccessStep = false; if (trim($aRow->getStepCondition()) != '') { $oPMScript->setScript($aRow->getStepCondition()); $bAccessStep = $oPMScript->evaluate(); } else { $bAccessStep = true; } if ($bAccessStep) { switch ($aRow->getStepTypeObj()) { case 'DYNAFORM': $oDocument = DynaformPeer::retrieveByPK($aRow->getStepUidObj()); $stepTitle = $oDocument->getDynTitle(); break; case 'OUTPUT_DOCUMENT': $oDocument = OutputDocumentPeer::retrieveByPK($aRow->getStepUidObj()); $stepTitle = $oDocument->getOutDocTitle(); break; case 'INPUT_DOCUMENT': $oDocument = InputDocumentPeer::retrieveByPK($aRow->getStepUidObj()); $stepTitle = $oDocument->getInpDocTitle(); $sType = $oDocument->getInpDocFormNeeded(); break; case 'EXTERNAL': $stepTitle = 'unknown ' . $aRow->getStepUidObj(); $oPluginRegistry =& PMPluginRegistry::getSingleton(); foreach ($externalSteps as $key => $val) { if ($val->sStepId == $aRow->getStepUidObj()) { $stepTitle = $val->sStepTitle; //default title $sNamespace = $val->sNamespace;
/** * Update a output document for a project * @param string $sProcessUID * @param array $outputDocumentData * @param string $sOutputDocumentUID * @param int $sFlag * * @access public */ public function updateOutputDocument($sProcessUID, $outputDocumentData, $sFlag, $sOutputDocumentUID = '') { $oConnection = \Propel::getConnection(\OutputDocumentPeer::DATABASE_NAME); $pemission = $outputDocumentData['out_doc_pdf_security_permissions']; $pemission = explode("|", $pemission); foreach ($pemission as $row) { if ($row == "print" || $row == "modify" || $row == "copy" || $row == "forms" || $row == "") { $outputDocumentData['out_doc_pdf_security_permissions'] = $outputDocumentData['out_doc_pdf_security_permissions']; } else { throw new \Exception(\G::LoadTranslation("ID_INVALID_VALUE_FOR", array('out_doc_pdf_security_permissions'))); } } try { $oOutputDocument = \OutputDocumentPeer::retrieveByPK($sOutputDocumentUID); if (!is_null($oOutputDocument)) { if (isset($outputDocumentData['out_doc_pdf_security_open_password']) && $outputDocumentData['out_doc_pdf_security_open_password'] != "") { $outputDocumentData['out_doc_pdf_security_open_password'] = \G::encrypt($outputDocumentData['out_doc_pdf_security_open_password'], $sOutputDocumentUID); $outputDocumentData['out_doc_pdf_security_owner_password'] = \G::encrypt($outputDocumentData['out_doc_pdf_security_owner_password'], $sOutputDocumentUID); } else { unset($outputDocumentData['out_doc_pdf_security_open_password']); unset($outputDocumentData['out_doc_pdf_security_owner_password']); } $outputDocumentData = array_change_key_case($outputDocumentData, CASE_UPPER); $oOutputDocument->fromArray($outputDocumentData, \BasePeer::TYPE_FIELDNAME); if ($oOutputDocument->validate()) { $oConnection->begin(); if (isset($outputDocumentData['OUT_DOC_TITLE'])) { $uid = $this->titleExists($sProcessUID, $outputDocumentData["OUT_DOC_TITLE"]); if ($uid != '') { if ($uid != $sOutputDocumentUID && $sFlag == 0) { throw new \Exception(\G::LoadTranslation("ID_OUTPUT_NOT_SAVE")); } } $oOutputDocument->setOutDocTitle($outputDocumentData['OUT_DOC_TITLE']); } if (isset($outputDocumentData['OUT_DOC_DESCRIPTION'])) { $oOutputDocument->setOutDocDescription($outputDocumentData['OUT_DOC_DESCRIPTION']); } if (isset($outputDocumentData['OUT_DOC_FILENAME'])) { $oOutputDocument->setOutDocFilename($outputDocumentData['OUT_DOC_FILENAME']); } if (isset($outputDocumentData['OUT_DOC_TEMPLATE'])) { $outputDocumentData['OUT_DOC_TEMPLATE'] = stripslashes($outputDocumentData['OUT_DOC_TEMPLATE']); $outputDocumentData['OUT_DOC_TEMPLATE'] = str_replace("@amp@", "&", $outputDocumentData['OUT_DOC_TEMPLATE']); $oOutputDocument->setOutDocTemplate($outputDocumentData['OUT_DOC_TEMPLATE']); } $oOutputDocument->save(); $oConnection->commit(); } else { $sMessage = ''; $aValidationFailures = $oOutputDocument->getValidationFailures(); foreach ($aValidationFailures as $oValidationFailure) { $sMessage .= $oValidationFailure->getMessage(); } throw new \Exception(\G::LoadTranslation("ID_REGISTRY_CANNOT_BE_UPDATED") . $sMessage); } } else { throw new \Exception(\G::LoadTranslation("ID_ROW_DOES_NOT_EXIST")); } } catch (\Exception $e) { throw $e; } }