From b7f64014f6d98d6849b989f5851a83994cca1970 Mon Sep 17 00:00:00 2001 From: Luis Fernando Saisa Lopez Date: Fri, 29 Jul 2016 09:24:01 -0400 Subject: [PATCH 1/9] HOR-529-C "Unable to download Output document via REST Api" SOLVED --- .../BusinessModel/Cases/OutputDocument.php | 187 +++++++++++++++++- .../Services/Api/Cases/OutputDocument.php | 69 +++++++ 2 files changed, 255 insertions(+), 1 deletion(-) diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/Cases/OutputDocument.php b/workflow/engine/src/ProcessMaker/BusinessModel/Cases/OutputDocument.php index f8c59a53e..8580ffd0c 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/Cases/OutputDocument.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/Cases/OutputDocument.php @@ -281,6 +281,127 @@ class OutputDocument } } + /** + * Get Ouput Document generated + * + * @param string $appDocumentUid Unique id of Documents in an Application + * @param string $applicationUid Unique id of Case + * @param array $arrayVariableNameForException Variable name for exception + * @param bool $throwException Flag to throw the exception if the main parameters are invalid or do not exist + * (TRUE: throw the exception; FALSE: returns FALSE) + * + * @return array Returns an array with Ouput Document generated to record, ThrowTheException/FALSE otherwise + */ + public function getOuputDocumentRecordByPk($appDocumentUid, $applicationUid, array $arrayVariableNameForException, $throwException = true) + { + $criteria = new \Criteria('workflow'); + + $criteria->add(\AppDocumentPeer::APP_DOC_UID, $appDocumentUid, \Criteria::EQUAL); + $criteria->add(\AppDocumentPeer::APP_UID, $applicationUid, \Criteria::EQUAL); + $criteria->add(\AppDocumentPeer::APP_DOC_TYPE, 'OUTPUT', \Criteria::EQUAL); + + $rsCriteria = \AppDocumentPeer::doSelectRS($criteria); + $rsCriteria->setFetchmode(\ResultSet::FETCHMODE_ASSOC); + + if (!$rsCriteria->next()) { + if ($throwException) { + throw new \Exception(\G::LoadTranslation('ID_CASE_OUTPUT_DOCUMENT_DOES_NOT_EXIST', [$arrayVariableNameForException['$appDocumentUid'], $appDocumentUid])); + } else { + return false; + } + } + + $record = $rsCriteria->getRow(); + + //Return + return $record; + } + + /** + * Stream file (OutputDocument) + * + * @param string $appDocumentUid Unique id of Documents in an Application + * @param string $applicationUid Unique id of Case + * @param string $extension Extension (pdf, doc) + * + * @return string Returns a string (string of bytes) + */ + public function streamFile($appDocumentUid, $applicationUid, $extension) + { + //Verify data and Set variables + $arrayAppDocumentData = $this->getOuputDocumentRecordByPk($appDocumentUid, $applicationUid, ['$appDocumentUid' => '$appDocumentUid']); + + $appDocument = new \AppDocument(); + + $appDocument->Fields = $appDocument->load( + $appDocumentUid, + $appDocument->getLastDocVersion($appDocumentUid, $applicationUid) + ); + + $outputDocument = \OutputDocumentPeer::retrieveByPK($arrayAppDocumentData['DOC_UID']); + $outdocDocGenerate = $outputDocument->getOutDocGenerate(); + + $ext = ''; + + if (!is_null($extension)) { + if (!preg_match('/^(?:PDF|DOC)$/', strtoupper($extension))) { + throw new \Exception(\G::LoadTranslation('ID_OUTPUT_DOCUMENT_INVALID_EXTENSION')); + } + + if ($outdocDocGenerate != 'BOTH' && strtoupper($extension) != $outdocDocGenerate) { + throw new \Exception(\G::LoadTranslation('ID_OUTPUT_DOCUMENT_CONFIG_NOT_SUPPORT_EXTENSION')); + } + + $ext = $extension; + } else { + $ext = ($outdocDocGenerate != 'BOTH')? strtolower($outdocDocGenerate) : 'pdf'; + } + + //Stream file (OutputDocument) + $appDocUid = $appDocument->getAppDocUid(); + $docUid = $appDocument->Fields['DOC_UID']; + + $outputDocument = new \OutputDocument(); + + $outputDocument->Fields = $outputDocument->getByUid($docUid); + + $download = $outputDocument->Fields['OUT_DOC_OPEN_TYPE']; + + $pathInfo = pathinfo($appDocument->getAppDocFilename()); + + $extensionDoc = $ext; + + $versionDoc = '_' . $arrayAppDocumentData['DOC_VERSION']; + + $realPath = PATH_DOCUMENT . \G::getPathFromUID($appDocument->Fields['APP_UID']) . '/outdocs/' . $appDocUid . $versionDoc . '.' . $extensionDoc; + $realPath1 = PATH_DOCUMENT . \G::getPathFromUID($appDocument->Fields['APP_UID']) . '/outdocs/' . $pathInfo['basename'] . $versionDoc . '.' . $extensionDoc; + $realPath2 = PATH_DOCUMENT . \G::getPathFromUID($appDocument->Fields['APP_UID']) . '/outdocs/' . $pathInfo['basename'] . '.' . $extensionDoc; + + $flagFileExists = false; + + if (file_exists($realPath)) { + $flagFileExists = true; + } else { + if (file_exists($realPath1)) { + $flagFileExists = true; + $realPath = $realPath1; + } else { + if (file_exists($realPath2)) { + $flagFileExists = true; + $realPath = $realPath2; + } + } + } + + if ($flagFileExists) { + $nameFile = $pathInfo['basename'] . $versionDoc . '.' . $extensionDoc; + + \G::streamFile($realPath, true, $nameFile); //download + } else { + throw new \Exception(\G::LoadTranslation('ID_NOT_EXISTS_FILE')); + } + } + /** * Delete OutputDocument * @@ -820,5 +941,69 @@ class OutputDocument } } } -} + /** + * Check of user has permission of process + * + * @param string $applicationUid Unique id of Case + * @param string $delIndex Delegation index + * @param string $userUid Unique id of User + * @param string $appDocumentUid Unique id of Documents in an Application + * @param string $action + * + * @return bool Return + */ + public function checkProcessPermission($applicationUid, $delIndex, $userUid, $appDocumentUid, $action = 'VIEW') + { + $delIndex = (!is_null($delIndex))? $delIndex : 0; + + $case = new \ProcessMaker\BusinessModel\Cases(); + $arrayApplicationData = $case->getApplicationRecordByPk($applicationUid, [], false); + + $processUid = $arrayApplicationData['PRO_UID']; + + $case = new \Cases(); + $arrayAllObjectsFrom = $case->getAllObjectsFrom($processUid, $applicationUid, null, $userUid, $action, $delIndex); + + if (array_key_exists('OUTPUT_DOCUMENTS', $arrayAllObjectsFrom) && !empty($arrayAllObjectsFrom['OUTPUT_DOCUMENTS'])) { + foreach($arrayAllObjectsFrom['OUTPUT_DOCUMENTS'] as $value) { + if ($value == $appDocumentUid) { + return true; + } + } + } + + //Return + return false; + } + + /** + * Check of user + * + * @param string $applicationUid Unique id of Case + * @param string $appDocumentUid Unique id of Documents in an Application + * @param string $userUid Unique id of User + * + * @return bool Return + */ + public function checkUser($applicationUid, $appDocumentUid, $userUid) + { + $criteria = new \Criteria('workflow'); + + $criteria->addSelectColumn(\AppDocumentPeer::DOC_UID); + + $criteria->add(\AppDocumentPeer::APP_UID, $applicationUid, \Criteria::EQUAL); + $criteria->add(\AppDocumentPeer::APP_DOC_UID, $appDocumentUid, \Criteria::EQUAL); + $criteria->add(\AppDocumentPeer::APP_DOC_TYPE, 'OUTPUT', \Criteria::EQUAL); + $criteria->add(\AppDocumentPeer::USR_UID, $userUid, \Criteria::EQUAL); + + $rsCriteria = \AppDocumentPeer::doSelectRS($criteria); + + if ($rsCriteria->next()) { + return true; + } + + //Return + return false; + } +} diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Cases/OutputDocument.php b/workflow/engine/src/ProcessMaker/Services/Api/Cases/OutputDocument.php index 27cdd901d..4977f964e 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Cases/OutputDocument.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Cases/OutputDocument.php @@ -11,6 +11,53 @@ use \Luracast\Restler\RestException; */ class OutputDocument extends Api { + public function __isAllowed() + { + try { + $methodName = $this->restler->apiMethodInfo->methodName; + $arrayArgs = $this->restler->apiMethodInfo->arguments; + + switch ($methodName) { + case 'doGetOutputDocumentFile': + $applicationUid = $this->parameters[$arrayArgs['app_uid']]; + $appDocumentUid = $this->parameters[$arrayArgs['app_doc_uid']]; + $userUid = $this->getUserId(); + + //Check whether the process supervisor + $case = new \ProcessMaker\BusinessModel\Cases(); + $arrayApplicationData = $case->getApplicationRecordByPk($applicationUid, [], false); + + $supervisor = new \ProcessMaker\BusinessModel\ProcessSupervisor(); + $flagps = $supervisor->isUserProcessSupervisor($arrayApplicationData['PRO_UID'], $userUid); + + if ($flagps) { + return true; + } + + //Verify if you have permissions of the process + $outputDocument = new \ProcessMaker\BusinessModel\Cases\OutputDocument(); + $flagpp = $outputDocument->checkProcessPermission($applicationUid, null, $userUid, $appDocumentUid, 'VIEW'); + + if ($flagpp) { + return true; + } + + //Check whether the user has created the output document + $flaguser = $outputDocument->checkUser($applicationUid, $appDocumentUid, $userUid); + + if ($flaguser) { + return true; + } + break; + } + + //Return + return false; + } catch (\Exception $e) { + throw new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()); + } + } + /** * @url GET /:app_uid/output-documents * @@ -46,6 +93,28 @@ class OutputDocument extends Api } } + /** + * @url GET /:app_uid/output-document/:app_doc_uid/file + * + * @access protected + * @class AccessControl {@className \ProcessMaker\Services\Api\Cases\OutputDocument} + * + * @param string $app_uid {@min 32}{@max 32} + * @param string $app_doc_uid {@min 32}{@max 32} + */ + public function doGetOutputDocumentFile($app_uid, $app_doc_uid, $extension = null) + { + try { + $caseOutdoc = new \ProcessMaker\BusinessModel\Cases\OutputDocument(); + $response = $caseOutdoc->streamFile($app_doc_uid, $app_uid, $extension); + + //Return + return $response; + } catch (\Exception $e) { + throw new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()); + } + } + /** * @url DELETE /:app_uid/output-document/:app_doc_uid * From e82fb4718c438d0d127d58a83ac50a974bde0946 Mon Sep 17 00:00:00 2001 From: dheeyi william Date: Mon, 1 Aug 2016 15:30:30 -0400 Subject: [PATCH 2/9] =?UTF-8?q?HOR-1448=20Remover=20las=20llamadas=20a=20l?= =?UTF-8?q?a=20funci=C3=B3n=20que=20actualiza=20los=20contadores=20para=20?= =?UTF-8?q?los=20usuarios?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- workflow/engine/bin/tasks/cliWorkspaces.php | 8 - workflow/engine/classes/class.case.php | 29 -- workflow/engine/classes/class.derivation.php | 60 +-- workflow/engine/classes/class.wsTools.php | 93 ---- .../engine/classes/model/ListCanceled.php | 3 - .../engine/classes/model/ListCompleted.php | 28 -- workflow/engine/classes/model/ListInbox.php | 46 -- .../classes/model/ListParticipatedLast.php | 13 - workflow/engine/classes/model/ListPaused.php | 6 - workflow/engine/classes/model/Users.php | 65 +-- .../classes/model/map/UsersMapBuilder.php | 14 - .../engine/classes/model/om/BaseUsers.php | 464 ++---------------- .../engine/classes/model/om/BaseUsersPeer.php | 53 +- workflow/engine/config/schema.xml | 7 - workflow/engine/data/mysql/schema.sql | 7 - 15 files changed, 62 insertions(+), 834 deletions(-) diff --git a/workflow/engine/bin/tasks/cliWorkspaces.php b/workflow/engine/bin/tasks/cliWorkspaces.php index a807927af..d83afb607 100755 --- a/workflow/engine/bin/tasks/cliWorkspaces.php +++ b/workflow/engine/bin/tasks/cliWorkspaces.php @@ -221,14 +221,6 @@ EOT CLI::taskArg('workspace', true, true); CLI::taskRun("run_database_verify_migration_consistency"); -CLI::taskName('migrate-counters'); -CLI::taskDescription(<<appSolr->deleteApplicationSearchIndex($sAppUid); } /*----------------------------------********---------------------------------*/ - $criteria = new Criteria(); - $criteria->addSelectColumn( ListInboxPeer::USR_UID ); - $criteria->add( ListInboxPeer::APP_UID, $sAppUid, Criteria::EQUAL ); - $dataset = ApplicationPeer::doSelectRS($criteria); - $dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); - while($dataset->next()) { - $aRow = $dataset->getRow(); - $users = new Users(); - $users->refreshTotal($aRow['USR_UID'], 'remove', 'draft'); - $users->refreshTotal($aRow['USR_UID'], 'remove', 'participated'); - } - $oCriteria = new Criteria('workflow'); $oCriteria->add(ListInboxPeer::APP_UID, $sAppUid); ListInboxPeer::doDelete($oCriteria); @@ -1956,7 +1944,6 @@ class Cases public function CloseCurrentDelegation($sAppUid, $iDelIndex) { try { - $oApplication = ApplicationPeer::retrieveByPk($sAppUid); $c = new Criteria(); $c->add(AppDelegationPeer::APP_UID, $sAppUid); $c->add(AppDelegationPeer::DEL_INDEX, $iDelIndex); @@ -1975,22 +1962,6 @@ class Cases } throw (new PropelException('The row cannot be created!', new PropelException($msg))); } - $taskNext = TaskPeer::retrieveByPK($appDel->getTasUid()); - if($taskNext->getTasType() !== 'SUBPROCESS'){ - if($oApplication->getAppStatus() === 'DRAFT'){ - $sUserUid = $appDel->getUsrUid(); - /*----------------------------------********---------------------------------*/ - $users = new Users(); - $users->refreshTotal($sUserUid, "remove", "draft"); - /*----------------------------------********---------------------------------*/ - }else{ - $sUserUid = $appDel->getUsrUid(); - /*----------------------------------********---------------------------------*/ - $users = new Users(); - $users->refreshTotal($sUserUid, "remove", "inbox"); - /*----------------------------------********---------------------------------*/ - } - } } /*----------------------------------********---------------------------------*/ $inbox = new ListInbox(); diff --git a/workflow/engine/classes/class.derivation.php b/workflow/engine/classes/class.derivation.php index 85c69d260..146d14474 100755 --- a/workflow/engine/classes/class.derivation.php +++ b/workflow/engine/classes/class.derivation.php @@ -752,58 +752,26 @@ class Derivation { /*----------------------------------********---------------------------------*/ try { - $user = new Users(); + if ($arrayNextDelegationData["TAS_UID"] != "-1") { + $regexpTaskTypeToExclude = "WEBENTRYEVENT|END-MESSAGE-EVENT|START-MESSAGE-EVENT|INTERMEDIATE-THROW-MESSAGE-EVENT|INTERMEDIATE-CATCH-MESSAGE-EVENT|SCRIPT-TASK|INTERMEDIATE-CATCH-TIMER-EVENT"; - if ($arrayNextDelegationData["TAS_UID"] == "-2") { - $application = ApplicationPeer::retrieveByPK($arrayApplicationData["APP_UID"]); + if (!preg_match("/^(?:" . $regexpTaskTypeToExclude . ")$/", $taskNextDelegation->getTasType())) { + if (!empty($delIndexNew) && empty($aSp)) { + $appDelegation = AppDelegationPeer::retrieveByPK($arrayApplicationData["APP_UID"], $delIndexNew); + $arrayApplicationData2 = $appDelegation->toArray(BasePeer::TYPE_FIELDNAME); - if ($application->getAppStatus() == "DRAFT") { - //$user->refreshTotal($arrayApplicationData["CURRENT_USER_UID"], "remove", "draft"); - } else { - //$user->refreshTotal($arrayApplicationData["CURRENT_USER_UID"], "remove", "inbox"); - } - } else { - if ($arrayNextDelegationData["TAS_UID"] != "-1") { - $regexpTaskTypeToExclude = "WEBENTRYEVENT|END-MESSAGE-EVENT|START-MESSAGE-EVENT|INTERMEDIATE-THROW-MESSAGE-EVENT|INTERMEDIATE-CATCH-MESSAGE-EVENT|SCRIPT-TASK|INTERMEDIATE-CATCH-TIMER-EVENT"; + $arrayApplicationData2["APP_STATUS"] = $arrayCurrentDelegationData["APP_STATUS"]; - if (!preg_match("/^(?:" . $regexpTaskTypeToExclude . ")$/", $taskNextDelegation->getTasType())) { - if (!empty($delIndexNew) && empty($aSp)) { - $appDelegation = AppDelegationPeer::retrieveByPK($arrayApplicationData["APP_UID"], $delIndexNew); - $arrayApplicationData2 = $appDelegation->toArray(BasePeer::TYPE_FIELDNAME); + $taskCurrent = TaskPeer::retrieveByPK($arrayCurrentDelegationData["TAS_UID"]); - $arrayApplicationData2["APP_STATUS"] = $arrayCurrentDelegationData["APP_STATUS"]; - - $taskCurrent = TaskPeer::retrieveByPK($arrayCurrentDelegationData["TAS_UID"]); - - if ($taskCurrent->getTasType() == "INTERMEDIATE-CATCH-MESSAGE-EVENT") { - $removeList = false; - } - - $arrayApplicationData2["REMOVED_LIST"] = $removeList; - - $inbox = new ListInbox(); - $inbox->newRow($arrayApplicationData2, $arrayApplicationData["CURRENT_USER_UID"], false, array(), (($arrayNextDelegationData["TAS_ASSIGN_TYPE"] == "SELF_SERVICE")? true : false)); - } else { - if (empty($aSp)) { - $application = ApplicationPeer::retrieveByPK($arrayApplicationData["APP_UID"]); - - if ($application->getAppStatus() == "DRAFT") { - //$user->refreshTotal($arrayApplicationData["CURRENT_USER_UID"], "remove", "draft"); - } else { - //$user->refreshTotal($arrayApplicationData["CURRENT_USER_UID"], "remove", "inbox"); - } - } + if ($taskCurrent->getTasType() == "INTERMEDIATE-CATCH-MESSAGE-EVENT") { + $removeList = false; } - } else { - if ($removeList) { - $application = ApplicationPeer::retrieveByPK($arrayApplicationData["APP_UID"]); - if ($application->getAppStatus() == "DRAFT") { - //$user->refreshTotal($arrayApplicationData["CURRENT_USER_UID"], "remove", "draft"); - } else { - //$user->refreshTotal($arrayApplicationData["CURRENT_USER_UID"], "remove", "inbox"); - } - } + $arrayApplicationData2["REMOVED_LIST"] = $removeList; + + $inbox = new ListInbox(); + $inbox->newRow($arrayApplicationData2, $arrayApplicationData["CURRENT_USER_UID"], false, array(), (($arrayNextDelegationData["TAS_ASSIGN_TYPE"] == "SELF_SERVICE")? true : false)); } } } diff --git a/workflow/engine/classes/class.wsTools.php b/workflow/engine/classes/class.wsTools.php index f3e321a4c..96ef90356 100755 --- a/workflow/engine/classes/class.wsTools.php +++ b/workflow/engine/classes/class.wsTools.php @@ -2019,7 +2019,6 @@ class workspaceTools $this->regenerateListParticipatedLast(); // this list require no translation $this->regenerateListPaused(); // this list require no translation $this->regenerateListUnassigned(); // this list require no translation - $this->migrateCounters(); } if (!$flagReinsert) { $this->listFirstExecution("insert"); @@ -2513,98 +2512,6 @@ class workspaceTools } /*----------------------------------********---------------------------------*/ - public function migrateCounters() - { - $this->initPropel(true); - // Updating the COMPLETE, DRAFT, INBOX, CANCELLED, PARTICIPATED counters - $query = ' - UPDATE '.$this->dbName.'.USERS UA - INNER JOIN - (SELECT - U.USR_UID, - IFNULL(APP_INBOX, 0) USR_TOTAL_INBOX, - IFNULL(APP_DRAFT, 0) USR_TOTAL_DRAFT, - IFNULL(NEW_USR_TOTAL_CANCELED, 0) USR_TOTAL_CANCELLED, - IFNULL(NEW_USR_TOTAL_PARTICIPATED_LAST, 0) USR_TOTAL_PARTICIPATED, - 0 USR_TOTAL_PAUSED, - IFNULL(NEW_USR_TOTAL_COMPLETED, 0) USR_TOTAL_COMPLETED, - 0 USR_TOTAL_UNASSIGNED - - FROM - '.$this->dbName.'.USERS U - LEFT JOIN - (SELECT - USR_UID, COUNT(APP_UID) NEW_USR_TOTAL_PARTICIPATED_LAST - FROM - '.$this->dbName.'.LIST_PARTICIPATED_LAST - GROUP BY USR_UID) LPL ON U.USR_UID = LPL.USR_UID - LEFT JOIN - (SELECT - USR_UID, COUNT(APP_UID) NEW_USR_TOTAL_COMPLETED - FROM - '.$this->dbName.'.LIST_COMPLETED - GROUP BY USR_UID) LCO ON U.USR_UID = LCO.USR_UID - LEFT JOIN - (SELECT - USR_UID, COUNT(DISTINCT APP_UID) APP_INBOX - FROM - '.$this->dbName.'.APP_CACHE_VIEW - WHERE - APP_STATUS = \'TO_DO\' - AND APP_THREAD_STATUS = \'OPEN\' - AND DEL_THREAD_STATUS = \'OPEN\' - AND DEL_FINISH_DATE IS NULL - GROUP BY USR_UID) APP_IN ON U.USR_UID = APP_IN.USR_UID - LEFT JOIN - (SELECT - USR_UID, COUNT(DISTINCT APP_UID) APP_DRAFT - FROM - '.$this->dbName.'.APP_CACHE_VIEW - WHERE - APP_STATUS = \'DRAFT\' - AND APP_THREAD_STATUS = \'OPEN\' - AND DEL_THREAD_STATUS = \'OPEN\' - GROUP BY USR_UID) APP_D ON U.USR_UID = APP_D.USR_UID - LEFT JOIN - (SELECT - USR_UID, COUNT(APP_UID) NEW_USR_TOTAL_CANCELED - FROM - '.$this->dbName.'.LIST_CANCELED - GROUP BY USR_UID) LCA ON U.USR_UID = LCA.USR_UID - ) UC - ON UA.USR_UID = UC.USR_UID - SET - UA.USR_TOTAL_INBOX = UC.USR_TOTAL_INBOX, - UA.USR_TOTAL_DRAFT = UC.USR_TOTAL_DRAFT, - UA.USR_TOTAL_CANCELLED = UC.USR_TOTAL_CANCELLED, - UA.USR_TOTAL_PARTICIPATED = UC.USR_TOTAL_PARTICIPATED, - UA.USR_TOTAL_COMPLETED = UC.USR_TOTAL_COMPLETED'; - $con = Propel::getConnection("workflow"); - $stmt = $con->createStatement(); - $stmt->executeQuery($query); - // Updating PAUSED and UNASSIGNED Cases - $aTypes = array( - 'paused', - 'selfservice' - ); - $users = new Users(); - $criteria = new Criteria(); - $criteria->addSelectColumn(UsersPeer::USR_UID); - $dataset = UsersPeer::doSelectRS($criteria); - $dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); - while($dataset->next()) { - $aRow = $dataset->getRow(); - $oAppCache = new AppCacheView(); - $aCount = $oAppCache->getAllCounters($aTypes, $aRow['USR_UID'], false); - $newData = array( - 'USR_UID' => $aRow['USR_UID'], - 'USR_TOTAL_PAUSED' => $aCount['paused'], - 'USR_TOTAL_UNASSIGNED' => $aCount['selfservice'] - ); - $users->update($newData); - } - } - /** * This function checks if List tables are going to migrated * diff --git a/workflow/engine/classes/model/ListCanceled.php b/workflow/engine/classes/model/ListCanceled.php index a581c1c1c..c869354d9 100644 --- a/workflow/engine/classes/model/ListCanceled.php +++ b/workflow/engine/classes/model/ListCanceled.php @@ -97,9 +97,6 @@ class ListCanceled extends BaseListCanceled { $oListInbox = new ListInbox(); $oListInbox->removeAll($data['APP_UID']); - $users = new Users(); - $users->refreshTotal($data['USR_UID'], 'add', 'canceled'); - //Update - WHERE $criteriaWhere = new Criteria("workflow"); $criteriaWhere->add(ListParticipatedLastPeer::APP_UID, $data["APP_UID"], Criteria::EQUAL); diff --git a/workflow/engine/classes/model/ListCompleted.php b/workflow/engine/classes/model/ListCompleted.php index 4cf8c2afc..6d918cdb7 100644 --- a/workflow/engine/classes/model/ListCompleted.php +++ b/workflow/engine/classes/model/ListCompleted.php @@ -97,34 +97,6 @@ class ListCompleted extends BaseListCompleted $criteriaSet->add(ListParticipatedLastPeer::APP_STATUS, 'COMPLETED'); BasePeer::doUpdate($criteriaWhere, $criteriaSet, Propel::getConnection("workflow")); - $users = new Users(); - if($data['USR_UID'] != ''){ - $users->refreshTotal($data['USR_UID'], 'add', 'completed'); - } - if ($data['DEL_PREVIOUS'] != 0) { - $criteria = new Criteria(); - $criteria->addSelectColumn(TaskPeer::TAS_TYPE); - $criteria->add( TaskPeer::TAS_UID, $data['TAS_UID'], Criteria::EQUAL ); - $dataset = TaskPeer::doSelectRS($criteria); - $dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); - $dataset->next(); - $aRow = $dataset->getRow(); - if ($aRow['TAS_TYPE'] != 'SUBPROCESS') { - //$users->refreshTotal($data['USR_UID'], 'remove', 'inbox'); - } - } else { - $criteria = new Criteria(); - $criteria->addSelectColumn(SubApplicationPeer::APP_UID); - $criteria->add( SubApplicationPeer::APP_UID, $data['APP_UID'], Criteria::EQUAL ); - $dataset = SubApplicationPeer::doSelectRS($criteria); - $dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); - if ($dataset->next()) { - //$users->refreshTotal($data['USR_UID'], 'remove', 'inbox'); - } else { - //$users->refreshTotal($data['USR_UID'], 'remove', 'draft'); - } - } - $con = Propel::getConnection( ListCompletedPeer::DATABASE_NAME ); try { $this->fromArray( $data, BasePeer::TYPE_FIELDNAME ); diff --git a/workflow/engine/classes/model/ListInbox.php b/workflow/engine/classes/model/ListInbox.php index f91f23c94..6ac2d14d9 100644 --- a/workflow/engine/classes/model/ListInbox.php +++ b/workflow/engine/classes/model/ListInbox.php @@ -63,8 +63,6 @@ class ListInbox extends BaseListInbox $oCriteria->add(ListParticipatedLastPeer::APP_UID, $data['APP_UID']); $oCriteria->add(ListParticipatedLastPeer::USR_UID, $data['USR_UID']); ListParticipatedLastPeer::doDelete($oCriteria); - $users = new Users(); - $users->refreshTotal($data['USR_UID'], 'removed', 'participated'); } $listParticipatedLast = new ListParticipatedLast(); @@ -110,17 +108,12 @@ class ListInbox extends BaseListInbox $data['APP_TITLE'] = G::replaceDataField($data['APP_TITLE'], $aData['APP_DATA']); } if ($isSelfService) { - $users = new Users(); - $users->refreshTotal($data['USR_UID'], 'add', 'inbox'); - $listParticipatedLast = new ListParticipatedLast(); $listParticipatedLast->remove($data['APP_UID'], $data['USR_UID'], $data['DEL_INDEX']); - //Update //Update - SET $criteriaSet = new Criteria("workflow"); $criteriaSet->add(ListParticipatedLastPeer::USR_UID, $data["USR_UID"]); - //Update - WHERE $criteriaWhere = new Criteria("workflow"); $criteriaWhere->add(ListParticipatedLastPeer::APP_UID, $data["APP_UID"], Criteria::EQUAL); @@ -132,8 +125,6 @@ class ListInbox extends BaseListInbox //Update $listParticipatedLast = new ListParticipatedLast(); $listParticipatedLast->refresh($data); - $users = new Users(); - $users->refreshTotal($data['USR_UID'], 'add', 'participated'); } else { if (isset($data["APP_UID"]) && isset($data["USER_UID"]) && isset($data["DEL_INDEX"]) && isset($data["APP_TITLE"])) { //Update @@ -311,7 +302,6 @@ class ListInbox extends BaseListInbox $data['DEL_PREVIOUS_USR_LASTNAME'] = $aRow['USR_LASTNAME']; } - $users = new Users(); $criteria = new Criteria(); $criteria->addSelectColumn(SubApplicationPeer::DEL_INDEX_PARENT); $criteria->add( SubApplicationPeer::APP_PARENT, $data['APP_UID'], Criteria::EQUAL ); @@ -320,47 +310,11 @@ class ListInbox extends BaseListInbox if ($dataset->next()) { $aSub = $dataset->getRow(); if ($aSub['DEL_INDEX_PARENT'] == $data['DEL_PREVIOUS'] && !$isSelfService) { - $users->refreshTotal($data['USR_UID'], 'add', 'inbox'); self::create($data, $isSelfService); return 1; } } - if (!$isInitSubprocess) { - if ($data['APP_STATUS'] == 'DRAFT') { - $users->refreshTotal($data['USR_UID'], 'add', 'draft'); - } else { - $oRow = ApplicationPeer::retrieveByPK($data['APP_UID']); - $aFields = $oRow->toArray( BasePeer::TYPE_FIELDNAME ); - if ($removeList) { - if ($data['DEL_INDEX'] == 2 || $aFields['APP_STATUS'] == 'DRAFT') { - $criteria = new Criteria(); - $criteria->addSelectColumn(SubApplicationPeer::APP_UID); - $criteria->add( SubApplicationPeer::APP_UID, $data['APP_UID'], Criteria::EQUAL ); - $dataset = SubApplicationPeer::doSelectRS($criteria); - if ($dataset->next()) { - //$users->refreshTotal($delPreviusUsrUid, 'remove', 'inbox'); - } else { - //$users->refreshTotal($delPreviusUsrUid, 'remove', 'draft'); - } - } else { - //$users->refreshTotal($delPreviusUsrUid, 'remove', 'inbox'); - } - } - if (!$isSelfService) { - $users->refreshTotal($data['USR_UID'], 'add', 'inbox'); - } - } - } else { - if($data['USR_UID'] !=''){ - $users->refreshTotal($data['USR_UID'], 'add', 'inbox'); - } - if ($dataPreviusApplication['APP_STATUS'] == 'DRAFT') { - //$users->refreshTotal($dataPreviusApplication['CURRENT_USER_UID'], 'remove', 'draft'); - } else { - //$users->refreshTotal($dataPreviusApplication['CURRENT_USER_UID'], 'remove', 'inbox'); - } - } if ($data['USR_UID'] != '') { $criteria = new Criteria(); $criteria->addSelectColumn(UsersPeer::USR_USERNAME); diff --git a/workflow/engine/classes/model/ListParticipatedLast.php b/workflow/engine/classes/model/ListParticipatedLast.php index 067b9c421..792147b60 100644 --- a/workflow/engine/classes/model/ListParticipatedLast.php +++ b/workflow/engine/classes/model/ListParticipatedLast.php @@ -50,9 +50,6 @@ class ListParticipatedLast extends BaseListParticipatedLast $data['DEL_CURRENT_USR_FIRSTNAME'] = $aRow['USR_FIRSTNAME']; $data['DEL_CURRENT_USR_LASTNAME'] = $aRow['USR_LASTNAME']; $data['DEL_CURRENT_TAS_TITLE'] = $data['APP_TAS_TITLE']; - - $users = new Users(); - $users->refreshTotal($data['USR_UID'], 'add', 'participated'); } } else { $getData['USR_UID'] = $data['USR_UID_CURRENT']; @@ -170,17 +167,13 @@ class ListParticipatedLast extends BaseListParticipatedLast public function remove ($app_uid, $usr_uid, $del_index) { try { - $flagDelete = false; - if (!is_null(ListParticipatedLastPeer::retrieveByPK($app_uid, $usr_uid, $del_index))) { $criteria = new Criteria("workflow"); $criteria->add(ListParticipatedLastPeer::APP_UID, $app_uid); $criteria->add(ListParticipatedLastPeer::USR_UID, $usr_uid); $criteria->add(ListParticipatedLastPeer::DEL_INDEX, $del_index); - $result = ListParticipatedLastPeer::doDelete($criteria); - $flagDelete = true; } else { $criteria = new Criteria("workflow"); $criteria->add(ListParticipatedLastPeer::APP_UID, $app_uid); @@ -190,14 +183,8 @@ class ListParticipatedLast extends BaseListParticipatedLast if ($rsCriteria->next()) { $criteria2 = clone $criteria; $result = ListParticipatedLastPeer::doDelete($criteria2); - $flagDelete = true; } } - - if ($flagDelete) { - $user = new Users(); - $user->refreshTotal($usr_uid, "removed", "participated"); - } } catch (Exception $e) { throw $e; } diff --git a/workflow/engine/classes/model/ListPaused.php b/workflow/engine/classes/model/ListPaused.php index d259d48e1..682fefba5 100644 --- a/workflow/engine/classes/model/ListPaused.php +++ b/workflow/engine/classes/model/ListPaused.php @@ -112,9 +112,6 @@ class ListPaused extends BaseListPaused { $oListInbox = new ListInbox(); $oListInbox->remove($data['APP_UID'], $data['DEL_INDEX']); - $users = new Users(); - $users->refreshTotal($data['USR_UID'], 'add', 'paused'); - $con = Propel::getConnection( ListPausedPeer::DATABASE_NAME ); try { $this->fromArray( $data, BasePeer::TYPE_FIELDNAME ); @@ -171,9 +168,6 @@ class ListPaused extends BaseListPaused { */ public function remove ($app_uid, $del_index, $data_inbox) { - $users = new Users(); - $users->refreshTotal($data_inbox['USR_UID'], 'removed', 'paused'); - $oRow = ApplicationPeer::retrieveByPK($app_uid); $aFields = $oRow->toArray( BasePeer::TYPE_FIELDNAME ); $data_inbox['APP_STATUS'] = $aFields['APP_STATUS']; diff --git a/workflow/engine/classes/model/Users.php b/workflow/engine/classes/model/Users.php index 4dcfa7592..1be2327cc 100755 --- a/workflow/engine/classes/model/Users.php +++ b/workflow/engine/classes/model/Users.php @@ -445,62 +445,17 @@ class Users extends BaseUsers return $aFields; } - public function refreshTotal ($userId, $type = 'add', $list = "inbox", $total = 1) + /** + * @Deprecated + * @param $userId + * @param string $type + * @param string $list + * @param int $total + * @throws Exception + */ + public function refreshTotal($userId, $type = 'add', $list = "inbox", $total = 1) { - if ($userId == "") { - return; - } - - $nameList = self::getNameTotal($list); - $criteria = new Criteria(); - $criteria->addSelectColumn( $nameList ); - $criteria->add( UsersPeer::USR_UID, $userId, Criteria::EQUAL ); - $dataset = ApplicationPeer::doSelectRS($criteria); - $dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); - $dataset->next(); - $aRow = $dataset->getRow(); - - $num = $aRow[$nameList]; - if ($type == 'add') { - $num++; - } else { - $num--; - } - - $data = array( - 'USR_UID' => $userId, - $nameList => $num - ); - self::update($data); - } - - public function getNameTotal($list = "inbox") - { - switch ($list) { - case 'draft': - $return = 'USR_TOTAL_DRAFT'; - break; - case 'canceled': - $return = 'USR_TOTAL_CANCELLED'; - break; - case 'participated': - $return = 'USR_TOTAL_PARTICIPATED'; - break; - case 'paused': - $return = 'USR_TOTAL_PAUSED'; - break; - case 'completed': - $return = 'USR_TOTAL_COMPLETED'; - break; - case 'unassigned': - $return = 'USR_TOTAL_UNASSIGNED'; - break; - case 'inbox': - default: - $return = 'USR_TOTAL_INBOX'; - break; - } - return $return; + throw new Exception("This method (refreshTotal) is no longer in use. Please remove reference."); } public function userLanguaje ($usrUid = "") diff --git a/workflow/engine/classes/model/map/UsersMapBuilder.php b/workflow/engine/classes/model/map/UsersMapBuilder.php index 691d382bd..5a29f64c2 100755 --- a/workflow/engine/classes/model/map/UsersMapBuilder.php +++ b/workflow/engine/classes/model/map/UsersMapBuilder.php @@ -117,20 +117,6 @@ class UsersMapBuilder $tMap->addColumn('USR_UX', 'UsrUx', 'string', CreoleTypes::VARCHAR, false, 128); - $tMap->addColumn('USR_TOTAL_INBOX', 'UsrTotalInbox', 'int', CreoleTypes::INTEGER, false, null); - - $tMap->addColumn('USR_TOTAL_DRAFT', 'UsrTotalDraft', 'int', CreoleTypes::INTEGER, false, null); - - $tMap->addColumn('USR_TOTAL_CANCELLED', 'UsrTotalCancelled', 'int', CreoleTypes::INTEGER, false, null); - - $tMap->addColumn('USR_TOTAL_PARTICIPATED', 'UsrTotalParticipated', 'int', CreoleTypes::INTEGER, false, null); - - $tMap->addColumn('USR_TOTAL_PAUSED', 'UsrTotalPaused', 'int', CreoleTypes::INTEGER, false, null); - - $tMap->addColumn('USR_TOTAL_COMPLETED', 'UsrTotalCompleted', 'int', CreoleTypes::INTEGER, false, null); - - $tMap->addColumn('USR_TOTAL_UNASSIGNED', 'UsrTotalUnassigned', 'int', CreoleTypes::INTEGER, false, null); - $tMap->addColumn('USR_COST_BY_HOUR', 'UsrCostByHour', 'double', CreoleTypes::DECIMAL, false, 7,2); $tMap->addColumn('USR_UNIT_COST', 'UsrUnitCost', 'string', CreoleTypes::VARCHAR, false, 50); diff --git a/workflow/engine/classes/model/om/BaseUsers.php b/workflow/engine/classes/model/om/BaseUsers.php index 3ea00affe..cccf314de 100755 --- a/workflow/engine/classes/model/om/BaseUsers.php +++ b/workflow/engine/classes/model/om/BaseUsers.php @@ -183,48 +183,6 @@ abstract class BaseUsers extends BaseObject implements Persistent */ protected $usr_ux = 'NORMAL'; - /** - * The value for the usr_total_inbox field. - * @var int - */ - protected $usr_total_inbox = 0; - - /** - * The value for the usr_total_draft field. - * @var int - */ - protected $usr_total_draft = 0; - - /** - * The value for the usr_total_cancelled field. - * @var int - */ - protected $usr_total_cancelled = 0; - - /** - * The value for the usr_total_participated field. - * @var int - */ - protected $usr_total_participated = 0; - - /** - * The value for the usr_total_paused field. - * @var int - */ - protected $usr_total_paused = 0; - - /** - * The value for the usr_total_completed field. - * @var int - */ - protected $usr_total_completed = 0; - - /** - * The value for the usr_total_unassigned field. - * @var int - */ - protected $usr_total_unassigned = 0; - /** * The value for the usr_cost_by_hour field. * @var double @@ -645,83 +603,6 @@ abstract class BaseUsers extends BaseObject implements Persistent return $this->usr_ux; } - /** - * Get the [usr_total_inbox] column value. - * - * @return int - */ - public function getUsrTotalInbox() - { - - return $this->usr_total_inbox; - } - - /** - * Get the [usr_total_draft] column value. - * - * @return int - */ - public function getUsrTotalDraft() - { - - return $this->usr_total_draft; - } - - /** - * Get the [usr_total_cancelled] column value. - * - * @return int - */ - public function getUsrTotalCancelled() - { - - return $this->usr_total_cancelled; - } - - /** - * Get the [usr_total_participated] column value. - * - * @return int - */ - public function getUsrTotalParticipated() - { - - return $this->usr_total_participated; - } - - /** - * Get the [usr_total_paused] column value. - * - * @return int - */ - public function getUsrTotalPaused() - { - - return $this->usr_total_paused; - } - - /** - * Get the [usr_total_completed] column value. - * - * @return int - */ - public function getUsrTotalCompleted() - { - - return $this->usr_total_completed; - } - - /** - * Get the [usr_total_unassigned] column value. - * - * @return int - */ - public function getUsrTotalUnassigned() - { - - return $this->usr_total_unassigned; - } - /** * Get the [usr_cost_by_hour] column value. * @@ -1388,160 +1269,6 @@ abstract class BaseUsers extends BaseObject implements Persistent } // setUsrUx() - /** - * Set the value of [usr_total_inbox] column. - * - * @param int $v new value - * @return void - */ - public function setUsrTotalInbox($v) - { - - // Since the native PHP type for this column is integer, - // we will cast the input value to an int (if it is not). - if ($v !== null && !is_int($v) && is_numeric($v)) { - $v = (int) $v; - } - - if ($this->usr_total_inbox !== $v || $v === 0) { - $this->usr_total_inbox = $v; - $this->modifiedColumns[] = UsersPeer::USR_TOTAL_INBOX; - } - - } // setUsrTotalInbox() - - /** - * Set the value of [usr_total_draft] column. - * - * @param int $v new value - * @return void - */ - public function setUsrTotalDraft($v) - { - - // Since the native PHP type for this column is integer, - // we will cast the input value to an int (if it is not). - if ($v !== null && !is_int($v) && is_numeric($v)) { - $v = (int) $v; - } - - if ($this->usr_total_draft !== $v || $v === 0) { - $this->usr_total_draft = $v; - $this->modifiedColumns[] = UsersPeer::USR_TOTAL_DRAFT; - } - - } // setUsrTotalDraft() - - /** - * Set the value of [usr_total_cancelled] column. - * - * @param int $v new value - * @return void - */ - public function setUsrTotalCancelled($v) - { - - // Since the native PHP type for this column is integer, - // we will cast the input value to an int (if it is not). - if ($v !== null && !is_int($v) && is_numeric($v)) { - $v = (int) $v; - } - - if ($this->usr_total_cancelled !== $v || $v === 0) { - $this->usr_total_cancelled = $v; - $this->modifiedColumns[] = UsersPeer::USR_TOTAL_CANCELLED; - } - - } // setUsrTotalCancelled() - - /** - * Set the value of [usr_total_participated] column. - * - * @param int $v new value - * @return void - */ - public function setUsrTotalParticipated($v) - { - - // Since the native PHP type for this column is integer, - // we will cast the input value to an int (if it is not). - if ($v !== null && !is_int($v) && is_numeric($v)) { - $v = (int) $v; - } - - if ($this->usr_total_participated !== $v || $v === 0) { - $this->usr_total_participated = $v; - $this->modifiedColumns[] = UsersPeer::USR_TOTAL_PARTICIPATED; - } - - } // setUsrTotalParticipated() - - /** - * Set the value of [usr_total_paused] column. - * - * @param int $v new value - * @return void - */ - public function setUsrTotalPaused($v) - { - - // Since the native PHP type for this column is integer, - // we will cast the input value to an int (if it is not). - if ($v !== null && !is_int($v) && is_numeric($v)) { - $v = (int) $v; - } - - if ($this->usr_total_paused !== $v || $v === 0) { - $this->usr_total_paused = $v; - $this->modifiedColumns[] = UsersPeer::USR_TOTAL_PAUSED; - } - - } // setUsrTotalPaused() - - /** - * Set the value of [usr_total_completed] column. - * - * @param int $v new value - * @return void - */ - public function setUsrTotalCompleted($v) - { - - // Since the native PHP type for this column is integer, - // we will cast the input value to an int (if it is not). - if ($v !== null && !is_int($v) && is_numeric($v)) { - $v = (int) $v; - } - - if ($this->usr_total_completed !== $v || $v === 0) { - $this->usr_total_completed = $v; - $this->modifiedColumns[] = UsersPeer::USR_TOTAL_COMPLETED; - } - - } // setUsrTotalCompleted() - - /** - * Set the value of [usr_total_unassigned] column. - * - * @param int $v new value - * @return void - */ - public function setUsrTotalUnassigned($v) - { - - // Since the native PHP type for this column is integer, - // we will cast the input value to an int (if it is not). - if ($v !== null && !is_int($v) && is_numeric($v)) { - $v = (int) $v; - } - - if ($this->usr_total_unassigned !== $v || $v === 0) { - $this->usr_total_unassigned = $v; - $this->modifiedColumns[] = UsersPeer::USR_TOTAL_UNASSIGNED; - } - - } // setUsrTotalUnassigned() - /** * Set the value of [usr_cost_by_hour] column. * @@ -1737,38 +1464,24 @@ abstract class BaseUsers extends BaseObject implements Persistent $this->usr_ux = $rs->getString($startcol + 25); - $this->usr_total_inbox = $rs->getInt($startcol + 26); + $this->usr_cost_by_hour = $rs->getFloat($startcol + 26); - $this->usr_total_draft = $rs->getInt($startcol + 27); + $this->usr_unit_cost = $rs->getString($startcol + 27); - $this->usr_total_cancelled = $rs->getInt($startcol + 28); + $this->usr_pmdrive_folder_uid = $rs->getString($startcol + 28); - $this->usr_total_participated = $rs->getInt($startcol + 29); + $this->usr_bookmark_start_cases = $rs->getString($startcol + 29); - $this->usr_total_paused = $rs->getInt($startcol + 30); + $this->usr_time_zone = $rs->getString($startcol + 30); - $this->usr_total_completed = $rs->getInt($startcol + 31); - - $this->usr_total_unassigned = $rs->getInt($startcol + 32); - - $this->usr_cost_by_hour = $rs->getFloat($startcol + 33); - - $this->usr_unit_cost = $rs->getString($startcol + 34); - - $this->usr_pmdrive_folder_uid = $rs->getString($startcol + 35); - - $this->usr_bookmark_start_cases = $rs->getString($startcol + 36); - - $this->usr_time_zone = $rs->getString($startcol + 37); - - $this->usr_default_lang = $rs->getString($startcol + 38); + $this->usr_default_lang = $rs->getString($startcol + 31); $this->resetModified(); $this->setNew(false); // FIXME - using NUM_COLUMNS may be clearer. - return $startcol + 39; // 39 = UsersPeer::NUM_COLUMNS - UsersPeer::NUM_LAZY_LOAD_COLUMNS). + return $startcol + 32; // 32 = UsersPeer::NUM_COLUMNS - UsersPeer::NUM_LAZY_LOAD_COLUMNS). } catch (Exception $e) { throw new PropelException("Error populating Users object", $e); @@ -2051,42 +1764,21 @@ abstract class BaseUsers extends BaseObject implements Persistent return $this->getUsrUx(); break; case 26: - return $this->getUsrTotalInbox(); - break; - case 27: - return $this->getUsrTotalDraft(); - break; - case 28: - return $this->getUsrTotalCancelled(); - break; - case 29: - return $this->getUsrTotalParticipated(); - break; - case 30: - return $this->getUsrTotalPaused(); - break; - case 31: - return $this->getUsrTotalCompleted(); - break; - case 32: - return $this->getUsrTotalUnassigned(); - break; - case 33: return $this->getUsrCostByHour(); break; - case 34: + case 27: return $this->getUsrUnitCost(); break; - case 35: + case 28: return $this->getUsrPmdriveFolderUid(); break; - case 36: + case 29: return $this->getUsrBookmarkStartCases(); break; - case 37: + case 30: return $this->getUsrTimeZone(); break; - case 38: + case 31: return $this->getUsrDefaultLang(); break; default: @@ -2135,19 +1827,12 @@ abstract class BaseUsers extends BaseObject implements Persistent $keys[23] => $this->getUsrReportsTo(), $keys[24] => $this->getUsrReplacedBy(), $keys[25] => $this->getUsrUx(), - $keys[26] => $this->getUsrTotalInbox(), - $keys[27] => $this->getUsrTotalDraft(), - $keys[28] => $this->getUsrTotalCancelled(), - $keys[29] => $this->getUsrTotalParticipated(), - $keys[30] => $this->getUsrTotalPaused(), - $keys[31] => $this->getUsrTotalCompleted(), - $keys[32] => $this->getUsrTotalUnassigned(), - $keys[33] => $this->getUsrCostByHour(), - $keys[34] => $this->getUsrUnitCost(), - $keys[35] => $this->getUsrPmdriveFolderUid(), - $keys[36] => $this->getUsrBookmarkStartCases(), - $keys[37] => $this->getUsrTimeZone(), - $keys[38] => $this->getUsrDefaultLang(), + $keys[26] => $this->getUsrCostByHour(), + $keys[27] => $this->getUsrUnitCost(), + $keys[28] => $this->getUsrPmdriveFolderUid(), + $keys[29] => $this->getUsrBookmarkStartCases(), + $keys[30] => $this->getUsrTimeZone(), + $keys[31] => $this->getUsrDefaultLang(), ); return $result; } @@ -2258,42 +1943,21 @@ abstract class BaseUsers extends BaseObject implements Persistent $this->setUsrUx($value); break; case 26: - $this->setUsrTotalInbox($value); - break; - case 27: - $this->setUsrTotalDraft($value); - break; - case 28: - $this->setUsrTotalCancelled($value); - break; - case 29: - $this->setUsrTotalParticipated($value); - break; - case 30: - $this->setUsrTotalPaused($value); - break; - case 31: - $this->setUsrTotalCompleted($value); - break; - case 32: - $this->setUsrTotalUnassigned($value); - break; - case 33: $this->setUsrCostByHour($value); break; - case 34: + case 27: $this->setUsrUnitCost($value); break; - case 35: + case 28: $this->setUsrPmdriveFolderUid($value); break; - case 36: + case 29: $this->setUsrBookmarkStartCases($value); break; - case 37: + case 30: $this->setUsrTimeZone($value); break; - case 38: + case 31: $this->setUsrDefaultLang($value); break; } // switch() @@ -2424,55 +2088,27 @@ abstract class BaseUsers extends BaseObject implements Persistent } if (array_key_exists($keys[26], $arr)) { - $this->setUsrTotalInbox($arr[$keys[26]]); + $this->setUsrCostByHour($arr[$keys[26]]); } if (array_key_exists($keys[27], $arr)) { - $this->setUsrTotalDraft($arr[$keys[27]]); + $this->setUsrUnitCost($arr[$keys[27]]); } if (array_key_exists($keys[28], $arr)) { - $this->setUsrTotalCancelled($arr[$keys[28]]); + $this->setUsrPmdriveFolderUid($arr[$keys[28]]); } if (array_key_exists($keys[29], $arr)) { - $this->setUsrTotalParticipated($arr[$keys[29]]); + $this->setUsrBookmarkStartCases($arr[$keys[29]]); } if (array_key_exists($keys[30], $arr)) { - $this->setUsrTotalPaused($arr[$keys[30]]); + $this->setUsrTimeZone($arr[$keys[30]]); } if (array_key_exists($keys[31], $arr)) { - $this->setUsrTotalCompleted($arr[$keys[31]]); - } - - if (array_key_exists($keys[32], $arr)) { - $this->setUsrTotalUnassigned($arr[$keys[32]]); - } - - if (array_key_exists($keys[33], $arr)) { - $this->setUsrCostByHour($arr[$keys[33]]); - } - - if (array_key_exists($keys[34], $arr)) { - $this->setUsrUnitCost($arr[$keys[34]]); - } - - if (array_key_exists($keys[35], $arr)) { - $this->setUsrPmdriveFolderUid($arr[$keys[35]]); - } - - if (array_key_exists($keys[36], $arr)) { - $this->setUsrBookmarkStartCases($arr[$keys[36]]); - } - - if (array_key_exists($keys[37], $arr)) { - $this->setUsrTimeZone($arr[$keys[37]]); - } - - if (array_key_exists($keys[38], $arr)) { - $this->setUsrDefaultLang($arr[$keys[38]]); + $this->setUsrDefaultLang($arr[$keys[31]]); } } @@ -2590,34 +2226,6 @@ abstract class BaseUsers extends BaseObject implements Persistent $criteria->add(UsersPeer::USR_UX, $this->usr_ux); } - if ($this->isColumnModified(UsersPeer::USR_TOTAL_INBOX)) { - $criteria->add(UsersPeer::USR_TOTAL_INBOX, $this->usr_total_inbox); - } - - if ($this->isColumnModified(UsersPeer::USR_TOTAL_DRAFT)) { - $criteria->add(UsersPeer::USR_TOTAL_DRAFT, $this->usr_total_draft); - } - - if ($this->isColumnModified(UsersPeer::USR_TOTAL_CANCELLED)) { - $criteria->add(UsersPeer::USR_TOTAL_CANCELLED, $this->usr_total_cancelled); - } - - if ($this->isColumnModified(UsersPeer::USR_TOTAL_PARTICIPATED)) { - $criteria->add(UsersPeer::USR_TOTAL_PARTICIPATED, $this->usr_total_participated); - } - - if ($this->isColumnModified(UsersPeer::USR_TOTAL_PAUSED)) { - $criteria->add(UsersPeer::USR_TOTAL_PAUSED, $this->usr_total_paused); - } - - if ($this->isColumnModified(UsersPeer::USR_TOTAL_COMPLETED)) { - $criteria->add(UsersPeer::USR_TOTAL_COMPLETED, $this->usr_total_completed); - } - - if ($this->isColumnModified(UsersPeer::USR_TOTAL_UNASSIGNED)) { - $criteria->add(UsersPeer::USR_TOTAL_UNASSIGNED, $this->usr_total_unassigned); - } - if ($this->isColumnModified(UsersPeer::USR_COST_BY_HOUR)) { $criteria->add(UsersPeer::USR_COST_BY_HOUR, $this->usr_cost_by_hour); } @@ -2746,20 +2354,6 @@ abstract class BaseUsers extends BaseObject implements Persistent $copyObj->setUsrUx($this->usr_ux); - $copyObj->setUsrTotalInbox($this->usr_total_inbox); - - $copyObj->setUsrTotalDraft($this->usr_total_draft); - - $copyObj->setUsrTotalCancelled($this->usr_total_cancelled); - - $copyObj->setUsrTotalParticipated($this->usr_total_participated); - - $copyObj->setUsrTotalPaused($this->usr_total_paused); - - $copyObj->setUsrTotalCompleted($this->usr_total_completed); - - $copyObj->setUsrTotalUnassigned($this->usr_total_unassigned); - $copyObj->setUsrCostByHour($this->usr_cost_by_hour); $copyObj->setUsrUnitCost($this->usr_unit_cost); diff --git a/workflow/engine/classes/model/om/BaseUsersPeer.php b/workflow/engine/classes/model/om/BaseUsersPeer.php index e40f43517..5ba08b14c 100755 --- a/workflow/engine/classes/model/om/BaseUsersPeer.php +++ b/workflow/engine/classes/model/om/BaseUsersPeer.php @@ -25,7 +25,7 @@ abstract class BaseUsersPeer const CLASS_DEFAULT = 'classes.model.Users'; /** The total number of columns. */ - const NUM_COLUMNS = 39; + const NUM_COLUMNS = 32; /** The number of lazy-loaded columns. */ const NUM_LAZY_LOAD_COLUMNS = 0; @@ -109,27 +109,6 @@ abstract class BaseUsersPeer /** the column name for the USR_UX field */ const USR_UX = 'USERS.USR_UX'; - /** the column name for the USR_TOTAL_INBOX field */ - const USR_TOTAL_INBOX = 'USERS.USR_TOTAL_INBOX'; - - /** the column name for the USR_TOTAL_DRAFT field */ - const USR_TOTAL_DRAFT = 'USERS.USR_TOTAL_DRAFT'; - - /** the column name for the USR_TOTAL_CANCELLED field */ - const USR_TOTAL_CANCELLED = 'USERS.USR_TOTAL_CANCELLED'; - - /** the column name for the USR_TOTAL_PARTICIPATED field */ - const USR_TOTAL_PARTICIPATED = 'USERS.USR_TOTAL_PARTICIPATED'; - - /** the column name for the USR_TOTAL_PAUSED field */ - const USR_TOTAL_PAUSED = 'USERS.USR_TOTAL_PAUSED'; - - /** the column name for the USR_TOTAL_COMPLETED field */ - const USR_TOTAL_COMPLETED = 'USERS.USR_TOTAL_COMPLETED'; - - /** the column name for the USR_TOTAL_UNASSIGNED field */ - const USR_TOTAL_UNASSIGNED = 'USERS.USR_TOTAL_UNASSIGNED'; - /** the column name for the USR_COST_BY_HOUR field */ const USR_COST_BY_HOUR = 'USERS.USR_COST_BY_HOUR'; @@ -159,10 +138,10 @@ abstract class BaseUsersPeer * e.g. self::$fieldNames[self::TYPE_PHPNAME][0] = 'Id' */ private static $fieldNames = array ( - BasePeer::TYPE_PHPNAME => array ('UsrUid', 'UsrUsername', 'UsrPassword', 'UsrFirstname', 'UsrLastname', 'UsrEmail', 'UsrDueDate', 'UsrCreateDate', 'UsrUpdateDate', 'UsrStatus', 'UsrCountry', 'UsrCity', 'UsrLocation', 'UsrAddress', 'UsrPhone', 'UsrFax', 'UsrCellular', 'UsrZipCode', 'DepUid', 'UsrPosition', 'UsrResume', 'UsrBirthday', 'UsrRole', 'UsrReportsTo', 'UsrReplacedBy', 'UsrUx', 'UsrTotalInbox', 'UsrTotalDraft', 'UsrTotalCancelled', 'UsrTotalParticipated', 'UsrTotalPaused', 'UsrTotalCompleted', 'UsrTotalUnassigned', 'UsrCostByHour', 'UsrUnitCost', 'UsrPmdriveFolderUid', 'UsrBookmarkStartCases', 'UsrTimeZone', 'UsrDefaultLang', ), - BasePeer::TYPE_COLNAME => array (UsersPeer::USR_UID, UsersPeer::USR_USERNAME, UsersPeer::USR_PASSWORD, UsersPeer::USR_FIRSTNAME, UsersPeer::USR_LASTNAME, UsersPeer::USR_EMAIL, UsersPeer::USR_DUE_DATE, UsersPeer::USR_CREATE_DATE, UsersPeer::USR_UPDATE_DATE, UsersPeer::USR_STATUS, UsersPeer::USR_COUNTRY, UsersPeer::USR_CITY, UsersPeer::USR_LOCATION, UsersPeer::USR_ADDRESS, UsersPeer::USR_PHONE, UsersPeer::USR_FAX, UsersPeer::USR_CELLULAR, UsersPeer::USR_ZIP_CODE, UsersPeer::DEP_UID, UsersPeer::USR_POSITION, UsersPeer::USR_RESUME, UsersPeer::USR_BIRTHDAY, UsersPeer::USR_ROLE, UsersPeer::USR_REPORTS_TO, UsersPeer::USR_REPLACED_BY, UsersPeer::USR_UX, UsersPeer::USR_TOTAL_INBOX, UsersPeer::USR_TOTAL_DRAFT, UsersPeer::USR_TOTAL_CANCELLED, UsersPeer::USR_TOTAL_PARTICIPATED, UsersPeer::USR_TOTAL_PAUSED, UsersPeer::USR_TOTAL_COMPLETED, UsersPeer::USR_TOTAL_UNASSIGNED, UsersPeer::USR_COST_BY_HOUR, UsersPeer::USR_UNIT_COST, UsersPeer::USR_PMDRIVE_FOLDER_UID, UsersPeer::USR_BOOKMARK_START_CASES, UsersPeer::USR_TIME_ZONE, UsersPeer::USR_DEFAULT_LANG, ), - BasePeer::TYPE_FIELDNAME => array ('USR_UID', 'USR_USERNAME', 'USR_PASSWORD', 'USR_FIRSTNAME', 'USR_LASTNAME', 'USR_EMAIL', 'USR_DUE_DATE', 'USR_CREATE_DATE', 'USR_UPDATE_DATE', 'USR_STATUS', 'USR_COUNTRY', 'USR_CITY', 'USR_LOCATION', 'USR_ADDRESS', 'USR_PHONE', 'USR_FAX', 'USR_CELLULAR', 'USR_ZIP_CODE', 'DEP_UID', 'USR_POSITION', 'USR_RESUME', 'USR_BIRTHDAY', 'USR_ROLE', 'USR_REPORTS_TO', 'USR_REPLACED_BY', 'USR_UX', 'USR_TOTAL_INBOX', 'USR_TOTAL_DRAFT', 'USR_TOTAL_CANCELLED', 'USR_TOTAL_PARTICIPATED', 'USR_TOTAL_PAUSED', 'USR_TOTAL_COMPLETED', 'USR_TOTAL_UNASSIGNED', 'USR_COST_BY_HOUR', 'USR_UNIT_COST', 'USR_PMDRIVE_FOLDER_UID', 'USR_BOOKMARK_START_CASES', 'USR_TIME_ZONE', 'USR_DEFAULT_LANG', ), - BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, ) + BasePeer::TYPE_PHPNAME => array ('UsrUid', 'UsrUsername', 'UsrPassword', 'UsrFirstname', 'UsrLastname', 'UsrEmail', 'UsrDueDate', 'UsrCreateDate', 'UsrUpdateDate', 'UsrStatus', 'UsrCountry', 'UsrCity', 'UsrLocation', 'UsrAddress', 'UsrPhone', 'UsrFax', 'UsrCellular', 'UsrZipCode', 'DepUid', 'UsrPosition', 'UsrResume', 'UsrBirthday', 'UsrRole', 'UsrReportsTo', 'UsrReplacedBy', 'UsrUx', 'UsrCostByHour', 'UsrUnitCost', 'UsrPmdriveFolderUid', 'UsrBookmarkStartCases', 'UsrTimeZone', 'UsrDefaultLang', ), + BasePeer::TYPE_COLNAME => array (UsersPeer::USR_UID, UsersPeer::USR_USERNAME, UsersPeer::USR_PASSWORD, UsersPeer::USR_FIRSTNAME, UsersPeer::USR_LASTNAME, UsersPeer::USR_EMAIL, UsersPeer::USR_DUE_DATE, UsersPeer::USR_CREATE_DATE, UsersPeer::USR_UPDATE_DATE, UsersPeer::USR_STATUS, UsersPeer::USR_COUNTRY, UsersPeer::USR_CITY, UsersPeer::USR_LOCATION, UsersPeer::USR_ADDRESS, UsersPeer::USR_PHONE, UsersPeer::USR_FAX, UsersPeer::USR_CELLULAR, UsersPeer::USR_ZIP_CODE, UsersPeer::DEP_UID, UsersPeer::USR_POSITION, UsersPeer::USR_RESUME, UsersPeer::USR_BIRTHDAY, UsersPeer::USR_ROLE, UsersPeer::USR_REPORTS_TO, UsersPeer::USR_REPLACED_BY, UsersPeer::USR_UX, UsersPeer::USR_COST_BY_HOUR, UsersPeer::USR_UNIT_COST, UsersPeer::USR_PMDRIVE_FOLDER_UID, UsersPeer::USR_BOOKMARK_START_CASES, UsersPeer::USR_TIME_ZONE, UsersPeer::USR_DEFAULT_LANG, ), + BasePeer::TYPE_FIELDNAME => array ('USR_UID', 'USR_USERNAME', 'USR_PASSWORD', 'USR_FIRSTNAME', 'USR_LASTNAME', 'USR_EMAIL', 'USR_DUE_DATE', 'USR_CREATE_DATE', 'USR_UPDATE_DATE', 'USR_STATUS', 'USR_COUNTRY', 'USR_CITY', 'USR_LOCATION', 'USR_ADDRESS', 'USR_PHONE', 'USR_FAX', 'USR_CELLULAR', 'USR_ZIP_CODE', 'DEP_UID', 'USR_POSITION', 'USR_RESUME', 'USR_BIRTHDAY', 'USR_ROLE', 'USR_REPORTS_TO', 'USR_REPLACED_BY', 'USR_UX', 'USR_COST_BY_HOUR', 'USR_UNIT_COST', 'USR_PMDRIVE_FOLDER_UID', 'USR_BOOKMARK_START_CASES', 'USR_TIME_ZONE', 'USR_DEFAULT_LANG', ), + BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, ) ); /** @@ -172,10 +151,10 @@ abstract class BaseUsersPeer * e.g. self::$fieldNames[BasePeer::TYPE_PHPNAME]['Id'] = 0 */ private static $fieldKeys = array ( - BasePeer::TYPE_PHPNAME => array ('UsrUid' => 0, 'UsrUsername' => 1, 'UsrPassword' => 2, 'UsrFirstname' => 3, 'UsrLastname' => 4, 'UsrEmail' => 5, 'UsrDueDate' => 6, 'UsrCreateDate' => 7, 'UsrUpdateDate' => 8, 'UsrStatus' => 9, 'UsrCountry' => 10, 'UsrCity' => 11, 'UsrLocation' => 12, 'UsrAddress' => 13, 'UsrPhone' => 14, 'UsrFax' => 15, 'UsrCellular' => 16, 'UsrZipCode' => 17, 'DepUid' => 18, 'UsrPosition' => 19, 'UsrResume' => 20, 'UsrBirthday' => 21, 'UsrRole' => 22, 'UsrReportsTo' => 23, 'UsrReplacedBy' => 24, 'UsrUx' => 25, 'UsrTotalInbox' => 26, 'UsrTotalDraft' => 27, 'UsrTotalCancelled' => 28, 'UsrTotalParticipated' => 29, 'UsrTotalPaused' => 30, 'UsrTotalCompleted' => 31, 'UsrTotalUnassigned' => 32, 'UsrCostByHour' => 33, 'UsrUnitCost' => 34, 'UsrPmdriveFolderUid' => 35, 'UsrBookmarkStartCases' => 36, 'UsrTimeZone' => 37, 'UsrDefaultLang' => 38, ), - BasePeer::TYPE_COLNAME => array (UsersPeer::USR_UID => 0, UsersPeer::USR_USERNAME => 1, UsersPeer::USR_PASSWORD => 2, UsersPeer::USR_FIRSTNAME => 3, UsersPeer::USR_LASTNAME => 4, UsersPeer::USR_EMAIL => 5, UsersPeer::USR_DUE_DATE => 6, UsersPeer::USR_CREATE_DATE => 7, UsersPeer::USR_UPDATE_DATE => 8, UsersPeer::USR_STATUS => 9, UsersPeer::USR_COUNTRY => 10, UsersPeer::USR_CITY => 11, UsersPeer::USR_LOCATION => 12, UsersPeer::USR_ADDRESS => 13, UsersPeer::USR_PHONE => 14, UsersPeer::USR_FAX => 15, UsersPeer::USR_CELLULAR => 16, UsersPeer::USR_ZIP_CODE => 17, UsersPeer::DEP_UID => 18, UsersPeer::USR_POSITION => 19, UsersPeer::USR_RESUME => 20, UsersPeer::USR_BIRTHDAY => 21, UsersPeer::USR_ROLE => 22, UsersPeer::USR_REPORTS_TO => 23, UsersPeer::USR_REPLACED_BY => 24, UsersPeer::USR_UX => 25, UsersPeer::USR_TOTAL_INBOX => 26, UsersPeer::USR_TOTAL_DRAFT => 27, UsersPeer::USR_TOTAL_CANCELLED => 28, UsersPeer::USR_TOTAL_PARTICIPATED => 29, UsersPeer::USR_TOTAL_PAUSED => 30, UsersPeer::USR_TOTAL_COMPLETED => 31, UsersPeer::USR_TOTAL_UNASSIGNED => 32, UsersPeer::USR_COST_BY_HOUR => 33, UsersPeer::USR_UNIT_COST => 34, UsersPeer::USR_PMDRIVE_FOLDER_UID => 35, UsersPeer::USR_BOOKMARK_START_CASES => 36, UsersPeer::USR_TIME_ZONE => 37, UsersPeer::USR_DEFAULT_LANG => 38, ), - BasePeer::TYPE_FIELDNAME => array ('USR_UID' => 0, 'USR_USERNAME' => 1, 'USR_PASSWORD' => 2, 'USR_FIRSTNAME' => 3, 'USR_LASTNAME' => 4, 'USR_EMAIL' => 5, 'USR_DUE_DATE' => 6, 'USR_CREATE_DATE' => 7, 'USR_UPDATE_DATE' => 8, 'USR_STATUS' => 9, 'USR_COUNTRY' => 10, 'USR_CITY' => 11, 'USR_LOCATION' => 12, 'USR_ADDRESS' => 13, 'USR_PHONE' => 14, 'USR_FAX' => 15, 'USR_CELLULAR' => 16, 'USR_ZIP_CODE' => 17, 'DEP_UID' => 18, 'USR_POSITION' => 19, 'USR_RESUME' => 20, 'USR_BIRTHDAY' => 21, 'USR_ROLE' => 22, 'USR_REPORTS_TO' => 23, 'USR_REPLACED_BY' => 24, 'USR_UX' => 25, 'USR_TOTAL_INBOX' => 26, 'USR_TOTAL_DRAFT' => 27, 'USR_TOTAL_CANCELLED' => 28, 'USR_TOTAL_PARTICIPATED' => 29, 'USR_TOTAL_PAUSED' => 30, 'USR_TOTAL_COMPLETED' => 31, 'USR_TOTAL_UNASSIGNED' => 32, 'USR_COST_BY_HOUR' => 33, 'USR_UNIT_COST' => 34, 'USR_PMDRIVE_FOLDER_UID' => 35, 'USR_BOOKMARK_START_CASES' => 36, 'USR_TIME_ZONE' => 37, 'USR_DEFAULT_LANG' => 38, ), - BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, ) + BasePeer::TYPE_PHPNAME => array ('UsrUid' => 0, 'UsrUsername' => 1, 'UsrPassword' => 2, 'UsrFirstname' => 3, 'UsrLastname' => 4, 'UsrEmail' => 5, 'UsrDueDate' => 6, 'UsrCreateDate' => 7, 'UsrUpdateDate' => 8, 'UsrStatus' => 9, 'UsrCountry' => 10, 'UsrCity' => 11, 'UsrLocation' => 12, 'UsrAddress' => 13, 'UsrPhone' => 14, 'UsrFax' => 15, 'UsrCellular' => 16, 'UsrZipCode' => 17, 'DepUid' => 18, 'UsrPosition' => 19, 'UsrResume' => 20, 'UsrBirthday' => 21, 'UsrRole' => 22, 'UsrReportsTo' => 23, 'UsrReplacedBy' => 24, 'UsrUx' => 25, 'UsrCostByHour' => 26, 'UsrUnitCost' => 27, 'UsrPmdriveFolderUid' => 28, 'UsrBookmarkStartCases' => 29, 'UsrTimeZone' => 30, 'UsrDefaultLang' => 31, ), + BasePeer::TYPE_COLNAME => array (UsersPeer::USR_UID => 0, UsersPeer::USR_USERNAME => 1, UsersPeer::USR_PASSWORD => 2, UsersPeer::USR_FIRSTNAME => 3, UsersPeer::USR_LASTNAME => 4, UsersPeer::USR_EMAIL => 5, UsersPeer::USR_DUE_DATE => 6, UsersPeer::USR_CREATE_DATE => 7, UsersPeer::USR_UPDATE_DATE => 8, UsersPeer::USR_STATUS => 9, UsersPeer::USR_COUNTRY => 10, UsersPeer::USR_CITY => 11, UsersPeer::USR_LOCATION => 12, UsersPeer::USR_ADDRESS => 13, UsersPeer::USR_PHONE => 14, UsersPeer::USR_FAX => 15, UsersPeer::USR_CELLULAR => 16, UsersPeer::USR_ZIP_CODE => 17, UsersPeer::DEP_UID => 18, UsersPeer::USR_POSITION => 19, UsersPeer::USR_RESUME => 20, UsersPeer::USR_BIRTHDAY => 21, UsersPeer::USR_ROLE => 22, UsersPeer::USR_REPORTS_TO => 23, UsersPeer::USR_REPLACED_BY => 24, UsersPeer::USR_UX => 25, UsersPeer::USR_COST_BY_HOUR => 26, UsersPeer::USR_UNIT_COST => 27, UsersPeer::USR_PMDRIVE_FOLDER_UID => 28, UsersPeer::USR_BOOKMARK_START_CASES => 29, UsersPeer::USR_TIME_ZONE => 30, UsersPeer::USR_DEFAULT_LANG => 31, ), + BasePeer::TYPE_FIELDNAME => array ('USR_UID' => 0, 'USR_USERNAME' => 1, 'USR_PASSWORD' => 2, 'USR_FIRSTNAME' => 3, 'USR_LASTNAME' => 4, 'USR_EMAIL' => 5, 'USR_DUE_DATE' => 6, 'USR_CREATE_DATE' => 7, 'USR_UPDATE_DATE' => 8, 'USR_STATUS' => 9, 'USR_COUNTRY' => 10, 'USR_CITY' => 11, 'USR_LOCATION' => 12, 'USR_ADDRESS' => 13, 'USR_PHONE' => 14, 'USR_FAX' => 15, 'USR_CELLULAR' => 16, 'USR_ZIP_CODE' => 17, 'DEP_UID' => 18, 'USR_POSITION' => 19, 'USR_RESUME' => 20, 'USR_BIRTHDAY' => 21, 'USR_ROLE' => 22, 'USR_REPORTS_TO' => 23, 'USR_REPLACED_BY' => 24, 'USR_UX' => 25, 'USR_COST_BY_HOUR' => 26, 'USR_UNIT_COST' => 27, 'USR_PMDRIVE_FOLDER_UID' => 28, 'USR_BOOKMARK_START_CASES' => 29, 'USR_TIME_ZONE' => 30, 'USR_DEFAULT_LANG' => 31, ), + BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, ) ); /** @@ -328,20 +307,6 @@ abstract class BaseUsersPeer $criteria->addSelectColumn(UsersPeer::USR_UX); - $criteria->addSelectColumn(UsersPeer::USR_TOTAL_INBOX); - - $criteria->addSelectColumn(UsersPeer::USR_TOTAL_DRAFT); - - $criteria->addSelectColumn(UsersPeer::USR_TOTAL_CANCELLED); - - $criteria->addSelectColumn(UsersPeer::USR_TOTAL_PARTICIPATED); - - $criteria->addSelectColumn(UsersPeer::USR_TOTAL_PAUSED); - - $criteria->addSelectColumn(UsersPeer::USR_TOTAL_COMPLETED); - - $criteria->addSelectColumn(UsersPeer::USR_TOTAL_UNASSIGNED); - $criteria->addSelectColumn(UsersPeer::USR_COST_BY_HOUR); $criteria->addSelectColumn(UsersPeer::USR_UNIT_COST); diff --git a/workflow/engine/config/schema.xml b/workflow/engine/config/schema.xml index 96e902bcc..02d781303 100755 --- a/workflow/engine/config/schema.xml +++ b/workflow/engine/config/schema.xml @@ -1536,13 +1536,6 @@ - - - - - - - diff --git a/workflow/engine/data/mysql/schema.sql b/workflow/engine/data/mysql/schema.sql index 4addde059..937b32503 100755 --- a/workflow/engine/data/mysql/schema.sql +++ b/workflow/engine/data/mysql/schema.sql @@ -743,13 +743,6 @@ CREATE TABLE `USERS` `USR_REPORTS_TO` VARCHAR(32) default '', `USR_REPLACED_BY` VARCHAR(32) default '', `USR_UX` VARCHAR(128) default 'NORMAL', - `USR_TOTAL_INBOX` INTEGER default 0, - `USR_TOTAL_DRAFT` INTEGER default 0, - `USR_TOTAL_CANCELLED` INTEGER default 0, - `USR_TOTAL_PARTICIPATED` INTEGER default 0, - `USR_TOTAL_PAUSED` INTEGER default 0, - `USR_TOTAL_COMPLETED` INTEGER default 0, - `USR_TOTAL_UNASSIGNED` INTEGER default 0, `USR_COST_BY_HOUR` DECIMAL(7,2) default 0, `USR_UNIT_COST` VARCHAR(50) default '', `USR_PMDRIVE_FOLDER_UID` VARCHAR(32) default '', From c912ee0a426281491d1d74dc1309a027434479b4 Mon Sep 17 00:00:00 2001 From: dheeyi william Date: Tue, 2 Aug 2016 12:46:35 -0400 Subject: [PATCH 3/9] HOR-1548 BatchRouting>Uncaught ReferenceError: tmpIndex is not defined --- workflow/engine/src/ProcessMaker/Services/Api/Consolidated.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Consolidated.php b/workflow/engine/src/ProcessMaker/Services/Api/Consolidated.php index 8c06c1bba..226c83d29 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Consolidated.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Consolidated.php @@ -144,8 +144,9 @@ class Consolidated extends Api * @copyright Colosa - Bolivia * * @url POST /derivate/:app_uid/:app_number/:del_index/:field_grid/:field_grid_val + * @url POST /derivate/:app_uid/:app_number/:del_index/:field_grid/ */ - public function doPostDerivate($app_uid, $app_number, $del_index, $field_grid, $field_grid_val) + public function doPostDerivate($app_uid, $app_number, $del_index, $field_grid, $field_grid_val = '') { try { $usr_uid = $this->getUserId(); From c99036d4c81d36f606ac08a16c2332b36cd8ddb6 Mon Sep 17 00:00:00 2001 From: dheeyi william Date: Tue, 2 Aug 2016 16:56:16 -0400 Subject: [PATCH 4/9] HOR-1561 No se estan mostrando los Usuarios HOR-1561 No se estan mostrando los Usuarios --- workflow/engine/classes/class.case.php | 12 ------------ workflow/engine/classes/class.wsTools.php | 14 -------------- workflow/engine/methods/users/users_Ajax.php | 17 +++++++++++++---- .../src/ProcessMaker/BusinessModel/User.php | 14 -------------- 4 files changed, 13 insertions(+), 44 deletions(-) diff --git a/workflow/engine/classes/class.case.php b/workflow/engine/classes/class.case.php index b75956a07..0935f0df0 100755 --- a/workflow/engine/classes/class.case.php +++ b/workflow/engine/classes/class.case.php @@ -4232,9 +4232,6 @@ class Cases throw new Exception(G::LoadTranslation('ID_THREAD_STATUS_DOES_NOT_EXIST_FOR_THE_APPLICATION.', [$appUID])); } - $users = new Users(); - $rowUsers = $users->load($userUID); - //Application $rowApplication['APP_STATUS'] = 'TO_DO'; $rowApplication['APP_UPDATE_DATE'] = date('Y-m-d H:i:s'); @@ -4282,7 +4279,6 @@ class Cases $resultSetListCanceled->next(); $rowListCanceled = $resultSetListCanceled->getRow(); ListCanceledPeer::doDelete($criteriaListCanceled); - $usrTotalCancelled = $rowUsers['USR_TOTAL_CANCELLED'] - 1; //ListInbox $rowListCanceled['DEL_PREVIOUS_USR_USERNAME'] = $rowListCanceled['DEL_CURRENT_USR_USERNAME']; @@ -4298,14 +4294,6 @@ class Cases unset($rowListCanceled['APP_CANCELED_DATE']); $listInbox = new ListInbox(); $listInbox->create($rowListCanceled); - $usrTotalInbox = $rowUsers['USR_TOTAL_INBOX'] + 1; - - //Users - $users->update([ - 'USR_UID' => $userUID, - 'USR_TOTAL_INBOX' => $usrTotalInbox, - 'USR_TOTAL_CANCELLED' => $usrTotalCancelled - ]); //ListParticipatedLast $criteriaListParticipatedLast = new Criteria("workflow"); diff --git a/workflow/engine/classes/class.wsTools.php b/workflow/engine/classes/class.wsTools.php index 96ef90356..df091196b 100755 --- a/workflow/engine/classes/class.wsTools.php +++ b/workflow/engine/classes/class.wsTools.php @@ -1997,20 +1997,6 @@ class workspaceTools $list->doDeleteAll(); } - //Update //User - $criteriaSet = new Criteria("workflow"); - $criteriaSet->add(UsersPeer::USR_TOTAL_INBOX, 0); - $criteriaSet->add(UsersPeer::USR_TOTAL_DRAFT, 0); - $criteriaSet->add(UsersPeer::USR_TOTAL_CANCELLED, 0); - $criteriaSet->add(UsersPeer::USR_TOTAL_PARTICIPATED, 0); - $criteriaSet->add(UsersPeer::USR_TOTAL_PAUSED, 0); - $criteriaSet->add(UsersPeer::USR_TOTAL_COMPLETED, 0); - $criteriaSet->add(UsersPeer::USR_TOTAL_UNASSIGNED, 0); - - $criteriaWhere = new Criteria("workflow"); - $criteriaWhere->add(UsersPeer::USR_UID, null, Criteria::ISNOTNULL); - - BasePeer::doUpdate($criteriaWhere, $criteriaSet, Propel::getConnection("workflow")); $this->regenerateListCompleted($lang); $this->regenerateListCanceled($lang); $this->regenerateListMyInbox(); // this list require no translation diff --git a/workflow/engine/methods/users/users_Ajax.php b/workflow/engine/methods/users/users_Ajax.php index ec7c8cb3e..3972ab74d 100644 --- a/workflow/engine/methods/users/users_Ajax.php +++ b/workflow/engine/methods/users/users_Ajax.php @@ -440,7 +440,6 @@ try { $oCriteria->addSelectColumn(UsersPeer::USR_LASTNAME); $oCriteria->addSelectColumn(UsersPeer::USR_EMAIL); $oCriteria->addSelectColumn(UsersPeer::USR_ROLE); - $oCriteria->addSelectColumn(UsersPeer::USR_TOTAL_PARTICIPATED); $oCriteria->addSelectColumn(UsersPeer::USR_DUE_DATE); $oCriteria->addSelectColumn(UsersPeer::USR_STATUS); $oCriteria->addSelectColumn(UsersPeer::USR_UX); @@ -482,6 +481,8 @@ try { $uxList = adminProxy::getUxTypesList(); $oRoles = new Roles(); + $oParticipated = new ListParticipatedLast(); + $oAppCache = new AppCacheView(); $rows = Array(); $uRole = Array(); while ($oDataset->next()) { @@ -490,15 +491,23 @@ try { try { $uRole = $oRoles->loadByCode($row['USR_ROLE']); } catch (exception $oError) { - $uRole['ROL_NAME'] = G::loadTranslation( 'ID_DELETED' ); + $uRole['ROL_NAME'] = G::loadTranslation('ID_DELETED'); } - + /*----------------------------------********---------------------------------*/ + if (true) { + $total = $oParticipated->getCountList($row['USR_UID']); + } else { + /*----------------------------------********---------------------------------*/ + $total = $oAppCache->getListCounters('sent', $row['USR_UID'], false); + /*----------------------------------********---------------------------------*/ + } + /*----------------------------------********---------------------------------*/ $row['USR_ROLE_ID'] = $row['USR_ROLE']; $row['USR_ROLE'] = isset($uRole['ROL_NAME']) ? ($uRole['ROL_NAME'] != '' ? $uRole['ROL_NAME'] : $uRole['ROL_CODE']) : $uRole['ROL_CODE']; $row['DUE_DATE_OK'] = (date('Y-m-d') > date('Y-m-d', strtotime($row['USR_DUE_DATE']))) ? 0 : 1; $row['LAST_LOGIN'] = isset($aLogin[$row['USR_UID']]) ? \ProcessMaker\Util\DateTime::convertUtcToTimeZone($aLogin[$row['USR_UID']]) : ''; - $row['TOTAL_CASES'] = isset($row['USR_TOTAL_PARTICIPATED']) ? $row['USR_TOTAL_PARTICIPATED'] : 0; + $row['TOTAL_CASES'] = $total; $row['DEP_TITLE'] = isset($aDepart[$row['USR_UID']]) ? $aDepart[$row['USR_UID']] : ''; $row['USR_UX'] = isset($uxList[$row['USR_UX']]) ? $uxList[$row['USR_UX']] : $uxList['NORMAL']; $row['USR_AUTH_SOURCE'] = isset($aAuthSources[$row['USR_UID']]) ? $aAuthSources[$row['USR_UID']] : 'ProcessMaker (MYSQL)'; diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/User.php b/workflow/engine/src/ProcessMaker/BusinessModel/User.php index bd22db0e1..26dcc333b 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/User.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/User.php @@ -452,13 +452,6 @@ class User $arrayResult[$this->getFieldNameByFormatFieldName('USR_COST_BY_HOUR')] = $record['USR_COST_BY_HOUR']; $arrayResult[$this->getFieldNameByFormatFieldName('USR_UNIT_COST')] = $record['USR_UNIT_COST']; /*----------------------------------********---------------------------------*/ - $arrayResult[$this->getFieldNameByFormatFieldName('USR_TOTAL_INBOX')] = $record['USR_TOTAL_INBOX']; - $arrayResult[$this->getFieldNameByFormatFieldName('USR_TOTAL_DRAFT')] = $record['USR_TOTAL_DRAFT']; - $arrayResult[$this->getFieldNameByFormatFieldName('USR_TOTAL_CANCELLED')] = $record['USR_TOTAL_CANCELLED']; - $arrayResult[$this->getFieldNameByFormatFieldName('USR_TOTAL_PARTICIPATED')] = $record['USR_TOTAL_PARTICIPATED']; - $arrayResult[$this->getFieldNameByFormatFieldName('USR_TOTAL_PAUSED')] = $record['USR_TOTAL_PAUSED']; - $arrayResult[$this->getFieldNameByFormatFieldName('USR_TOTAL_COMPLETED')] = $record['USR_TOTAL_COMPLETED']; - $arrayResult[$this->getFieldNameByFormatFieldName('USR_TOTAL_UNASSIGNED')] = $record['USR_TOTAL_UNASSIGNED']; $arrayResult[$this->getFieldNameByFormatFieldName('USR_PHOTO_PATH')] = $pathPhotoUser; if (isset($_SESSION['__SYSTEM_UTC_TIME_ZONE__']) && $_SESSION['__SYSTEM_UTC_TIME_ZONE__']) { @@ -512,13 +505,6 @@ class User $criteria->addSelectColumn(\UsersPeer::USR_COST_BY_HOUR); $criteria->addSelectColumn(\UsersPeer::USR_UNIT_COST); /*----------------------------------********---------------------------------*/ - $criteria->addSelectColumn(\UsersPeer::USR_TOTAL_INBOX); - $criteria->addSelectColumn(\UsersPeer::USR_TOTAL_DRAFT); - $criteria->addSelectColumn(\UsersPeer::USR_TOTAL_CANCELLED); - $criteria->addSelectColumn(\UsersPeer::USR_TOTAL_PARTICIPATED); - $criteria->addSelectColumn(\UsersPeer::USR_TOTAL_PAUSED); - $criteria->addSelectColumn(\UsersPeer::USR_TOTAL_COMPLETED); - $criteria->addSelectColumn(\UsersPeer::USR_TOTAL_UNASSIGNED); $criteria->addSelectColumn(\UsersPeer::USR_TIME_ZONE); //Return From 8542ce9a821d4f5a9957e43b76c264d1fa211e67 Mon Sep 17 00:00:00 2001 From: "Paula V. Quispe" Date: Tue, 2 Aug 2016 18:14:21 -0400 Subject: [PATCH 5/9] HOR-1569 --- framework/src/Maveriks/WebApplication.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/framework/src/Maveriks/WebApplication.php b/framework/src/Maveriks/WebApplication.php index 5d6ccbc65..58993cfaa 100644 --- a/framework/src/Maveriks/WebApplication.php +++ b/framework/src/Maveriks/WebApplication.php @@ -447,6 +447,8 @@ class WebApplication define("PATH_SERVICES_REST", PATH_CORE . "services" . PATH_SEP . "rest" . PATH_SEP); \Bootstrap::registerSystemClasses(); + \Bootstrap::initVendors(); + \Bootstrap::LoadSystem( 'monologProvider' ); $arraySystemConfiguration = \System::getSystemConfiguration(); From 77fcd352d04b49d8aa23358be470545d2eea5527 Mon Sep 17 00:00:00 2001 From: "Paula V. Quispe" Date: Tue, 2 Aug 2016 17:18:26 -0400 Subject: [PATCH 6/9] HOR-1549 HOR-1549 --- workflow/engine/classes/class.case.php | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/workflow/engine/classes/class.case.php b/workflow/engine/classes/class.case.php index 0935f0df0..3acc34f46 100755 --- a/workflow/engine/classes/class.case.php +++ b/workflow/engine/classes/class.case.php @@ -5267,15 +5267,19 @@ class Cases foreach ($arrayTask as $aTask) { + //if the next is EOP dont send notification and continue with the next + if($aTask['TAS_UID'] === '-1'){ + continue; + } if (isset($aTask['DEL_INDEX'])) { $arrayData2 = $arrayData; $appDelegation = AppDelegationPeer::retrieveByPK($applicationUid, $aTask['DEL_INDEX']); if (!is_null($appDelegation)) { - $oTask = new Task(); - $aTask = $oTask->load($appDelegation->getTasUid()); - $arrayData2['TAS_TITLE'] = $aTask['TAS_TITLE']; + $oTaskUpd = new Task(); + $aTaskUpdate = $oTaskUpd->load($appDelegation->getTasUid()); + $arrayData2['TAS_TITLE'] = $aTaskUpdate['TAS_TITLE']; $arrayData2['DEL_TASK_DUE_DATE'] = $appDelegation->getDelTaskDueDate(); } } else { From 0079e933b586ad877db1b29ba4ce112cc218ea22 Mon Sep 17 00:00:00 2001 From: Ronald Q Date: Wed, 3 Aug 2016 11:39:08 -0400 Subject: [PATCH 7/9] HOR-1557 escapeo de regex --- .../engine/src/ProcessMaker/Services/Api/Light.php | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Light.php b/workflow/engine/src/ProcessMaker/Services/Api/Light.php index 60ce1074d..276bc32b4 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Light.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Light.php @@ -636,9 +636,11 @@ class Light extends Api { $response = array(); foreach ($data as $field => $d) { + $field = preg_quote($field); if (is_array($d)) { $newData = array(); foreach ($d as $field => $value) { + $field = preg_quote($field); if ( preg_match( '/\|(' . $field . ')\|/i', @@ -1011,7 +1013,7 @@ class Light extends Api * * @param string $tas_uid {@min 32}{@max 32} * @param string $app_uid {@min 32}{@max 32} - * @param string $del_index + * @param int $del_index */ public function doGetPrepareInformation($tas_uid, $app_uid, $del_index = null) { @@ -1030,7 +1032,7 @@ class Light extends Api * @url PUT /cases/:app_uid/route-case * * @param string $app_uid {@min 32}{@max 32} - * @param string $del_index {@from body} + * @param int $del_index {@from body} * @param array $tasks {@from body} */ public function doPutRouteCase($app_uid, $del_index = null, $tasks = array()) @@ -1591,7 +1593,7 @@ class Light extends Api * @access public * @url GET /config * - * @param string $fileLimit {@from path} + * @param boolean $fileLimit {@from path} */ public function getConfiguration($fileLimit = false) { @@ -1612,8 +1614,8 @@ class Light extends Api * * @url GET /config-user * - * @param string $fileLimit {@from path} - * @param string $tz {@from path} + * @param boolean $fileLimit {@from path} + * @param boolean $tz {@from path} */ public function getConfigurationUser($fileLimit = false, $tz = false) { From 32c2186b68528fcde6cc2a10400560398d0fb4a5 Mon Sep 17 00:00:00 2001 From: Ronald Q Date: Wed, 3 Aug 2016 12:11:41 -0400 Subject: [PATCH 8/9] HOR-1481 --- workflow/engine/src/ProcessMaker/Importer/Importer.php | 1 - 1 file changed, 1 deletion(-) diff --git a/workflow/engine/src/ProcessMaker/Importer/Importer.php b/workflow/engine/src/ProcessMaker/Importer/Importer.php index 3ef35830c..45059f6b7 100755 --- a/workflow/engine/src/ProcessMaker/Importer/Importer.php +++ b/workflow/engine/src/ProcessMaker/Importer/Importer.php @@ -209,7 +209,6 @@ abstract class Importer } } /*----------------------------------********---------------------------------*/ - $name = $this->currentProcessTitle; $generateUid = false; break; case self::IMPORT_OPTION_DISABLE_AND_CREATE_NEW: From f961f9ce9c33eaf2e522174798c520291baaacea Mon Sep 17 00:00:00 2001 From: Luis Fernando Saisa Lopez Date: Wed, 3 Aug 2016 13:15:16 -0400 Subject: [PATCH 9/9] HOR-1155-A --- workflow/engine/methods/mails/emailList.php | 5 + workflow/engine/methods/mails/emailsAjax.php | 115 ++++++++++--- workflow/engine/templates/mails/emailList.js | 164 ++++++++++++++++--- 3 files changed, 238 insertions(+), 46 deletions(-) diff --git a/workflow/engine/methods/mails/emailList.php b/workflow/engine/methods/mails/emailList.php index b69ef8a8d..7a3abc782 100644 --- a/workflow/engine/methods/mails/emailList.php +++ b/workflow/engine/methods/mails/emailList.php @@ -48,6 +48,10 @@ $status = array( array("pending", G::LoadTranslation('ID_PENDING')) ); +$pluginRegistry = PMPluginRegistry::getSingleton(); +$statusER = $pluginRegistry->getStatusPlugin('externalRegistration'); +$flagER = (preg_match('/^enabled$/', $statusER))? 1 : 0; + $processes = getProcessArray($userUid); $G_PUBLISH = new Publisher(); @@ -58,6 +62,7 @@ $oHeadPublisher->addContent('mails/emailList'); //adding a html file .html. //sending the columns to display in grid $oHeadPublisher->assign('statusValues', $status); $oHeadPublisher->assign('processValues', $processes); +$oHeadPublisher->assign('flagER', $flagER); function getProcessArray($userUid) { global $oAppCache; diff --git a/workflow/engine/methods/mails/emailsAjax.php b/workflow/engine/methods/mails/emailsAjax.php index 4c26f1159..fc8a1fde1 100644 --- a/workflow/engine/methods/mails/emailsAjax.php +++ b/workflow/engine/methods/mails/emailsAjax.php @@ -17,12 +17,16 @@ switch($req){ $dir = isset($_REQUEST['dir']) ? $_REQUEST['dir'] : 'ASC'; $dateFrom = isset( $_POST["dateFrom"] ) ? substr( $_POST["dateFrom"], 0, 10 ) : ""; $dateTo = isset( $_POST["dateTo"] ) ? substr( $_POST["dateTo"], 0, 10 ) : ""; + $filterBy = (isset($_REQUEST['filterBy']))? $_REQUEST['filterBy'] : 'ALL'; $response = new stdclass(); $response->status = 'OK'; + $delimiter = DBAdapter::getStringDelimiter(); + $criteria = new Criteria(); - $criteria->addJoin(AppMessagePeer::APP_UID, ApplicationPeer::APP_UID); + $criteria->addJoin(AppMessagePeer::APP_UID, ApplicationPeer::APP_UID, Criteria::LEFT_JOIN); + if ($emailStatus != '') { $criteria->add( AppMessagePeer::APP_MSG_STATUS, $emailStatus); } @@ -30,6 +34,34 @@ switch($req){ $criteria->add( ApplicationPeer::PRO_UID, $proUid); } + $arrayType = []; + + $pluginRegistry = PMPluginRegistry::getSingleton(); + $statusEr = $pluginRegistry->getStatusPlugin('externalRegistration'); + + $flagEr = (preg_match('/^enabled$/', $statusEr))? 1 : 0; + + if ($flagEr == 0) { + $arrayType[] = 'EXTERNAL_REGISTRATION'; + } + + switch ($filterBy) { + case 'CASES': + $criteria->add(AppMessagePeer::APP_MSG_TYPE, ['TEST', 'EXTERNAL_REGISTRATION'], Criteria::NOT_IN); + break; + case 'TEST': + $criteria->add(AppMessagePeer::APP_MSG_TYPE, 'TEST', Criteria::EQUAL); + break; + case 'EXTERNAL-REGISTRATION': + $criteria->add(AppMessagePeer::APP_MSG_TYPE, 'EXTERNAL_REGISTRATION', Criteria::EQUAL); + break; + default: + if (!empty($arrayType)) { + $criteria->add(AppMessagePeer::APP_MSG_TYPE, $arrayType, Criteria::NOT_IN); + } + break; + } + if ($dateFrom != "") { if ($dateTo != "") { if ($dateFrom == $dateTo) { @@ -92,6 +124,23 @@ switch($req){ $criteria->add( ApplicationPeer::PRO_UID, $proUid); } + switch ($filterBy) { + case 'CASES': + $criteria->add(AppMessagePeer::APP_MSG_TYPE, ['TEST', 'EXTERNAL_REGISTRATION'], Criteria::NOT_IN); + break; + case 'TEST': + $criteria->add(AppMessagePeer::APP_MSG_TYPE, 'TEST', Criteria::EQUAL); + break; + case 'EXTERNAL-REGISTRATION': + $criteria->add(AppMessagePeer::APP_MSG_TYPE, 'EXTERNAL_REGISTRATION', Criteria::EQUAL); + break; + default: + if (!empty($arrayType)) { + $criteria->add(AppMessagePeer::APP_MSG_TYPE, $arrayType, Criteria::NOT_IN); + } + break; + } + if ($dateFrom != "") { if ($dateTo != "") { if ($dateFrom == $dateTo) { @@ -126,8 +175,11 @@ switch($req){ $criteria->setLimit($limit); $criteria->setOffset($start); } + $criteria->addJoin(AppMessagePeer::APP_UID, ApplicationPeer::APP_UID); $criteria->addJoin(ApplicationPeer::PRO_UID, ProcessPeer::PRO_UID); + + $result = AppMessagePeer::doSelectRS($criteria); $result->setFetchmode(ResultSet::FETCHMODE_ASSOC); $data = Array(); @@ -139,26 +191,51 @@ switch($req){ $row = $result->getRow(); $row['APP_MSG_FROM'] =htmlentities($row['APP_MSG_FROM'], ENT_QUOTES, "UTF-8"); $row['APP_MSG_STATUS'] = ucfirst ( $row['APP_MSG_STATUS']); - if ($row['DEL_INDEX'] != 0) { - $index = $row['DEL_INDEX']; + + switch ($filterBy) { + case 'CASES': + if ($row['DEL_INDEX'] != 0) { + $index = $row['DEL_INDEX']; + } + + $criteria = new Criteria(); + + $criteria->addSelectColumn(AppCacheViewPeer::APP_TITLE); + $criteria->addSelectColumn(AppCacheViewPeer::APP_TAS_TITLE); + $criteria->add(AppCacheViewPeer::APP_UID, $row['APP_UID'], Criteria::EQUAL); + $criteria->add(AppCacheViewPeer::DEL_INDEX, $index, Criteria::EQUAL); + + $resultCacheView = AppCacheViewPeer::doSelectRS($criteria); + $resultCacheView->setFetchmode(ResultSet::FETCHMODE_ASSOC); + + $row['APP_TITLE'] = '-'; + + while ($resultCacheView->next()) { + $rowCacheView = $resultCacheView->getRow(); + $row['APP_TITLE'] = $rowCacheView['APP_TITLE']; + $row['TAS_TITLE'] = $rowCacheView['APP_TAS_TITLE']; + } + + if ($row['DEL_INDEX'] == 0) { + $row['TAS_TITLE'] = $tasTitleDefault; + } + break; + case 'TEST': + $row['PRO_UID'] = ''; + $row['APP_NUMBER'] = ''; + $row['PRO_TITLE'] = ''; + $row['APP_TITLE'] = ''; + $row['TAS_TITLE'] = ''; + break; + case 'EXTERNAL-REGISTRATION': + $row['PRO_UID'] = ''; + $row['APP_NUMBER'] = ''; + $row['PRO_TITLE'] = ''; + $row['APP_TITLE'] = ''; + $row['TAS_TITLE'] = ''; + break; } - $criteria = new Criteria(); - $criteria->addSelectColumn(AppCacheViewPeer::APP_TITLE); - $criteria->addSelectColumn(AppCacheViewPeer::APP_TAS_TITLE); - $criteria->add(AppCacheViewPeer::APP_UID, $row['APP_UID']); - $criteria->add(AppCacheViewPeer::DEL_INDEX, $index); - $resultCacheView = AppCacheViewPeer::doSelectRS($criteria); - $resultCacheView->setFetchmode(ResultSet::FETCHMODE_ASSOC); - $row['APP_TITLE'] = '-'; - while ($resultCacheView->next()) { - $rowCacheView = $resultCacheView->getRow(); - $row['APP_TITLE'] = $rowCacheView['APP_TITLE']; - $row['TAS_TITLE'] = $rowCacheView['APP_TAS_TITLE']; - } - if ($row['DEL_INDEX'] == 0) { - $row['TAS_TITLE'] = $tasTitleDefault; - } $data[] = $row; } $response = array(); diff --git a/workflow/engine/templates/mails/emailList.js b/workflow/engine/templates/mails/emailList.js index 609aa2d4d..c33a37620 100644 --- a/workflow/engine/templates/mails/emailList.js +++ b/workflow/engine/templates/mails/emailList.js @@ -33,7 +33,7 @@ Ext.onReady(function(){ ' {APP_PRO_TITLE}', '' ); - + var columnRenderer = function(data, metadata, record, rowIndex,columnIndex, store) { var new_text = metadata.style.split(';'); var style = ''; @@ -121,20 +121,130 @@ Ext.onReady(function(){ iconCls: 'no-icon' }); - actions = _addPluginActions([ {xtype: 'tbfill'}, _('ID_PROCESS'), comboProcess, '-', _('ID_STATUS'), comboStatus, _('ID_DELEGATE_DATE_FROM'), + var arrayData = [ + ["ALL", _("ID_ALL")], + ["CASES", _("ID_CASES1")], + ["TEST", _("ID_TEST")] + ]; + + if (parseInt(flagER) == 1) { + arrayData.push(["EXTERNAL-REGISTRATION", _("ID_EXTERNAL_REGISTRATION")]); + } + + var cboFilterBy = new Ext.form.ComboBox({ + id: "cboFilterBy", + width: 140, + editable: false, + mode: "local", + emptyText: _("ID_SELECT"), + + store: new Ext.data.ArrayStore({ + fields: ["id", "value"], + data: arrayData + }), + + valueField: "id", + displayField: "value", + triggerAction: "all", + + listeners:{ + "select": function() { + switch (cboFilterBy.value) { + case "ALL": + case "CASES": + emailsGrid.getColumnModel().setHidden(6, false); + emailsGrid.getColumnModel().setHidden(7, false); + emailsGrid.getColumnModel().setHidden(8, false); + emailsGrid.getColumnModel().setHidden(9, false); + emailsGrid.getColumnModel().setHidden(10, false); + + emailsGrid.getColumnModel().getColumnById("APP_TITLE").hideable = true; + emailsGrid.getColumnModel().getColumnById("PRO_TITLE").hideable = true; + emailsGrid.getColumnModel().getColumnById("TAS_TITLE").hideable = true; + emailsGrid.getColumnModel().getColumnById("APP_MSG_TYPE").hideable = true; + + dateFrom.setValue(""); + dateTo.setValue(""); + + comboProcess.reset(); + comboStatus.reset(); + + comboProcess.setDisabled(false); + break; + case "TEST": + emailsGrid.getColumnModel().setHidden(6, true); + emailsGrid.getColumnModel().setHidden(7, true); + emailsGrid.getColumnModel().setHidden(8, true); + emailsGrid.getColumnModel().setHidden(9, true); + emailsGrid.getColumnModel().setHidden(10, true); + + emailsGrid.getColumnModel().getColumnById("APP_TITLE").hideable = false; + emailsGrid.getColumnModel().getColumnById("PRO_TITLE").hideable = false; + emailsGrid.getColumnModel().getColumnById("TAS_TITLE").hideable = false; + emailsGrid.getColumnModel().getColumnById("APP_MSG_TYPE").hideable = false; + + dateFrom.setValue(""); + dateTo.setValue(""); + + comboStatus.reset(); + comboProcess.reset(); + + comboProcess.setDisabled(true); + break; + case "EXTERNAL-REGISTRATION": + emailsGrid.getColumnModel().setHidden(6, true); + emailsGrid.getColumnModel().setHidden(7, true); + emailsGrid.getColumnModel().setHidden(8, true); + emailsGrid.getColumnModel().setHidden(9, true); + emailsGrid.getColumnModel().setHidden(10, true); + + emailsGrid.getColumnModel().getColumnById("APP_TITLE").hideable = false; + emailsGrid.getColumnModel().getColumnById("PRO_TITLE").hideable = false; + emailsGrid.getColumnModel().getColumnById("TAS_TITLE").hideable = false; + emailsGrid.getColumnModel().getColumnById("APP_MSG_TYPE").hideable = false; + + dateFrom.setValue(""); + dateTo.setValue(""); + + comboStatus.reset(); + comboProcess.reset(); + + comboProcess.setDisabled(true); + break; + } + + store.setBaseParam("filterBy", cboFilterBy.value); + store.setBaseParam("process", comboProcess.value); + store.setBaseParam("status", comboStatus.value); + store.setBaseParam("dateFrom", ""); + store.setBaseParam("dateTo", ""); + store.setBaseParam("start", 0); + store.setBaseParam("limit", 25); + store.load(); + } + }, + + iconCls: "no-icon" + }); + + var btnFilter = new Ext.Button ({ + id: "btnFilter", + text: _("ID_FILTER_BY_DELEGATED_DATE"), + + handler: function(){ + store.setBaseParam("dateFrom", dateFrom.getValue()); + store.setBaseParam("dateTo", dateTo.getValue()); + store.load({params:{start: 0, limit: 25 }}); + } + }); + + actions = _addPluginActions([ {xtype: 'tbfill'}, _("ID_FILTER_BY"), cboFilterBy, "-", _('ID_PROCESS'), comboProcess, '-', _('ID_STATUS'), comboStatus, _('ID_DELEGATE_DATE_FROM'), dateFrom, ' ', _('ID_TO'), dateTo, - new Ext.Button ({ - text: _('ID_FILTER_BY_DELEGATED_DATE'), - handler: function(){ - store.setBaseParam('dateFrom', dateFrom.getValue()); - store.setBaseParam('dateTo', dateTo.getValue()); - store.load({params:{ start : 0 , limit : 25 }}); - } - }) + btnFilter ]); var stepsFields = Ext.data.Record.create([ @@ -143,9 +253,9 @@ Ext.onReady(function(){ {name : 'APP_MSG_TO', type: 'string'}, {name : 'APP_MSG_DATE', type: 'string'}, {name : 'APP_MSG_STATUS', type: 'string'} - + ]); - + store = new Ext.data.Store( { proxy : new Ext.data.HttpProxy({ url: 'emailsAjax?request=MessageList' @@ -206,21 +316,21 @@ Ext.onReady(function(){ }, columns: [ expander, - {id:'APP_MSG_UID', dataIndex: 'APP_MSG_UID', hidden:true, hideable:false}, - {header: 'APP_UID', dataIndex: 'APP_UID', hidden:true, hideable:false}, - {header: 'DEL_INDEX', dataIndex: 'DEL_INDEX', hidden:true, hideable:false}, - {header: 'PRO_UID', dataIndex: 'PRO_UID', hidden:true, hideable:false, sortable: false}, - {header: 'TAS_UID', dataIndex: 'TAS_UID', hidden:true, hideable:false, sortable: false}, - {header: _('ID_HEADER_NUMBER'), dataIndex: 'APP_NUMBER', width: 40, hidden: false,renderer: columnRenderer, sortable: true}, - {header: _('ID_CASE'), dataIndex: 'APP_TITLE', width: 100, hidden: false,renderer: columnRenderer, sortable: false}, - {header: _('ID_PROCESS'), dataIndex: 'PRO_TITLE', width: 100, hidden: false,renderer: columnRenderer, sortable: false}, - {header: _('ID_TASK'), dataIndex: 'TAS_TITLE', width: 100, hidden: false,renderer: columnRenderer, sortable: false}, - {header: _('ID_TYPE'), dataIndex: 'APP_MSG_TYPE', width: 50, hidden: false,renderer: columnRenderer, sortable: true}, - {header: _('ID_DATE_LABEL'), dataIndex: 'APP_MSG_DATE', width: 80,hidden:false, renderer: columnRenderer, sortable: true}, - {header: _('ID_SUBJECT'), dataIndex: 'APP_MSG_SUBJECT', width: 80,hidden:false, renderer: columnRenderer, sortable: true}, - {header: _('ID_FROM'), dataIndex: 'APP_MSG_FROM', width: 80,hidden:false,renderer: columnRenderer, sortable: true}, - {header: _('ID_TO'), dataIndex: 'APP_MSG_TO', width: 80,hidden:false,renderer: columnRenderer, sortable: true}, - {header: _('ID_ERROR_EMAIL'), dataIndex: 'APP_MSG_ERROR', width: 80,hidden:false,renderer: columnRenderer, sortable: true}, + {id: "APP_MSG_UID", dataIndex: 'APP_MSG_UID', hidden: true, hideable:false}, + {id: "APP_UID", header: 'APP_UID', dataIndex: 'APP_UID', hidden: true, hideable:false}, + {id: "DEL_INDEX", header: 'DEL_INDEX', dataIndex: 'DEL_INDEX', hidden: true, hideable:false}, + {id: "PRO_UID", header: 'PRO_UID', dataIndex: 'PRO_UID', hidden: true, hideable:false, sortable: false}, + {id: "TAS_UID", header: 'TAS_UID', dataIndex: 'TAS_UID', hidden: true, hideable:false, sortable: false}, + {id: "APP_NUMBER", header: _('ID_HEADER_NUMBER'), dataIndex: 'APP_NUMBER', width: 40, hidden: false,renderer: columnRenderer, sortable: true}, + {id: "APP_TITLE", header: _('ID_CASE'), dataIndex: 'APP_TITLE', width: 100, hidden: false,renderer: columnRenderer, sortable: false}, + {id: "PRO_TITLE", header: _('ID_PROCESS'), dataIndex: 'PRO_TITLE', width: 100, hidden: false,renderer: columnRenderer, sortable: false}, + {id: "TAS_TITLE", header: _('ID_TASK'), dataIndex: 'TAS_TITLE', width: 100, hidden: false,renderer: columnRenderer, sortable: false}, + {id: "APP_MSG_TYPE", header: _('ID_TYPE'), dataIndex: 'APP_MSG_TYPE', width: 50, hidden: false,renderer: columnRenderer, sortable: true}, + {id: "APP_MSG_DATE", header: _('ID_DATE_LABEL'), dataIndex: 'APP_MSG_DATE', width: 80, hidden: false, renderer: columnRenderer, sortable: true}, + {id: "APP_MSG_SUBJECT", header: _('ID_SUBJECT'), dataIndex: 'APP_MSG_SUBJECT', width: 80, hidden: false, renderer: columnRenderer, sortable: true}, + {id: "APP_MSG_FROM", header: _('ID_FROM'), dataIndex: 'APP_MSG_FROM', width: 80, hidden: false,renderer: columnRenderer, sortable: true}, + {id: "APP_MSG_TO", header: _('ID_TO'), dataIndex: 'APP_MSG_TO', width: 80, hidden: false,renderer: columnRenderer, sortable: true}, + {id: "APP_MSG_ERROR", header: _('ID_ERROR_EMAIL'), dataIndex: 'APP_MSG_ERROR', width: 80, hidden: false,renderer: columnRenderer, sortable: true}, { header: _('ID_STATUS'),