/** * Create the step supervisor registry * * @param array $aData * @return boolean * */ public function create ($aData) { $oConnection = Propel::getConnection( StepSupervisorPeer::DATABASE_NAME ); try { if (isset( $aData['STEP_UID'] ) && $aData['STEP_UID'] == '') { unset( $aData['STEP_UID'] ); } if (! isset( $aData['STEP_UID'] )) { $aData['STEP_UID'] = G::generateUniqueID(); } $oStepSupervisor = new StepSupervisor(); $oStepSupervisor->fromArray( $aData, BasePeer::TYPE_FIELDNAME ); if ($oStepSupervisor->validate()) { $oConnection->begin(); $iResult = $oStepSupervisor->save(); $oConnection->commit(); return true; } else { $sMessage = ''; $aValidationFailures = $oStepSupervisor->getValidationFailures(); foreach ($aValidationFailures as $oValidationFailure) { $sMessage .= $oValidationFailure->getMessage() . '<br />'; } throw (new Exception( 'The registry cannot be created!<br />' . $sMessage )); } } catch (Exception $oError) { $oConnection->rollback(); throw ($oError); } }
public function deleteInputDoc($params) { require_once 'classes/model/StepSupervisor.php'; require_once 'classes/model/ObjectPermission.php'; require_once 'classes/model/InputDocument.php'; G::LoadClass('processMap'); $oStepSupervisor = new StepSupervisor(); $fields2 = $oStepSupervisor->loadInfo($params->IDOC_UID); $oStepSupervisor->remove($fields2['STEP_UID']); $oPermission = new ObjectPermission(); $fields3 = $oPermission->loadInfo($params->IDOC_UID); if (is_array($fields3)) { $oPermission->remove($fields3['OP_UID']); } $oInputDocument = new InputDocument(); $fields = $oInputDocument->load($params->IDOC_UID); $oInputDocument->remove($params->IDOC_UID); $oStep = new Step(); $oStep->removeStep('INPUT_DOCUMENT', $params->IDOC_UID); $oOP = new ObjectPermission(); $oOP->removeByObject('INPUT', $params->IDOC_UID); //refresh dbarray with the last change in inputDocument $oMap = new processMap(); $oCriteria = $oMap->getInputDocumentsCriteria($params->PRO_UID); $this->success = true; $this->msg = G::LoadTranslation('ID_INPUT_DOC_SUCCESS_DELETE'); }
$result->passed = true; if (is_array($fields2)) { $result->passed = false; } $result->success = true; $result->msg = $result->passed ? '' : G::LoadTranslation('ID_INPUTDOCUMENT_TASK_RELATION_EXISTS'); } catch (Exception $e) { $result->success = false; $result->passed = false; $result->msg = $e->getMessage(); } print G::json_encode($result); break; case 'deleteInputDocument': try { $oStepSupervisor = new StepSupervisor(); $fields2 = $oStepSupervisor->loadInfo($_POST['INP_DOC_UID']); $oStepSupervisor->remove($fields2['STEP_UID']); $oPermission = new ObjectPermission(); $fields3 = $oPermission->loadInfo($_POST['INP_DOC_UID']); if (is_array($fields3)) { $oPermission->remove($fields3['OP_UID']); } $oInputDocument = new InputDocument(); $fields = $oInputDocument->load($_POST['INP_DOC_UID']); $oInputDocument->remove($_POST['INP_DOC_UID']); $oStep = new Step(); $oStep->removeStep('INPUT_DOCUMENT', $_POST['INP_DOC_UID']); $oOP = new ObjectPermission(); $oOP->removeByObject('INPUT', $_POST['INP_DOC_UID']); //refresh dbarray with the last change in inputDocument
/** * Delete InputDocument * * @param string $inputDocumentUid Unique id of InputDocument * * return void */ public function delete($inputDocumentUid) { try { //Verify data $this->throwExceptionIfNotExistsInputDocument($inputDocumentUid, "", $this->arrayFieldNameForException["inputDocumentUid"]); $this->throwExceptionIfItsAssignedInOtherObjects($inputDocumentUid, $this->arrayFieldNameForException["inputDocumentUid"]); //Delete //StepSupervisor $stepSupervisor = new \StepSupervisor(); $arrayData = $stepSupervisor->loadInfo($inputDocumentUid); $result = $stepSupervisor->remove($arrayData["STEP_UID"]); //ObjectPermission $objectPermission = new \ObjectPermission(); $arrayData = $objectPermission->loadInfo($inputDocumentUid); if (is_array($arrayData)) { $result = $objectPermission->remove($arrayData["OP_UID"]); } //InputDocument $inputDocument = new \InputDocument(); $result = $inputDocument->remove($inputDocumentUid); //Step $step = new \Step(); $step->removeStep("INPUT_DOCUMENT", $inputDocumentUid); //ObjectPermission $objectPermission = new \ObjectPermission(); $objectPermission->removeByObject("INPUT", $inputDocumentUid); } catch (\Exception $e) { throw $e; } }
/** * Create Step Supervisor Rows for a Process from an array of data * * @param $aStepSupervisor array. * @return void. */ public function createStepSupervisorRows ($aStepSupervisor) { foreach ($aStepSupervisor as $key => $row) { $oStepSupervisor = new StepSupervisor(); if ($oStepSupervisor->Exists( $row['STEP_UID'] )) { $oStepSupervisor->remove( $row['STEP_UID'] ); } $oStepSupervisor->create( $row ); } } #@!Neyek
try { if (!isset($_POST['DYN_UID'])) { throw new Exception('DYN_UID was not set!'); } $DYN_UIDS = explode(',', $_POST['DYN_UID']); foreach ($DYN_UIDS as $i => $DYN_UID) { $dynaform = new dynaform(); //in table dynaform $dynaform->remove($DYN_UID); //in table Step $oStep = new Step(); $oStep->removeStep('DYNAFORM', $DYN_UID); //in table ObjectPermission $oOP = new ObjectPermission(); $oOP->removeByObject('DYNAFORM', $DYN_UID); //in table Step_supervisor $oSS = new StepSupervisor(); $oSS->removeByObject('DYNAFORM', $DYN_UID); //in table case_tracker_object $oCTO = new CaseTrackerObject(); $oCTO->removeByObject('DYNAFORM', $DYN_UID); } $result->success = true; $result->msg = G::LoadTranslation('ID_DYNAFORM_REMOVED'); } catch (Exception $e) { $result->success = false; $result->msg = $e->getMessage(); } print G::json_encode($result); break; }
/** * removeSupervisorStep * * @param string $sStepUID * @param string $sProcessUID * @param string $sObjType * @param string $sObjUID * @param integer $iPosition * @return void */ public function removeSupervisorStep($sStepUID, $sProcessUID, $sObjType, $sObjUID, $iPosition) { $oStepSupervisor = new StepSupervisor(); $oStepSupervisor->remove($sStepUID); $oStepSupervisor->reorderPositions($sProcessUID, $iPosition, $sObjType); }
/** * Validates all modified columns of given StepSupervisor object. * If parameter $columns is either a single column name or an array of column names * than only those columns are validated. * * NOTICE: This does not apply to primary or foreign keys for now. * * @param StepSupervisor $obj The object to validate. * @param mixed $cols Column name or array of column names. * * @return mixed TRUE if all columns are valid or the error message of the first invalid column. */ public static function doValidate(StepSupervisor $obj, $cols = null) { $columns = array(); if ($cols) { $dbMap = Propel::getDatabaseMap(StepSupervisorPeer::DATABASE_NAME); $tableMap = $dbMap->getTable(StepSupervisorPeer::TABLE_NAME); if (!is_array($cols)) { $cols = array($cols); } foreach ($cols as $colName) { if ($tableMap->containsColumn($colName)) { $get = 'get' . $tableMap->getColumn($colName)->getPhpName(); $columns[$colName] = $obj->{$get}(); } } } else { if ($obj->isNew() || $obj->isColumnModified(StepSupervisorPeer::STEP_TYPE_OBJ)) { $columns[StepSupervisorPeer::STEP_TYPE_OBJ] = $obj->getStepTypeObj(); } } return BasePeer::doValidate(StepSupervisorPeer::DATABASE_NAME, StepSupervisorPeer::TABLE_NAME, $columns); }
/** * Delete DynaForm * * @param string $dynaFormUid Unique id of DynaForm * * return void */ public function delete($dynaFormUid) { try { //Verify data $this->throwExceptionIfNotExistsDynaForm($dynaFormUid, "", $this->arrayFieldNameForException["dynaFormUid"]); //Load DynaForm $dynaForm = new \Dynaform(); $arrayDynaFormData = $dynaForm->Load($dynaFormUid); $processUid = $arrayDynaFormData["PRO_UID"]; //Verify dependences dynaforms $resultDepends = $this->dynaFormDepends($dynaFormUid, $processUid); if ($resultDepends != "") { throw new \Exception($resultDepends); } //Delete //In table DYNAFORM $result = $dynaForm->remove($dynaFormUid); //In table STEP $step = new \Step(); $step->removeStep("DYNAFORM", $dynaFormUid); //In table OBJECT_PERMISSION $objPermission = new \ObjectPermission(); $objPermission->removeByObject("DYNAFORM", $dynaFormUid); //In table STEP_SUPERVISOR $stepSupervisor = new \StepSupervisor(); $stepSupervisor->removeByObject("DYNAFORM", $dynaFormUid); //In table CASE_TRACKER_OBJECT $caseTrackerObject = new \CaseTrackerObject(); $caseTrackerObject->removeByObject("DYNAFORM", $dynaFormUid); } catch (\Exception $e) { throw $e; } }
/** * Assign a inputdocument supervisor of a process * * @param string $sProcessUID * @param string $sInputDocumentUID * @param int $sPuiPosition * @access public */ public function addProcessSupervisorInputDocument($sProcessUID, $sInputDocumentUID, $sPuiPosition) { $oTypeInputDocument= \InputDocumentPeer::retrieveByPK($sInputDocumentUID); if (is_null( $oTypeInputDocument )) { throw new \Exception(\G::LoadTranslation("ID_DOES NOT_INPUT_DOCUMENT", array($sInputDocumentUID))); } $aResp = array(); $sPuUIDT = array(); $sDelimiter = \DBAdapter::getStringDelimiter(); $oCriteria = new \Criteria('workflow'); $oCriteria->addSelectColumn(\StepSupervisorPeer::STEP_UID); $oCriteria->addAsColumn('INP_DOC_TITLE', 'C.CON_VALUE'); $oCriteria->addAlias('C', 'CONTENT'); $aConditions = array(); $aConditions[] = array(\StepSupervisorPeer::STEP_UID_OBJ, \InputDocumentPeer::INP_DOC_UID); $aConditions[] = array(\StepSupervisorPeer::STEP_TYPE_OBJ, $sDelimiter . 'INPUT_DOCUMENT' . $sDelimiter); $oCriteria->addJoinMC($aConditions, \Criteria::LEFT_JOIN); $aConditions = array(); $aConditions[] = array(\InputDocumentPeer::INP_DOC_UID, 'C.CON_ID'); $aConditions[] = array('C.CON_CATEGORY', $sDelimiter . 'INP_DOC_TITLE' . $sDelimiter); $aConditions[] = array('C.CON_LANG', $sDelimiter . SYS_LANG . $sDelimiter); $oCriteria->addJoinMC($aConditions, \Criteria::LEFT_JOIN); $oCriteria->add(\StepSupervisorPeer::PRO_UID, $sProcessUID); $oCriteria->add(\StepSupervisorPeer::STEP_UID_OBJ, $sInputDocumentUID); $oCriteria->add(\StepSupervisorPeer::STEP_TYPE_OBJ, 'INPUT_DOCUMENT'); $oCriteria->addAscendingOrderByColumn(\StepSupervisorPeer::STEP_POSITION); $oDataset = \StepSupervisorPeer::doSelectRS($oCriteria); $oDataset->setFetchmode(\ResultSet::FETCHMODE_ASSOC); $oDataset->next(); while ($aRow = $oDataset->getRow()) { $sPuUIDT = $aRow['STEP_UID']; $oDataset->next(); } if (sizeof($sPuUIDT) == 0) { $oStepSupervisor = new \StepSupervisor(); $oStepSupervisor->create(array('PRO_UID' => $sProcessUID, 'STEP_TYPE_OBJ' => "INPUT_DOCUMENT", 'STEP_UID_OBJ' => $sInputDocumentUID, 'STEP_POSITION' => $oStepSupervisor->getNextPosition($sProcessUID, "INPUT_DOCUMENT"))); $sDelimiter = \DBAdapter::getStringDelimiter(); $oCriteria = new \Criteria('workflow'); $oCriteria->addSelectColumn(\StepSupervisorPeer::STEP_UID); $oCriteria->addSelectColumn(\StepSupervisorPeer::PRO_UID); $oCriteria->addSelectColumn(\StepSupervisorPeer::STEP_TYPE_OBJ); $oCriteria->addSelectColumn(\StepSupervisorPeer::STEP_UID_OBJ); $oCriteria->addSelectColumn(\StepSupervisorPeer::STEP_POSITION); $oCriteria->addAsColumn('INP_DOC_TITLE', 'C.CON_VALUE'); $oCriteria->addAlias('C', 'CONTENT'); $aConditions = array(); $aConditions[] = array(\StepSupervisorPeer::STEP_UID_OBJ, \InputDocumentPeer::INP_DOC_UID); $aConditions[] = array(\StepSupervisorPeer::STEP_TYPE_OBJ, $sDelimiter . 'INPUT_DOCUMENT' . $sDelimiter); $oCriteria->addJoinMC($aConditions, \Criteria::LEFT_JOIN); $aConditions = array(); $aConditions[] = array(\InputDocumentPeer::INP_DOC_UID, 'C.CON_ID'); $aConditions[] = array('C.CON_CATEGORY', $sDelimiter . 'INP_DOC_TITLE' . $sDelimiter); $aConditions[] = array('C.CON_LANG', $sDelimiter . SYS_LANG . $sDelimiter); $oCriteria->addJoinMC($aConditions, \Criteria::LEFT_JOIN); $oCriteria->add(\StepSupervisorPeer::PRO_UID, $sProcessUID); $oCriteria->add(\StepSupervisorPeer::STEP_UID_OBJ, $sInputDocumentUID); $oCriteria->add(\StepSupervisorPeer::STEP_TYPE_OBJ, 'INPUT_DOCUMENT'); $oCriteria->addAscendingOrderByColumn(\StepSupervisorPeer::STEP_POSITION); $oDataset = \StepSupervisorPeer::doSelectRS($oCriteria); $oDataset->setFetchmode(\ResultSet::FETCHMODE_ASSOC); $oDataset->next(); while ($aRow = $oDataset->getRow()) { $aResp = array('pui_uid' => $aRow['STEP_UID'], 'pui_position' => $aRow['STEP_POSITION'], 'input_doc_uid' => $aRow['STEP_UID_OBJ']); $oDataset->next(); $aRespPosition = $this->updateProcessSupervisorInputDocument($sProcessUID ,$aRow['STEP_UID'], $sPuiPosition); $aResp = array_merge(array('input_doc_title' => $aRow['INP_DOC_TITLE']), $aRespPosition); } return $aResp; } else { throw new \Exception(\G::LoadTranslation("ID_RELATION_EXIST")); } }