function GetAppParentIndex ($aData) { //('SELECT * FROM APP_THREAD WHERE APP_UID='".$aData['APP_UID']."' AND DEL_INDEX = '".$aData['DEL_INDEX']."'"); try { $aThreads = array (); $c = new Criteria(); $c->addSelectColumn( AppThreadPeer::APP_THREAD_PARENT ); $c->add( AppThreadPeer::APP_UID, $aData['APP_UID'] ); $c->add( AppThreadPeer::DEL_INDEX, $aData['DEL_INDEX'] ); $rs = AppThreadPeer::doSelectRs( $c ); $rs->setFetchmode( ResultSet::FETCHMODE_ASSOC ); $rs->next(); $row = $rs->getRow(); while (is_array( $row )) { $aThreads = $row; $rs->next(); $row = $rs->getRow(); } return $aThreads; } catch (exception $e) { throw ($e); } }
public function cancelCase($sApplicationUID, $iIndex, $user_logged) { $this->getExecuteTriggerProcess($sApplicationUID, 'CANCELED'); $oApplication = new Application(); $aFields = $oApplication->load($sApplicationUID); $appStatusCurrent = $aFields['APP_STATUS']; $oCriteria = new Criteria('workflow'); $oCriteria->add(AppDelegationPeer::APP_UID, $sApplicationUID); $oCriteria->add(AppDelegationPeer::DEL_FINISH_DATE, null, Criteria::ISNULL); if (AppDelegationPeer::doCount($oCriteria) == 1) { $aFields['APP_STATUS'] = 'CANCELLED'; $oApplication->update($aFields); G::LoadClass('reportTables'); require_once 'classes/model/AdditionalTables.php'; $oReportTables = new ReportTables(); $addtionalTables = new additionalTables(); $oReportTables->updateTables($aFields['PRO_UID'], $aFields['APP_UID'], $aFields['APP_NUMBER'], $aFields['APP_DATA']); $addtionalTables->updateReportTables($aFields['PRO_UID'], $aFields['APP_UID'], $aFields['APP_NUMBER'], $aFields['APP_DATA'], $aFields['APP_STATUS']); } $this->CloseCurrentDelegation($sApplicationUID, $iIndex); $oAppDel = new AppDelegation(); $oAppDel->Load($sApplicationUID, $iIndex); $aAppDel = $oAppDel->toArray(BasePeer::TYPE_FIELDNAME); $this->closeAppThread($sApplicationUID, $aAppDel['DEL_THREAD']); $delay = new AppDelay(); $array['PRO_UID'] = $aFields['PRO_UID']; $array['APP_UID'] = $sApplicationUID; $c = new Criteria('workflow'); $c->clearSelectColumns(); $c->addSelectColumn(AppThreadPeer::APP_THREAD_INDEX); $c->add(AppThreadPeer::APP_UID, $sApplicationUID); $c->add(AppThreadPeer::DEL_INDEX, $iIndex); $oDataset = AppThreadPeer::doSelectRS($c); $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $oDataset->next(); $aRow = $oDataset->getRow(); $array['APP_THREAD_INDEX'] = $aRow['APP_THREAD_INDEX']; $array['APP_DEL_INDEX'] = $iIndex; $array['APP_TYPE'] = 'CANCEL'; $c = new Criteria('workflow'); $c->clearSelectColumns(); $c->addSelectColumn(ApplicationPeer::APP_STATUS); $c->add(ApplicationPeer::APP_UID, $sApplicationUID); $oDataset = ApplicationPeer::doSelectRS($c); $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $oDataset->next(); $aRow1 = $oDataset->getRow(); $array['APP_STATUS'] = $aRow1['APP_STATUS']; $array['APP_DELEGATION_USER'] = $user_logged; $array['APP_ENABLE_ACTION_USER'] = $user_logged; $array['APP_ENABLE_ACTION_DATE'] = date('Y-m-d H:i:s'); $delay->create($array); //Before cancel a case verify if is a child case $oCriteria2 = new Criteria('workflow'); $oCriteria2->add(SubApplicationPeer::APP_UID, $sApplicationUID); $oCriteria2->add(SubApplicationPeer::SA_STATUS, 'ACTIVE'); if (SubApplicationPeer::doCount($oCriteria2) > 0) { G::LoadClass('derivation'); $oDerivation = new Derivation(); $oDerivation->verifyIsCaseChild($sApplicationUID, $iIndex); } //update searchindex if ($this->appSolr != null) { $this->appSolr->updateApplicationSearchIndex($sApplicationUID); } /*----------------------------------********---------------------------------*/ }
/** * Populates the object using an array. * * This is particularly useful when populating an object from one of the * request arrays (e.g. $_POST). This method goes through the column * names, checking to see whether a matching key exists in populated * array. If so the setByName() method is called for that column. * * You can specify the key type of the array by additionally passing one * of the class type constants TYPE_PHPNAME, TYPE_COLNAME, TYPE_FIELDNAME, * TYPE_NUM. The default key type is the column's phpname (e.g. 'authorId') * * @param array $arr An array to populate the object from. * @param string $keyType The type of keys the array uses. * @return void */ public function fromArray($arr, $keyType = BasePeer::TYPE_PHPNAME) { $keys = AppThreadPeer::getFieldNames($keyType); if (array_key_exists($keys[0], $arr)) { $this->setAppUid($arr[$keys[0]]); } if (array_key_exists($keys[1], $arr)) { $this->setAppThreadIndex($arr[$keys[1]]); } if (array_key_exists($keys[2], $arr)) { $this->setAppThreadParent($arr[$keys[2]]); } if (array_key_exists($keys[3], $arr)) { $this->setAppThreadStatus($arr[$keys[3]]); } if (array_key_exists($keys[4], $arr)) { $this->setDelIndex($arr[$keys[4]]); } }
public function getActionOptions() { $APP_UID = $_SESSION['APPLICATION']; $c = new Criteria('workflow'); $c->clearSelectColumns(); $c->addSelectColumn(AppThreadPeer::APP_THREAD_PARENT); $c->add(AppThreadPeer::APP_UID, $APP_UID); $c->add(AppThreadPeer::APP_THREAD_STATUS, 'OPEN'); $cant = AppThreadPeer::doCount($c); $oCase = new Cases(); $aFields = $oCase->loadCase($_SESSION['APPLICATION'], $_SESSION['INDEX']); global $RBAC; $options = array(); switch ($aFields['APP_STATUS']) { case 'DRAFT': if (!AppDelay::isPaused($_SESSION['APPLICATION'], $_SESSION['INDEX'])) { $options[] = array('text' => G::LoadTranslation('ID_PAUSED_CASE'), 'fn' => 'setUnpauseCaseDate'); } else { $options[] = array('text' => G::LoadTranslation('ID_UNPAUSE'), 'fn' => 'unpauseCase'); } $options[] = array('text' => G::LoadTranslation('ID_DELETE'), 'fn' => 'deleteCase'); if ($RBAC->userCanAccess('PM_REASSIGNCASE') == 1) { $options[] = array('text' => G::LoadTranslation('ID_REASSIGN'), 'fn' => 'getUsersToReassign'); } break; case 'TO_DO': if (!AppDelay::isPaused($_SESSION['APPLICATION'], $_SESSION['INDEX'])) { $options[] = array('text' => G::LoadTranslation('ID_PAUSED_CASE'), 'fn' => 'setUnpauseCaseDate'); if ($cant == 1) { if ($RBAC->userCanAccess('PM_CANCELCASE') == 1) { $options[] = array('text' => G::LoadTranslation('ID_CANCEL'), 'fn' => 'cancelCase'); } else { $options[] = array('text' => G::LoadTranslation('ID_CANCEL'), 'fn' => 'cancelCase', 'hide' => 'hiden'); } } } else { $options[] = array('text' => G::LoadTranslation('ID_UNPAUSE'), 'fn' => 'unpauseCase'); } if ($RBAC->userCanAccess('PM_REASSIGNCASE') == 1) { $options[] = array('text' => G::LoadTranslation('ID_REASSIGN'), 'fn' => 'getUsersToReassign'); } break; case 'CANCELLED': $options[] = array('text' => G::LoadTranslation('ID_REACTIVATE'), 'fn' => 'reactivateCase'); break; } if ($_SESSION['TASK'] != '-1') { $oTask = new Task(); $aTask = $oTask->load($_SESSION['TASK']); if ($aTask['TAS_TYPE'] == 'ADHOC') { $options[] = array('text' => G::LoadTranslation('ID_ADHOC_ASSIGNMENT'), 'fn' => 'adhocAssignmentUsers'); } } return $options; }
/** * Retrieve object using using composite pkey values. * @param string $app_uid * @param int $app_thread_index * @param Connection $con * @return AppThread */ public static function retrieveByPK($app_uid, $app_thread_index, $con = null) { if ($con === null) { $con = Propel::getConnection(self::DATABASE_NAME); } $criteria = new Criteria(); $criteria->add(AppThreadPeer::APP_UID, $app_uid); $criteria->add(AppThreadPeer::APP_THREAD_INDEX, $app_thread_index); $v = AppThreadPeer::doSelect($criteria, $con); return !empty($v) ? $v[0] : null; }
public function update($aData) { $con = Propel::getConnection(AppThreadPeer::DATABASE_NAME); try { $con->begin(); $oApp = AppThreadPeer::retrieveByPK($aData['APP_UID'], $aData['APP_THREAD_INDEX']); if (is_object($oApp) && get_class($oApp) == 'AppThread') { $oApp->fromArray($aData, BasePeer::TYPE_FIELDNAME); if ($oApp->validate()) { $res = $oApp->save(); $con->commit(); return $res; } else { $msg = ''; foreach ($this->getValidationFailures() as $objValidationFailure) { $msg .= $objValidationFailure->getMessage() . "<br/>"; } throw new PropelException('The AppThread row cannot be created!', new PropelException($msg)); } } else { $con->rollback(); throw new Exception("This AppThread row doesn't exist!"); } } catch (Exception $oError) { throw $oError; } }
/** * Implementation for 'DELETE' method for Rest API * * @param mixed $appUid, $appThreadIndex 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 delete($appUid, $appThreadIndex) { $conn = Propel::getConnection(AppThreadPeer::DATABASE_NAME); try { $conn->begin(); $obj = AppThreadPeer::retrieveByPK($appUid, $appThreadIndex); if (!is_object($obj)) { throw new RestException(412, 'Record does not exist.'); } $obj->delete(); $conn->commit(); } catch (Exception $e) { $conn->rollback(); throw new RestException(412, $e->getMessage()); } }
* * For more information, contact Colosa Inc, 2566 Le Jeune Rd., * Coral Gables, FL, 33134, USA, or email info@colosa.com. * */ require_once 'classes/model/AppThread.php'; require_once 'classes/model/AppDelay.php'; G::LoadClass('tree'); G::LoadClass('case'); $APP_UID = $_SESSION['APPLICATION']; $c = new Criteria('workflow'); $c->clearSelectColumns(); $c->addSelectColumn(AppThreadPeer::APP_THREAD_PARENT); $c->add(AppThreadPeer::APP_UID, $APP_UID); $c->add(AppThreadPeer::APP_THREAD_STATUS, 'OPEN'); $cant = AppThreadPeer::doCount($c); $oTree = new Tree(); $oTree->nodeType = "blank"; $oTree->name = 'Actions'; $oTree->showSign = false; $oCase = new Cases(); $aFields = $oCase->loadCase($_SESSION['APPLICATION'], $_SESSION['INDEX']); $oCriteria = new Criteria('workflow'); $oCriteria->add(AppDelayPeer::APP_UID, $_SESSION['APPLICATION']); $oCriteria->add(AppDelayPeer::APP_DEL_INDEX, $_SESSION['INDEX']); $oCriteria->add(AppDelayPeer::APP_TYPE, 'PAUSE'); $oCriteria->add(AppDelayPeer::APP_DISABLE_ACTION_USER, null); $oDataset = AppDelayPeer::doSelectRS($oCriteria); $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $oDataset->next(); $aRow = $oDataset->getRow();