From 29100e3513440fc3abec9f1a48fc53ff30cb5977 Mon Sep 17 00:00:00 2001 From: "Paula V. Quispe" Date: Wed, 22 Jun 2016 11:27:43 -0400 Subject: [PATCH] Self service Insert and use the new table , Claim Case , add new columns index HOR-1345 . HOR-1345 Priority --- workflow/engine/bin/tasks/cliWorkspaces.php | 36 ++- workflow/engine/classes/class.case.php | 4 + workflow/engine/classes/class.wsTools.php | 141 +++++++-- workflow/engine/classes/model/ListInbox.php | 2 + .../engine/classes/model/ListUnassigned.php | 274 ++++++++++++------ .../model/map/ListUnassignedMapBuilder.php | 10 +- .../classes/model/om/BaseListUnassigned.php | 206 +++++++------ .../model/om/BaseListUnassignedPeer.php | 54 ++-- workflow/engine/config/schema.xml | 10 +- workflow/engine/data/mysql/insert.sql | 2 + workflow/engine/data/mysql/schema.sql | 10 +- .../engine/methods/cases/casesListExtJs.php | 24 +- 12 files changed, 502 insertions(+), 271 deletions(-) diff --git a/workflow/engine/bin/tasks/cliWorkspaces.php b/workflow/engine/bin/tasks/cliWorkspaces.php index 090860e6e..123d2957a 100755 --- a/workflow/engine/bin/tasks/cliWorkspaces.php +++ b/workflow/engine/bin/tasks/cliWorkspaces.php @@ -255,6 +255,19 @@ EOT ); CLI::taskArg('workspace', true, true); CLI::taskRun("run_migrate_new_cases_lists"); + +CLI::taskName('migrate-list-unassigned'); +CLI::taskDescription(<<xssFilterHard($opts); + $args = $filter->xssFilterHard($args); + $lang = array_key_exists("lang", $opts) ? $opts['lang'] : 'en'; + $workspaces = get_workspaces_from_args($args); + foreach ($workspaces as $workspace) { + print_r("Upgrading Unassigned List in" . pakeColor::colorize($workspace->name, "INFO") . "\n"); + try { + $workspace->regenerateListUnassigned(); + echo "> Unassigned List is done\n"; + } catch (Exception $e) { + echo "> Error: ".CLI::error($e->getMessage()) . "\n"; + } + } +} /*----------------------------------********---------------------------------*/ diff --git a/workflow/engine/classes/class.case.php b/workflow/engine/classes/class.case.php index 080a38621..2e99cf8e6 100755 --- a/workflow/engine/classes/class.case.php +++ b/workflow/engine/classes/class.case.php @@ -1319,6 +1319,10 @@ class Cases $appAssignSelfServiceValue->remove($sAppUid, $iDelIndex); /*----------------------------------********---------------------------------*/ + //Delete record of the table LIST_UNASSIGNED + $unassigned = new ListUnassigned(); + $unassigned->remove($sAppUid, $iDelIndex); + $aFields = $oAppDel->toArray(BasePeer::TYPE_FIELDNAME); $aFields['APP_STATUS'] = 'TO_DO'; $inbox = new ListInbox(); diff --git a/workflow/engine/classes/class.wsTools.php b/workflow/engine/classes/class.wsTools.php index 63dcf4bce..f425e7d53 100755 --- a/workflow/engine/classes/class.wsTools.php +++ b/workflow/engine/classes/class.wsTools.php @@ -109,12 +109,14 @@ class workspaceTools $final = $stop - $start; CLI::logging("<*> Backup log files Process took $final seconds.\n"); + /*----------------------------------********---------------------------------*/ $start = microtime(true); CLI::logging("> Migrate new lists...\n"); $this->migrateList($workSpace, false, $lang); $stop = microtime(true); $final = $stop - $start; CLI::logging("<*> Migrate new lists Process took $final seconds.\n"); + /*----------------------------------********---------------------------------*/ $start = microtime(true); CLI::logging("> Updating Files Manager...\n"); @@ -2011,10 +2013,18 @@ class workspaceTools $this->regenerateListParticipatedHistory(); // this list require no translation $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"); + $this->listFirstExecution('insert', 'unassigned'); + } + + //Check for the List Unassigned + if(!$this->listFirstExecution('check','unassigned')){ + $this->regenerateListUnassigned(); // this list require no translation + $this->listFirstExecution('insert', 'unassigned'); } //Return @@ -2443,6 +2453,61 @@ class workspaceTools CLI::logging("> Completed table LIST_PAUSED\n"); } + /*----------------------------------********---------------------------------*/ + public function regenerateListUnassigned(){ + $this->initPropel(true); + $truncate = 'TRUNCATE '.$this->dbName.'.LIST_UNASSIGNED'; + //This executeQuery is very fast than Propel + $query = 'INSERT INTO '.$this->dbName.'.LIST_UNASSIGNED + (APP_UID, + DEL_INDEX, + TAS_UID, + PRO_UID, + APP_NUMBER, + APP_TITLE, + APP_PRO_TITLE, + APP_TAS_TITLE, + DEL_PREVIOUS_USR_USERNAME, + DEL_PREVIOUS_USR_FIRSTNAME, + DEL_PREVIOUS_USR_LASTNAME, + APP_UPDATE_DATE, + DEL_PREVIOUS_USR_UID, + DEL_DELEGATE_DATE, + DEL_DUE_DATE, + DEL_PRIORITY) + + SELECT + ACV.APP_UID, + ACV.DEL_INDEX, + ACV.TAS_UID, + ACV.PRO_UID, + ACV.APP_NUMBER, + ACV.APP_TITLE, + ACV.APP_PRO_TITLE, + ACV.APP_TAS_TITLE, + USR.USR_USERNAME AS DEL_PREVIOUS_USR_USERNAME, + USR.USR_FIRSTNAME AS DEL_PREVIOUS_USR_FIRSTNAME, + USR.USR_LASTNAME AS DEL_PREVIOUS_USR_LASTNAME, + ACV.APP_UPDATE_DATE, + ACV.PREVIOUS_USR_UID AS DEL_PREVIOUS_USR_UID, + ACV.DEL_DELEGATE_DATE AS DEL_DELEGATE_DATE, + ACV.DEL_TASK_DUE_DATE AS DEL_DUE_DATE, + ACV.DEL_PRIORITY + FROM + '.$this->dbName.'.APP_CACHE_VIEW ACV + LEFT JOIN + '.$this->dbName.'.USERS USR ON ACV.PREVIOUS_USR_UID = USR.USR_UID + WHERE + ACV.DEL_THREAD_STATUS = \'OPEN\' + AND ACV.USR_UID = \'\' '; + $con = Propel::getConnection("workflow"); + $stmt = $con->createStatement(); + $stmt->executeQuery($truncate); + $stmt->executeQuery($query); + CLI::logging("> Completed table LIST_UNASSIGNED\n"); + } + /*----------------------------------********---------------------------------*/ + public function migrateCounters() { $this->initPropel(true); @@ -2540,41 +2605,59 @@ class workspaceTools * * return boolean value */ - public function listFirstExecution ($action){ + public function listFirstExecution ($action, $list='all'){ $this->initPropel(true); switch ($action) { - case 'insert': + case 'insert': $conf = new Configuration(); - if (!($conf->exists('MIGRATED_LIST', 'list', 'list', 'list', 'list'))) { - $data["CFG_UID"] ='MIGRATED_LIST'; - $data["OBJ_UID"] ='list'; - $data["CFG_VALUE"]='true'; - $data["PRO_UID"] ='list'; - $data["USR_UID"] ='list'; - $data["APP_UID"] ='list'; - $conf->create($data); + if($list==='all'){ + if (!($conf->exists('MIGRATED_LIST', 'list', 'list', 'list', 'list'))) { + $data["CFG_UID"] ='MIGRATED_LIST'; + $data["OBJ_UID"] ='list'; + $data["CFG_VALUE"]='true'; + $data["PRO_UID"] ='list'; + $data["USR_UID"] ='list'; + $data["APP_UID"] ='list'; + $conf->create($data); + } + } + if($list==='unassigned'){ + if (!($conf->exists('MIGRATED_LIST_UNASSIGNED', 'list', 'list', 'list', 'list'))) { + $data["CFG_UID"] ='MIGRATED_LIST_UNASSIGNED'; + $data["OBJ_UID"] ='list'; + $data["CFG_VALUE"]='true'; + $data["PRO_UID"] ='list'; + $data["USR_UID"] ='list'; + $data["APP_UID"] ='list'; + $conf->create($data); + } } return true; + break; + case 'check': + $criteria = new Criteria("workflow"); + $criteria->addSelectColumn(ConfigurationPeer::CFG_UID); + if($list==='all'){ + $criteria->add(ConfigurationPeer::CFG_UID, "MIGRATED_LIST", CRITERIA::EQUAL); + } + if($list==='unassigned'){ + $criteria->add(ConfigurationPeer::CFG_UID, "MIGRATED_LIST_UNASSIGNED", CRITERIA::EQUAL); + } + $rsCriteria = AppCacheViewPeer::doSelectRS($criteria); + $rsCriteria->setFetchmode(ResultSet::FETCHMODE_ASSOC); + $aRows = array (); + while ($rsCriteria->next()) { + $aRows[] = $rsCriteria->getRow(); + } + if(empty($aRows)){ + return false; //If is false continue with the migrated + } else { + return true; //Stop + } break; - case 'check': - $criteria = new Criteria("workflow"); - $criteria->addSelectColumn(ConfigurationPeer::CFG_UID); - $criteria->add(ConfigurationPeer::CFG_UID, "MIGRATED_LIST", CRITERIA::EQUAL); - $rsCriteria = AppCacheViewPeer::doSelectRS($criteria); - $rsCriteria->setFetchmode(ResultSet::FETCHMODE_ASSOC); - $aRows = array (); - while ($rsCriteria->next()) { - $aRows[] = $rsCriteria->getRow(); - } - if(empty($aRows)){ - return false; //If is false continue with the migrated - } else { - return true; //Stop - } - break; - default: + default: return true; - } + } } /** @@ -2663,7 +2746,7 @@ class workspaceTools CLI::logging(" All roles permissions already updated \n"); } } - + public function checkSequenceNumber() { $criteria = new Criteria("workflow"); diff --git a/workflow/engine/classes/model/ListInbox.php b/workflow/engine/classes/model/ListInbox.php index 28e7a6c64..a949505b4 100644 --- a/workflow/engine/classes/model/ListInbox.php +++ b/workflow/engine/classes/model/ListInbox.php @@ -84,6 +84,8 @@ class ListInbox extends BaseListInbox $listParticipatedLast->create($data); $listParticipatedLast = new ListParticipatedLast(); $listParticipatedLast->refresh($data, $isSelfService); + $listUnassigned = new ListUnassigned(); + $listUnassigned->newRow($data, $data['DEL_PREVIOUS_USR_UID']); } return $result; diff --git a/workflow/engine/classes/model/ListUnassigned.php b/workflow/engine/classes/model/ListUnassigned.php index 296597ab5..a5c7f1d1f 100644 --- a/workflow/engine/classes/model/ListUnassigned.php +++ b/workflow/engine/classes/model/ListUnassigned.php @@ -16,6 +16,7 @@ require_once 'classes/model/om/BaseListUnassigned.php'; */ class ListUnassigned extends BaseListUnassigned { + private $total = 0; /** * Create List Unassigned Table * @@ -79,11 +80,12 @@ class ListUnassigned extends BaseListUnassigned * @throws type * */ - public function remove ($app_uid) + public function remove ($appUid, $delIndex) { $con = Propel::getConnection( ListUnassignedPeer::DATABASE_NAME ); try { - $this->setAppUid($app_uid); + $this->setAppUid($appUid); + $this->setDelIndex($delIndex); $con->begin(); $this->delete(); @@ -94,8 +96,8 @@ class ListUnassigned extends BaseListUnassigned } } - public function newRow ($data, $delPreviusUsrUid) { - $data['UNA_UID'] = (isset($data['UNA_UID'])) ? $data['UNA_UID']: G::GenerateUniqueId() ; + public function newRow ($data, $delPreviusUsrUid) + { $data['DEL_PREVIOUS_USR_UID'] = $delPreviusUsrUid; $data['DEL_DUE_DATE'] = $data['DEL_TASK_DUE_DATE']; @@ -157,13 +159,13 @@ class ListUnassigned extends BaseListUnassigned $dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $dataset->next(); $aRow = $dataset->getRow(); - $data['APP_PREVIOUS_USR_USERNAME'] = $aRow['USR_USERNAME']; - $data['APP_PREVIOUS_USR_FIRSTNAME'] = $aRow['USR_FIRSTNAME']; - $data['APP_PREVIOUS_USR_LASTNAME'] = $aRow['USR_LASTNAME']; + $data['DEL_PREVIOUS_USR_USERNAME'] = $aRow['USR_USERNAME']; + $data['DEL_PREVIOUS_USR_FIRSTNAME'] = $aRow['USR_FIRSTNAME']; + $data['DEL_PREVIOUS_USR_LASTNAME'] = $aRow['USR_LASTNAME']; } self::create($data); - return $data['UNA_UID']; + return true; } public function loadFilters (&$criteria, $filters) @@ -235,13 +237,7 @@ class ListUnassigned extends BaseListUnassigned public function countTotal ($usr_uid, $filters = array()) { - $criteria = new Criteria(); - $aConditions = array(); - $aConditions[] = array(ListUnassignedPeer::UNA_UID, ListUnassignedGroupPeer::UNA_UID); - $aConditions[] = array(ListUnassignedGroupPeer::USR_UID, "'" . $usr_uid . "'"); - $criteria->addJoinMC($aConditions, Criteria::INNER_JOIN); - self::loadFilters($criteria, $filters); - $total = ListUnassignedPeer::doCount( $criteria ); + $total = $this->total; return (int)$total; } @@ -249,6 +245,7 @@ class ListUnassigned extends BaseListUnassigned { $resp = array(); $pmTable = new PmTable(); + $tasks = $this->getSelfServiceTasks( $usr_uid ); $criteria = $pmTable->addPMFieldsToList('unassigned'); $criteria->addSelectColumn(ListUnassignedPeer::APP_UID); @@ -259,124 +256,225 @@ class ListUnassigned extends BaseListUnassigned $criteria->addSelectColumn(ListUnassignedPeer::APP_TITLE); $criteria->addSelectColumn(ListUnassignedPeer::APP_PRO_TITLE); $criteria->addSelectColumn(ListUnassignedPeer::APP_TAS_TITLE); - $criteria->addSelectColumn(ListUnassignedPeer::APP_PREVIOUS_USR_USERNAME); - $criteria->addSelectColumn(ListUnassignedPeer::APP_PREVIOUS_USR_FIRSTNAME); - $criteria->addSelectColumn(ListUnassignedPeer::APP_PREVIOUS_USR_LASTNAME); + $criteria->addSelectColumn(ListUnassignedPeer::APP_UPDATE_DATE); + $criteria->addSelectColumn(ListUnassignedPeer::DEL_PREVIOUS_USR_USERNAME); + $criteria->addSelectColumn(ListUnassignedPeer::DEL_PREVIOUS_USR_FIRSTNAME); + $criteria->addSelectColumn(ListUnassignedPeer::DEL_PREVIOUS_USR_LASTNAME); $criteria->addSelectColumn(ListUnassignedPeer::DEL_PREVIOUS_USR_UID); $criteria->addSelectColumn(ListUnassignedPeer::DEL_DELEGATE_DATE); $criteria->addSelectColumn(ListUnassignedPeer::DEL_DUE_DATE); $criteria->addSelectColumn(ListUnassignedPeer::DEL_PRIORITY); - $aConditions = array(); - $aConditions[] = array(ListUnassignedPeer::UNA_UID, ListUnassignedGroupPeer::UNA_UID); - $aConditions[] = array(ListUnassignedGroupPeer::USR_UID, "'" . $usr_uid . "'"); - $criteria->addJoinMC($aConditions, Criteria::INNER_JOIN); + //Self Service Value Based Assignment + $aSelfServiceValueBased = $this->getSelfServiceCasesByEvaluate($usr_uid); + if (!empty($aSelfServiceValueBased)) { + $criterionAux = null; + //Load Self Service Value Based Assignment + foreach ($aSelfServiceValueBased as $value) { + if (is_null($criterionAux)) { + $criterionAux = $criteria->getNewCriterion( + ListUnassignedPeer::APP_UID, + $value["APP_UID"], + Criteria::EQUAL + )->addAnd( + $criteria->getNewCriterion( + ListUnassignedPeer::DEL_INDEX, + $value["DEL_INDEX"], + Criteria::EQUAL + ) + )->addAnd( + $criteria->getNewCriterion( + ListUnassignedPeer::TAS_UID, + $value["TAS_UID"], + Criteria::EQUAL + ) + ); + } else { + $criterionAux = $criteria->getNewCriterion( + ListUnassignedPeer::APP_UID, + $value["APP_UID"], + Criteria::EQUAL + )->addAnd( + $criteria->getNewCriterion( + ListUnassignedPeer::DEL_INDEX, $value["DEL_INDEX"], Criteria::EQUAL + ) + )->addAnd( + $criteria->getNewCriterion( + ListUnassignedPeer::TAS_UID, $value["TAS_UID"], Criteria::EQUAL + ) + )->addOr( + $criterionAux + ); + } + } + //And Load Selfservice + $criteria->add( + $criterionAux->addOr($criteria->getNewCriterion(ListUnassignedPeer::TAS_UID, $tasks, Criteria::IN)) + ); + }else{ + //Load Selfservice + $criteria->add(ListUnassignedPeer::TAS_UID, $tasks, Criteria::IN); + } + + //Apply some filters self::loadFilters($criteria, $filters); - $sort = (!empty($filters['sort'])) ? $filters['sort'] : "LIST_UNASSIGNED.DEL_DELEGATE_DATE"; $dir = isset($filters['dir']) ? $filters['dir'] : "ASC"; $start = isset($filters['start']) ? $filters['start'] : "0"; $limit = isset($filters['limit']) ? $filters['limit'] : "25"; $paged = isset($filters['paged']) ? $filters['paged'] : 1; $count = isset($filters['count']) ? $filters['count'] : 1; - - if ($count == 1) { - $criteriaTotal = clone $criteria; - $resp['total'] = ListUnassignedPeer::doCount( $criteriaTotal ); - } - if ($dir == "DESC") { $criteria->addDescendingOrderByColumn($sort); } else { $criteria->addAscendingOrderByColumn($sort); } - if ($paged == 1) { $criteria->setLimit( $limit ); $criteria->setOffset( $start ); } - $dataset = ListUnassignedPeer::doSelectRS($criteria); $dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); - $data = array(); $aPriorities = array ('1' => 'VL','2' => 'L','3' => 'N','4' => 'H','5' => 'VH'); + + $data = array(); while ($dataset->next()) { $aRow = (is_null($callbackRecord))? $dataset->getRow() : $callbackRecord($dataset->getRow()); - + $aRow['DEL_PRIORITY'] = (isset($aRow['DEL_PRIORITY']) && is_numeric($aRow['DEL_PRIORITY']) && $aRow['DEL_PRIORITY'] <= 5 && $aRow['DEL_PRIORITY'] > 0 ) ? $aRow['DEL_PRIORITY'] : 3; $aRow['DEL_PRIORITY'] = G::LoadTranslation( "ID_PRIORITY_{$aPriorities[$aRow['DEL_PRIORITY']]}" ); $data[] = $aRow; } - - if ($count == 1) { - $resp['data'] = $data; - } else { - $resp = $data; - } - return $resp; + $this->total = count($data); + return $data; } - /** - * Generate Data - * - * @return object criteria - */ - public function generateData($appUid,$delPreviusUsrUid){ - try { - G::LoadClass("case"); - //Generate data - $case = new Cases(); + /** + * Get Selfservice Value Based + * + * @param string $userUid + * @return array criteria $arrayAppAssignSelfServiceValueData + */ + public function getSelfServiceCasesByEvaluate($userUid) + { + try { + G::LoadClass("groups"); + + $arrayAppAssignSelfServiceValueData = array(); + + //Get APP_UIDs + $group = new Groups(); + $arrayUid = $group->getActiveGroupsForAnUser($userUid); //Set UIDs of Groups (Groups of User) + $arrayUid[] = $userUid; //Set UID of User $criteria = new Criteria("workflow"); - $criteria->addSelectColumn(AppDelegationPeer::APP_UID); - $criteria->addSelectColumn(AppDelegationPeer::DEL_INDEX); - $criteria->addSelectColumn(ApplicationPeer::APP_DATA); - $criteria->addSelectColumn(AppDelegationPeer::PRO_UID); - $criteria->addSelectColumn(AppDelegationPeer::DEL_TASK_DUE_DATE); - $criteria->addSelectColumn(TaskPeer::TAS_UID); - $criteria->addSelectColumn(TaskPeer::TAS_GROUP_VARIABLE); - $criteria->addJoin(AppDelegationPeer::APP_UID, ApplicationPeer::APP_UID, Criteria::LEFT_JOIN); - $criteria->addJoin(AppDelegationPeer::TAS_UID, TaskPeer::TAS_UID, Criteria::LEFT_JOIN); - $criteria->add(TaskPeer::TAS_ASSIGN_TYPE, "SELF_SERVICE", Criteria::EQUAL); - //$criteria->add(TaskPeer::TAS_GROUP_VARIABLE, "", Criteria::NOT_EQUAL); + $criteria->setDistinct(); + $criteria->addSelectColumn(AppAssignSelfServiceValuePeer::APP_UID); + $criteria->addSelectColumn(AppAssignSelfServiceValuePeer::DEL_INDEX); + $criteria->addSelectColumn(AppAssignSelfServiceValuePeer::TAS_UID); + + $arrayCondition = array(); + $arrayCondition[] = array(AppAssignSelfServiceValuePeer::APP_UID, AppDelegationPeer::APP_UID, Criteria::EQUAL); + $arrayCondition[] = array(AppAssignSelfServiceValuePeer::DEL_INDEX, AppDelegationPeer::DEL_INDEX, Criteria::EQUAL); + $arrayCondition[] = array(AppAssignSelfServiceValuePeer::TAS_UID, AppDelegationPeer::TAS_UID, Criteria::EQUAL); + $criteria->addJoinMC($arrayCondition, Criteria::LEFT_JOIN); + $criteria->add(AppDelegationPeer::USR_UID, "", Criteria::EQUAL); $criteria->add(AppDelegationPeer::DEL_THREAD_STATUS, "OPEN", Criteria::EQUAL); - $criteria->add(AppDelegationPeer::APP_UID, $appUid, Criteria::EQUAL); - $rsCriteria = AppDelegationPeer::doSelectRS($criteria); + $criterionAux = null; + + foreach ($arrayUid as $value) { + if (is_null($criterionAux)) { + $criterionAux = $criteria->getNewCriterion(AppAssignSelfServiceValuePeer::GRP_UID, "%$value%", Criteria::LIKE); + } else { + $criterionAux = $criteria->getNewCriterion(AppAssignSelfServiceValuePeer::GRP_UID, "%$value%", Criteria::LIKE)->addOr($criterionAux); + } + } + + $criteria->add($criterionAux); + + $rsCriteria = AppAssignSelfServiceValuePeer::doSelectRS($criteria); $rsCriteria->setFetchmode(ResultSet::FETCHMODE_ASSOC); + while ($rsCriteria->next()) { $row = $rsCriteria->getRow(); - $applicationData = $case->unserializeData($row["APP_DATA"]); - $taskGroupVariable = trim($row["TAS_GROUP_VARIABLE"], " @#"); - $delPreviusUsrUid = ''; - $unaUid = $this->newRow($row,$delPreviusUsrUid); - //Selfservice by group - if ($taskGroupVariable != "" && isset($applicationData[$taskGroupVariable]) && trim($applicationData[$taskGroupVariable]) != "") { - $gprUid = trim($applicationData[$taskGroupVariable]); - //Define Users by Group - $gpr = new GroupUser(); - $arrayUsers = $gpr->getAllGroupUser($gprUid); - foreach($arrayUsers as $urow){ - $newRow["USR_UID"] = $urow["USR_UID"]; - $listUnassignedGpr = new ListUnassignedGroup(); - $listUnassignedGpr->newRow($unaUid,$urow["USR_UID"],"GROUP",$gprUid); - } - } else { - //Define all users assigned to Task - $task = new TaskUser(); - $arrayUsers = $task->getAllUsersTask($row["TAS_UID"]); - foreach($arrayUsers as $urow){ - $newRow["USR_UID"] = $urow["USR_UID"]; - $listUnassignedGpr = new ListUnassignedGroup(); - $listUnassignedGpr->newRow($unaUid,$urow["USR_UID"],"USER",""); - } - } + $arrayAppAssignSelfServiceValueData[] = array( + "APP_UID" => $row["APP_UID"], + "DEL_INDEX" => $row["DEL_INDEX"], + "TAS_UID" => $row["TAS_UID"] + ); } + + //Return + return $arrayAppAssignSelfServiceValueData; } catch (Exception $e) { throw $e; } } + + /** + * get user's SelfService tasks + * @param string $sUIDUser + * @return $rows + */ + public function getSelfServiceTasks($userUid = '') + { + $rows[] = array(); + $tasks = array(); + + //check self service tasks assigned directly to this user + $c = new Criteria(); + $c->clearSelectColumns(); + $c->addSelectColumn(TaskPeer::TAS_UID); + $c->addSelectColumn(TaskPeer::PRO_UID); + $c->addJoin(TaskPeer::PRO_UID, ProcessPeer::PRO_UID, Criteria::LEFT_JOIN); + $c->addJoin(TaskPeer::TAS_UID, TaskUserPeer::TAS_UID, Criteria::LEFT_JOIN); + $c->add(ProcessPeer::PRO_STATUS, 'ACTIVE'); + $c->add(TaskPeer::TAS_ASSIGN_TYPE, 'SELF_SERVICE'); + $c->add(TaskPeer::TAS_GROUP_VARIABLE, ''); + $c->add(TaskUserPeer::USR_UID, $userUid); + + $rs = TaskPeer::doSelectRS($c); + $rs->setFetchmode(ResultSet::FETCHMODE_ASSOC); + $rs->next(); + $row = $rs->getRow(); + + while (is_array($row)) { + $tasks[] = $row['TAS_UID']; + $rs->next(); + $row = $rs->getRow(); + } + + //check groups assigned to SelfService task + G::LoadClass('groups'); + $group = new Groups(); + $aGroups = $group->getActiveGroupsForAnUser($userUid); + + $c = new Criteria(); + $c->clearSelectColumns(); + $c->addSelectColumn(TaskPeer::TAS_UID); + $c->addSelectColumn(TaskPeer::PRO_UID); + $c->addJoin(TaskPeer::PRO_UID, ProcessPeer::PRO_UID, Criteria::LEFT_JOIN); + $c->addJoin(TaskPeer::TAS_UID, TaskUserPeer::TAS_UID, Criteria::LEFT_JOIN); + $c->add(ProcessPeer::PRO_STATUS, 'ACTIVE'); + $c->add(TaskPeer::TAS_ASSIGN_TYPE, 'SELF_SERVICE'); + $c->add(TaskPeer::TAS_GROUP_VARIABLE, ''); + $c->add(TaskUserPeer::USR_UID, $aGroups, Criteria::IN); + + $rs = TaskPeer::doSelectRS($c); + $rs->setFetchmode(ResultSet::FETCHMODE_ASSOC); + $rs->next(); + $row = $rs->getRow(); + + while (is_array($row)) { + $tasks[] = $row['TAS_UID']; + $rs->next(); + $row = $rs->getRow(); + } + + return $tasks; + } } diff --git a/workflow/engine/classes/model/map/ListUnassignedMapBuilder.php b/workflow/engine/classes/model/map/ListUnassignedMapBuilder.php index e8ab00588..46e5714ae 100644 --- a/workflow/engine/classes/model/map/ListUnassignedMapBuilder.php +++ b/workflow/engine/classes/model/map/ListUnassignedMapBuilder.php @@ -67,7 +67,7 @@ class ListUnassignedMapBuilder $tMap->addPrimaryKey('APP_UID', 'AppUid', 'string', CreoleTypes::VARCHAR, true, 32); - $tMap->addPrimaryKey('UNA_UID', 'UnaUid', 'string', CreoleTypes::VARCHAR, true, 32); + $tMap->addPrimaryKey('DEL_INDEX', 'DelIndex', 'int', CreoleTypes::INTEGER, true, null); $tMap->addColumn('TAS_UID', 'TasUid', 'string', CreoleTypes::VARCHAR, true, 32); @@ -81,13 +81,13 @@ class ListUnassignedMapBuilder $tMap->addColumn('APP_TAS_TITLE', 'AppTasTitle', 'string', CreoleTypes::VARCHAR, true, 255); - $tMap->addColumn('APP_PREVIOUS_USR_USERNAME', 'AppPreviousUsrUsername', 'string', CreoleTypes::VARCHAR, false, 100); + $tMap->addColumn('DEL_PREVIOUS_USR_USERNAME', 'DelPreviousUsrUsername', 'string', CreoleTypes::VARCHAR, false, 100); - $tMap->addColumn('APP_PREVIOUS_USR_FIRSTNAME', 'AppPreviousUsrFirstname', 'string', CreoleTypes::VARCHAR, false, 50); + $tMap->addColumn('DEL_PREVIOUS_USR_FIRSTNAME', 'DelPreviousUsrFirstname', 'string', CreoleTypes::VARCHAR, false, 50); - $tMap->addColumn('APP_PREVIOUS_USR_LASTNAME', 'AppPreviousUsrLastname', 'string', CreoleTypes::VARCHAR, false, 50); + $tMap->addColumn('DEL_PREVIOUS_USR_LASTNAME', 'DelPreviousUsrLastname', 'string', CreoleTypes::VARCHAR, false, 50); - $tMap->addColumn('DEL_INDEX', 'DelIndex', 'int', CreoleTypes::INTEGER, true, null); + $tMap->addColumn('APP_UPDATE_DATE', 'AppUpdateDate', 'int', CreoleTypes::TIMESTAMP, true, null); $tMap->addColumn('DEL_PREVIOUS_USR_UID', 'DelPreviousUsrUid', 'string', CreoleTypes::VARCHAR, false, 32); diff --git a/workflow/engine/classes/model/om/BaseListUnassigned.php b/workflow/engine/classes/model/om/BaseListUnassigned.php index 99ea97f2c..a47da2fe6 100644 --- a/workflow/engine/classes/model/om/BaseListUnassigned.php +++ b/workflow/engine/classes/model/om/BaseListUnassigned.php @@ -34,10 +34,10 @@ abstract class BaseListUnassigned extends BaseObject implements Persistent protected $app_uid = ''; /** - * The value for the una_uid field. + * The value for the del_index field. * @var string */ - protected $una_uid = ''; + protected $del_index = 0; /** * The value for the tas_uid field. @@ -76,28 +76,28 @@ abstract class BaseListUnassigned extends BaseObject implements Persistent protected $app_tas_title = ''; /** - * The value for the app_previous_usr_username field. + * The value for the del_previous_usr_username field. * @var string */ - protected $app_previous_usr_username = ''; + protected $del_previous_usr_username = ''; /** - * The value for the app_previous_usr_firstname field. + * The value for the del_previous_usr_firstname field. * @var string */ - protected $app_previous_usr_firstname = ''; + protected $del_previous_usr_firstname = ''; /** - * The value for the app_previous_usr_lastname field. + * The value for the del_previous_usr_lastname field. * @var string */ - protected $app_previous_usr_lastname = ''; + protected $del_previous_usr_lastname = ''; /** - * The value for the del_index field. + * The value for the app_update_date field. * @var int */ - protected $del_index = 0; + protected $app_update_date; /** * The value for the del_previous_usr_uid field. @@ -149,14 +149,14 @@ abstract class BaseListUnassigned extends BaseObject implements Persistent } /** - * Get the [una_uid] column value. + * Get the [del_index] column value. * * @return string */ - public function getUnaUid() + public function getDelIndex() { - return $this->una_uid; + return $this->del_index; } /** @@ -226,47 +226,68 @@ abstract class BaseListUnassigned extends BaseObject implements Persistent } /** - * Get the [app_previous_usr_username] column value. + * Get the [del_previous_usr_username] column value. * * @return string */ public function getAppPreviousUsrUsername() { - return $this->app_previous_usr_username; + return $this->del_previous_usr_username; } /** - * Get the [app_previous_usr_firstname] column value. + * Get the [del_previous_usr_firstname] column value. * * @return string */ public function getAppPreviousUsrFirstname() { - return $this->app_previous_usr_firstname; + return $this->del_previous_usr_firstname; } /** - * Get the [app_previous_usr_lastname] column value. + * Get the [del_previous_usr_lastname] column value. * * @return string */ public function getAppPreviousUsrLastname() { - return $this->app_previous_usr_lastname; + return $this->del_previous_usr_lastname; } /** - * Get the [del_index] column value. + * Get the [optionally formatted] [app_update_date] column value. * - * @return int + * @param string $format The date/time format string (either date()-style or strftime()-style). + * If format is NULL, then the integer unix timestamp will be returned. + * @return mixed Formatted date/time value as string or integer unix timestamp (if format is NULL). + * @throws PropelException - if unable to convert the date/time to timestamp. */ - public function getDelIndex() + public function getAppUpdateDate($format = 'Y-m-d H:i:s') { - return $this->del_index; + if ($this->app_update_date === null || $this->app_update_date === '') { + return null; + } elseif (!is_int($this->app_update_date)) { + // a non-timestamp value was set externally, so we convert it + $ts = strtotime($this->app_update_date); + if ($ts === -1 || $ts === false) { + throw new PropelException("Unable to parse value of [app_update_date] as date/time value: " . + var_export($this->app_update_date, true)); + } + } else { + $ts = $this->app_update_date; + } + if ($format === null) { + return $ts; + } elseif (strpos($format, '%') !== false) { + return strftime($format, $ts); + } else { + return date($format, $ts); + } } /** @@ -378,26 +399,26 @@ abstract class BaseListUnassigned extends BaseObject implements Persistent } // setAppUid() /** - * Set the value of [una_uid] column. + * Set the value of [del_index] column. * - * @param string $v new value + * @param int $v new value * @return void */ - public function setUnaUid($v) + public function setDelIndex($v) { - // Since the native PHP type for this column is string, - // we will cast the input to a string (if it is not). - if ($v !== null && !is_string($v)) { - $v = (string) $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->una_uid !== $v || $v === '') { - $this->una_uid = $v; - $this->modifiedColumns[] = ListUnassignedPeer::UNA_UID; + if ($this->del_index !== $v || $v === 0) { + $this->del_index = $v; + $this->modifiedColumns[] = ListUnassignedPeer::DEL_INDEX; } - } // setUnaUid() + } // setDelIndex() /** * Set the value of [tas_uid] column. @@ -532,7 +553,7 @@ abstract class BaseListUnassigned extends BaseObject implements Persistent } // setAppTasTitle() /** - * Set the value of [app_previous_usr_username] column. + * Set the value of [del_previous_usr_username] column. * * @param string $v new value * @return void @@ -546,15 +567,15 @@ abstract class BaseListUnassigned extends BaseObject implements Persistent $v = (string) $v; } - if ($this->app_previous_usr_username !== $v || $v === '') { - $this->app_previous_usr_username = $v; - $this->modifiedColumns[] = ListUnassignedPeer::APP_PREVIOUS_USR_USERNAME; + if ($this->del_previous_usr_username !== $v || $v === '') { + $this->del_previous_usr_username = $v; + $this->modifiedColumns[] = ListUnassignedPeer::DEL_PREVIOUS_USR_USERNAME; } } // setAppPreviousUsrUsername() /** - * Set the value of [app_previous_usr_firstname] column. + * Set the value of [del_previous_usr_firstname] column. * * @param string $v new value * @return void @@ -568,15 +589,15 @@ abstract class BaseListUnassigned extends BaseObject implements Persistent $v = (string) $v; } - if ($this->app_previous_usr_firstname !== $v || $v === '') { - $this->app_previous_usr_firstname = $v; - $this->modifiedColumns[] = ListUnassignedPeer::APP_PREVIOUS_USR_FIRSTNAME; + if ($this->del_previous_usr_firstname !== $v || $v === '') { + $this->del_previous_usr_firstname = $v; + $this->modifiedColumns[] = ListUnassignedPeer::DEL_PREVIOUS_USR_FIRSTNAME; } } // setAppPreviousUsrFirstname() /** - * Set the value of [app_previous_usr_lastname] column. + * Set the value of [del_previous_usr_lastname] column. * * @param string $v new value * @return void @@ -590,34 +611,41 @@ abstract class BaseListUnassigned extends BaseObject implements Persistent $v = (string) $v; } - if ($this->app_previous_usr_lastname !== $v || $v === '') { - $this->app_previous_usr_lastname = $v; - $this->modifiedColumns[] = ListUnassignedPeer::APP_PREVIOUS_USR_LASTNAME; + if ($this->del_previous_usr_lastname !== $v || $v === '') { + $this->del_previous_usr_lastname = $v; + $this->modifiedColumns[] = ListUnassignedPeer::DEL_PREVIOUS_USR_LASTNAME; } } // setAppPreviousUsrLastname() /** - * Set the value of [del_index] column. + * Set the value of [app_update_date] column. * * @param int $v new value * @return void */ - public function setDelIndex($v) + public function setAppUpdateDate($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 ($v !== null && !is_int($v)) { + $ts = strtotime($v); + //Date/time accepts null values + if ($v == '') { + $ts = null; + } + if ($ts === -1 || $ts === false) { + throw new PropelException("Unable to parse date/time value for [app_update_date] from input: " . + var_export($v, true)); + } + } else { + $ts = $v; + } + if ($this->app_update_date !== $ts) { + $this->app_update_date = $ts; + $this->modifiedColumns[] = ListUnassignedPeer::APP_UPDATE_DATE; } - if ($this->del_index !== $v || $v === 0) { - $this->del_index = $v; - $this->modifiedColumns[] = ListUnassignedPeer::DEL_INDEX; - } - - } // setDelIndex() + } // setAppUpdateDate() /** * Set the value of [del_previous_usr_uid] column. @@ -740,7 +768,7 @@ abstract class BaseListUnassigned extends BaseObject implements Persistent $this->app_uid = $rs->getString($startcol + 0); - $this->una_uid = $rs->getString($startcol + 1); + $this->del_index = $rs->getInt($startcol + 1); $this->tas_uid = $rs->getString($startcol + 2); @@ -754,13 +782,13 @@ abstract class BaseListUnassigned extends BaseObject implements Persistent $this->app_tas_title = $rs->getString($startcol + 7); - $this->app_previous_usr_username = $rs->getString($startcol + 8); + $this->del_previous_usr_username = $rs->getString($startcol + 8); - $this->app_previous_usr_firstname = $rs->getString($startcol + 9); + $this->del_previous_usr_firstname = $rs->getString($startcol + 9); - $this->app_previous_usr_lastname = $rs->getString($startcol + 10); + $this->del_previous_usr_lastname = $rs->getString($startcol + 10); - $this->del_index = $rs->getInt($startcol + 11); + $this->app_update_date = $rs->getTimestamp($startcol + 11, null); $this->del_previous_usr_uid = $rs->getString($startcol + 12); @@ -983,7 +1011,7 @@ abstract class BaseListUnassigned extends BaseObject implements Persistent return $this->getAppUid(); break; case 1: - return $this->getUnaUid(); + return $this->getDelIndex(); break; case 2: return $this->getTasUid(); @@ -1013,7 +1041,7 @@ abstract class BaseListUnassigned extends BaseObject implements Persistent return $this->getAppPreviousUsrLastname(); break; case 11: - return $this->getDelIndex(); + return $this->getAppUpdateDate(); break; case 12: return $this->getDelPreviousUsrUid(); @@ -1048,7 +1076,7 @@ abstract class BaseListUnassigned extends BaseObject implements Persistent $keys = ListUnassignedPeer::getFieldNames($keyType); $result = array( $keys[0] => $this->getAppUid(), - $keys[1] => $this->getUnaUid(), + $keys[1] => $this->getDelIndex(), $keys[2] => $this->getTasUid(), $keys[3] => $this->getProUid(), $keys[4] => $this->getAppNumber(), @@ -1058,7 +1086,7 @@ abstract class BaseListUnassigned extends BaseObject implements Persistent $keys[8] => $this->getAppPreviousUsrUsername(), $keys[9] => $this->getAppPreviousUsrFirstname(), $keys[10] => $this->getAppPreviousUsrLastname(), - $keys[11] => $this->getDelIndex(), + $keys[11] => $this->getAppUpdateDate(), $keys[12] => $this->getDelPreviousUsrUid(), $keys[13] => $this->getDelDelegateDate(), $keys[14] => $this->getDelDueDate(), @@ -1098,7 +1126,7 @@ abstract class BaseListUnassigned extends BaseObject implements Persistent $this->setAppUid($value); break; case 1: - $this->setUnaUid($value); + $this->setDelIndex($value); break; case 2: $this->setTasUid($value); @@ -1128,7 +1156,7 @@ abstract class BaseListUnassigned extends BaseObject implements Persistent $this->setAppPreviousUsrLastname($value); break; case 11: - $this->setDelIndex($value); + $this->setAppUpdateDate($value); break; case 12: $this->setDelPreviousUsrUid($value); @@ -1170,7 +1198,7 @@ abstract class BaseListUnassigned extends BaseObject implements Persistent } if (array_key_exists($keys[1], $arr)) { - $this->setUnaUid($arr[$keys[1]]); + $this->setDelIndex($arr[$keys[1]]); } if (array_key_exists($keys[2], $arr)) { @@ -1210,7 +1238,7 @@ abstract class BaseListUnassigned extends BaseObject implements Persistent } if (array_key_exists($keys[11], $arr)) { - $this->setDelIndex($arr[$keys[11]]); + $this->setAppUpdateDate($arr[$keys[11]]); } if (array_key_exists($keys[12], $arr)) { @@ -1244,8 +1272,8 @@ abstract class BaseListUnassigned extends BaseObject implements Persistent $criteria->add(ListUnassignedPeer::APP_UID, $this->app_uid); } - if ($this->isColumnModified(ListUnassignedPeer::UNA_UID)) { - $criteria->add(ListUnassignedPeer::UNA_UID, $this->una_uid); + if ($this->isColumnModified(ListUnassignedPeer::DEL_INDEX)) { + $criteria->add(ListUnassignedPeer::DEL_INDEX, $this->del_index); } if ($this->isColumnModified(ListUnassignedPeer::TAS_UID)) { @@ -1272,20 +1300,20 @@ abstract class BaseListUnassigned extends BaseObject implements Persistent $criteria->add(ListUnassignedPeer::APP_TAS_TITLE, $this->app_tas_title); } - if ($this->isColumnModified(ListUnassignedPeer::APP_PREVIOUS_USR_USERNAME)) { - $criteria->add(ListUnassignedPeer::APP_PREVIOUS_USR_USERNAME, $this->app_previous_usr_username); + if ($this->isColumnModified(ListUnassignedPeer::DEL_PREVIOUS_USR_USERNAME)) { + $criteria->add(ListUnassignedPeer::DEL_PREVIOUS_USR_USERNAME, $this->del_previous_usr_username); } - if ($this->isColumnModified(ListUnassignedPeer::APP_PREVIOUS_USR_FIRSTNAME)) { - $criteria->add(ListUnassignedPeer::APP_PREVIOUS_USR_FIRSTNAME, $this->app_previous_usr_firstname); + if ($this->isColumnModified(ListUnassignedPeer::DEL_PREVIOUS_USR_FIRSTNAME)) { + $criteria->add(ListUnassignedPeer::DEL_PREVIOUS_USR_FIRSTNAME, $this->del_previous_usr_firstname); } - if ($this->isColumnModified(ListUnassignedPeer::APP_PREVIOUS_USR_LASTNAME)) { - $criteria->add(ListUnassignedPeer::APP_PREVIOUS_USR_LASTNAME, $this->app_previous_usr_lastname); + if ($this->isColumnModified(ListUnassignedPeer::DEL_PREVIOUS_USR_LASTNAME)) { + $criteria->add(ListUnassignedPeer::DEL_PREVIOUS_USR_LASTNAME, $this->del_previous_usr_lastname); } - if ($this->isColumnModified(ListUnassignedPeer::DEL_INDEX)) { - $criteria->add(ListUnassignedPeer::DEL_INDEX, $this->del_index); + if ($this->isColumnModified(ListUnassignedPeer::APP_UPDATE_DATE)) { + $criteria->add(ListUnassignedPeer::APP_UPDATE_DATE, $this->app_update_date); } if ($this->isColumnModified(ListUnassignedPeer::DEL_PREVIOUS_USR_UID)) { @@ -1321,7 +1349,7 @@ abstract class BaseListUnassigned extends BaseObject implements Persistent $criteria = new Criteria(ListUnassignedPeer::DATABASE_NAME); $criteria->add(ListUnassignedPeer::APP_UID, $this->app_uid); - $criteria->add(ListUnassignedPeer::UNA_UID, $this->una_uid); + $criteria->add(ListUnassignedPeer::DEL_INDEX, $this->del_index); return $criteria; } @@ -1337,7 +1365,7 @@ abstract class BaseListUnassigned extends BaseObject implements Persistent $pks[0] = $this->getAppUid(); - $pks[1] = $this->getUnaUid(); + $pks[1] = $this->getDelIndex(); return $pks; } @@ -1353,7 +1381,7 @@ abstract class BaseListUnassigned extends BaseObject implements Persistent $this->setAppUid($keys[0]); - $this->setUnaUid($keys[1]); + $this->setDelIndex($keys[1]); } @@ -1382,13 +1410,13 @@ abstract class BaseListUnassigned extends BaseObject implements Persistent $copyObj->setAppTasTitle($this->app_tas_title); - $copyObj->setAppPreviousUsrUsername($this->app_previous_usr_username); + $copyObj->setAppPreviousUsrUsername($this->del_previous_usr_username); - $copyObj->setAppPreviousUsrFirstname($this->app_previous_usr_firstname); + $copyObj->setAppPreviousUsrFirstname($this->del_previous_usr_firstname); - $copyObj->setAppPreviousUsrLastname($this->app_previous_usr_lastname); + $copyObj->setAppPreviousUsrLastname($this->del_previous_usr_lastname); - $copyObj->setDelIndex($this->del_index); + $copyObj->setAppUpdateDate($this->app_update_date); $copyObj->setDelPreviousUsrUid($this->del_previous_usr_uid); @@ -1403,7 +1431,7 @@ abstract class BaseListUnassigned extends BaseObject implements Persistent $copyObj->setAppUid(''); // this is a pkey column, so set to default value - $copyObj->setUnaUid(''); // this is a pkey column, so set to default value + $copyObj->setDelIndex(0); // this is a pkey column, so set to default value } diff --git a/workflow/engine/classes/model/om/BaseListUnassignedPeer.php b/workflow/engine/classes/model/om/BaseListUnassignedPeer.php index f1aa4a965..6ba0832db 100644 --- a/workflow/engine/classes/model/om/BaseListUnassignedPeer.php +++ b/workflow/engine/classes/model/om/BaseListUnassignedPeer.php @@ -34,8 +34,8 @@ abstract class BaseListUnassignedPeer /** the column name for the APP_UID field */ const APP_UID = 'LIST_UNASSIGNED.APP_UID'; - /** the column name for the UNA_UID field */ - const UNA_UID = 'LIST_UNASSIGNED.UNA_UID'; + /** the column name for the DEL_INDEX field */ + const DEL_INDEX = 'LIST_UNASSIGNED.DEL_INDEX'; /** the column name for the TAS_UID field */ const TAS_UID = 'LIST_UNASSIGNED.TAS_UID'; @@ -55,17 +55,17 @@ abstract class BaseListUnassignedPeer /** the column name for the APP_TAS_TITLE field */ const APP_TAS_TITLE = 'LIST_UNASSIGNED.APP_TAS_TITLE'; - /** the column name for the APP_PREVIOUS_USR_USERNAME field */ - const APP_PREVIOUS_USR_USERNAME = 'LIST_UNASSIGNED.APP_PREVIOUS_USR_USERNAME'; + /** the column name for the DEL_PREVIOUS_USR_USERNAME field */ + const DEL_PREVIOUS_USR_USERNAME = 'LIST_UNASSIGNED.DEL_PREVIOUS_USR_USERNAME'; - /** the column name for the APP_PREVIOUS_USR_FIRSTNAME field */ - const APP_PREVIOUS_USR_FIRSTNAME = 'LIST_UNASSIGNED.APP_PREVIOUS_USR_FIRSTNAME'; + /** the column name for the DEL_PREVIOUS_USR_FIRSTNAME field */ + const DEL_PREVIOUS_USR_FIRSTNAME = 'LIST_UNASSIGNED.DEL_PREVIOUS_USR_FIRSTNAME'; - /** the column name for the APP_PREVIOUS_USR_LASTNAME field */ - const APP_PREVIOUS_USR_LASTNAME = 'LIST_UNASSIGNED.APP_PREVIOUS_USR_LASTNAME'; + /** the column name for the DEL_PREVIOUS_USR_LASTNAME field */ + const DEL_PREVIOUS_USR_LASTNAME = 'LIST_UNASSIGNED.DEL_PREVIOUS_USR_LASTNAME'; - /** the column name for the DEL_INDEX field */ - const DEL_INDEX = 'LIST_UNASSIGNED.DEL_INDEX'; + /** the column name for the APP_UPDATE_DATE field */ + const APP_UPDATE_DATE = 'LIST_UNASSIGNED.APP_UPDATE_DATE'; /** the column name for the DEL_PREVIOUS_USR_UID field */ const DEL_PREVIOUS_USR_UID = 'LIST_UNASSIGNED.DEL_PREVIOUS_USR_UID'; @@ -90,9 +90,9 @@ abstract class BaseListUnassignedPeer * e.g. self::$fieldNames[self::TYPE_PHPNAME][0] = 'Id' */ private static $fieldNames = array ( - BasePeer::TYPE_PHPNAME => array ('AppUid', 'UnaUid', 'TasUid', 'ProUid', 'AppNumber', 'AppTitle', 'AppProTitle', 'AppTasTitle', 'AppPreviousUsrUsername', 'AppPreviousUsrFirstname', 'AppPreviousUsrLastname', 'DelIndex', 'DelPreviousUsrUid', 'DelDelegateDate', 'DelDueDate', 'DelPriority', ), - BasePeer::TYPE_COLNAME => array (ListUnassignedPeer::APP_UID, ListUnassignedPeer::UNA_UID, ListUnassignedPeer::TAS_UID, ListUnassignedPeer::PRO_UID, ListUnassignedPeer::APP_NUMBER, ListUnassignedPeer::APP_TITLE, ListUnassignedPeer::APP_PRO_TITLE, ListUnassignedPeer::APP_TAS_TITLE, ListUnassignedPeer::APP_PREVIOUS_USR_USERNAME, ListUnassignedPeer::APP_PREVIOUS_USR_FIRSTNAME, ListUnassignedPeer::APP_PREVIOUS_USR_LASTNAME, ListUnassignedPeer::DEL_INDEX, ListUnassignedPeer::DEL_PREVIOUS_USR_UID, ListUnassignedPeer::DEL_DELEGATE_DATE, ListUnassignedPeer::DEL_DUE_DATE, ListUnassignedPeer::DEL_PRIORITY, ), - BasePeer::TYPE_FIELDNAME => array ('APP_UID', 'UNA_UID', 'TAS_UID', 'PRO_UID', 'APP_NUMBER', 'APP_TITLE', 'APP_PRO_TITLE', 'APP_TAS_TITLE', 'APP_PREVIOUS_USR_USERNAME', 'APP_PREVIOUS_USR_FIRSTNAME', 'APP_PREVIOUS_USR_LASTNAME', 'DEL_INDEX', 'DEL_PREVIOUS_USR_UID', 'DEL_DELEGATE_DATE', 'DEL_DUE_DATE', 'DEL_PRIORITY', ), + BasePeer::TYPE_PHPNAME => array ('AppUid', 'DelIndex', 'TasUid', 'ProUid', 'AppNumber', 'AppTitle', 'AppProTitle', 'AppTasTitle', 'DelPreviousUsrUsername', 'DelPreviousUsrFirstname', 'DelPreviousUsrLastname', 'AppUpdateDate', 'DelPreviousUsrUid', 'DelDelegateDate', 'DelDueDate', 'DelPriority', ), + BasePeer::TYPE_COLNAME => array (ListUnassignedPeer::APP_UID, ListUnassignedPeer::DEL_INDEX, ListUnassignedPeer::TAS_UID, ListUnassignedPeer::PRO_UID, ListUnassignedPeer::APP_NUMBER, ListUnassignedPeer::APP_TITLE, ListUnassignedPeer::APP_PRO_TITLE, ListUnassignedPeer::APP_TAS_TITLE, ListUnassignedPeer::DEL_PREVIOUS_USR_USERNAME, ListUnassignedPeer::DEL_PREVIOUS_USR_FIRSTNAME, ListUnassignedPeer::DEL_PREVIOUS_USR_LASTNAME, ListUnassignedPeer::APP_UPDATE_DATE, ListUnassignedPeer::DEL_PREVIOUS_USR_UID, ListUnassignedPeer::DEL_DELEGATE_DATE, ListUnassignedPeer::DEL_DUE_DATE, ListUnassignedPeer::DEL_PRIORITY, ), + BasePeer::TYPE_FIELDNAME => array ('APP_UID', 'DEL_INDEX', 'TAS_UID', 'PRO_UID', 'APP_NUMBER', 'APP_TITLE', 'APP_PRO_TITLE', 'APP_TAS_TITLE', 'DEL_PREVIOUS_USR_USERNAME', 'DEL_PREVIOUS_USR_FIRSTNAME', 'DEL_PREVIOUS_USR_LASTNAME', 'APP_UPDATE_DATE', 'DEL_PREVIOUS_USR_UID', 'DEL_DELEGATE_DATE', 'DEL_DUE_DATE', 'DEL_PRIORITY', ), BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, ) ); @@ -103,9 +103,9 @@ abstract class BaseListUnassignedPeer * e.g. self::$fieldNames[BasePeer::TYPE_PHPNAME]['Id'] = 0 */ private static $fieldKeys = array ( - BasePeer::TYPE_PHPNAME => array ('AppUid' => 0, 'UnaUid' => 1, 'TasUid' => 2, 'ProUid' => 3, 'AppNumber' => 4, 'AppTitle' => 5, 'AppProTitle' => 6, 'AppTasTitle' => 7, 'AppPreviousUsrUsername' => 8, 'AppPreviousUsrFirstname' => 9, 'AppPreviousUsrLastname' => 10, 'DelIndex' => 11, 'DelPreviousUsrUid' => 12, 'DelDelegateDate' => 13, 'DelDueDate' => 14, 'DelPriority' => 15, ), - BasePeer::TYPE_COLNAME => array (ListUnassignedPeer::APP_UID => 0, ListUnassignedPeer::UNA_UID => 1, ListUnassignedPeer::TAS_UID => 2, ListUnassignedPeer::PRO_UID => 3, ListUnassignedPeer::APP_NUMBER => 4, ListUnassignedPeer::APP_TITLE => 5, ListUnassignedPeer::APP_PRO_TITLE => 6, ListUnassignedPeer::APP_TAS_TITLE => 7, ListUnassignedPeer::APP_PREVIOUS_USR_USERNAME => 8, ListUnassignedPeer::APP_PREVIOUS_USR_FIRSTNAME => 9, ListUnassignedPeer::APP_PREVIOUS_USR_LASTNAME => 10, ListUnassignedPeer::DEL_INDEX => 11, ListUnassignedPeer::DEL_PREVIOUS_USR_UID => 12, ListUnassignedPeer::DEL_DELEGATE_DATE => 13, ListUnassignedPeer::DEL_DUE_DATE => 14, ListUnassignedPeer::DEL_PRIORITY => 15, ), - BasePeer::TYPE_FIELDNAME => array ('APP_UID' => 0, 'UNA_UID' => 1, 'TAS_UID' => 2, 'PRO_UID' => 3, 'APP_NUMBER' => 4, 'APP_TITLE' => 5, 'APP_PRO_TITLE' => 6, 'APP_TAS_TITLE' => 7, 'APP_PREVIOUS_USR_USERNAME' => 8, 'APP_PREVIOUS_USR_FIRSTNAME' => 9, 'APP_PREVIOUS_USR_LASTNAME' => 10, 'DEL_INDEX' => 11, 'DEL_PREVIOUS_USR_UID' => 12, 'DEL_DELEGATE_DATE' => 13, 'DEL_DUE_DATE' => 14, 'DEL_PRIORITY' => 15, ), + BasePeer::TYPE_PHPNAME => array ('AppUid' => 0, 'DelIndex' => 1, 'TasUid' => 2, 'ProUid' => 3, 'AppNumber' => 4, 'AppTitle' => 5, 'AppProTitle' => 6, 'AppTasTitle' => 7, 'AppPreviousUsrUsername' => 8, 'AppPreviousUsrFirstname' => 9, 'AppPreviousUsrLastname' => 10, 'AppUpdateDate' => 11, 'DelPreviousUsrUid' => 12, 'DelDelegateDate' => 13, 'DelDueDate' => 14, 'DelPriority' => 15, ), + BasePeer::TYPE_COLNAME => array (ListUnassignedPeer::APP_UID => 0, ListUnassignedPeer::DEL_INDEX => 1, ListUnassignedPeer::TAS_UID => 2, ListUnassignedPeer::PRO_UID => 3, ListUnassignedPeer::APP_NUMBER => 4, ListUnassignedPeer::APP_TITLE => 5, ListUnassignedPeer::APP_PRO_TITLE => 6, ListUnassignedPeer::APP_TAS_TITLE => 7, ListUnassignedPeer::DEL_PREVIOUS_USR_USERNAME => 8, ListUnassignedPeer::DEL_PREVIOUS_USR_FIRSTNAME => 9, ListUnassignedPeer::DEL_PREVIOUS_USR_LASTNAME => 10, ListUnassignedPeer::APP_UPDATE_DATE => 11, ListUnassignedPeer::DEL_PREVIOUS_USR_UID => 12, ListUnassignedPeer::DEL_DELEGATE_DATE => 13, ListUnassignedPeer::DEL_DUE_DATE => 14, ListUnassignedPeer::DEL_PRIORITY => 15, ), + BasePeer::TYPE_FIELDNAME => array ('APP_UID' => 0, 'DEL_INDEX' => 1, 'TAS_UID' => 2, 'PRO_UID' => 3, 'APP_NUMBER' => 4, 'APP_TITLE' => 5, 'APP_PRO_TITLE' => 6, 'APP_TAS_TITLE' => 7, 'DEL_PREVIOUS_USR_USERNAME' => 8, 'DEL_PREVIOUS_USR_FIRSTNAME' => 9, 'DEL_PREVIOUS_USR_LASTNAME' => 10, 'APP_UPDATE_DATE' => 11, 'DEL_PREVIOUS_USR_UID' => 12, 'DEL_DELEGATE_DATE' => 13, 'DEL_DUE_DATE' => 14, 'DEL_PRIORITY' => 15, ), BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, ) ); @@ -209,7 +209,7 @@ abstract class BaseListUnassignedPeer $criteria->addSelectColumn(ListUnassignedPeer::APP_UID); - $criteria->addSelectColumn(ListUnassignedPeer::UNA_UID); + $criteria->addSelectColumn(ListUnassignedPeer::DEL_INDEX); $criteria->addSelectColumn(ListUnassignedPeer::TAS_UID); @@ -223,13 +223,13 @@ abstract class BaseListUnassignedPeer $criteria->addSelectColumn(ListUnassignedPeer::APP_TAS_TITLE); - $criteria->addSelectColumn(ListUnassignedPeer::APP_PREVIOUS_USR_USERNAME); + $criteria->addSelectColumn(ListUnassignedPeer::DEL_PREVIOUS_USR_USERNAME); - $criteria->addSelectColumn(ListUnassignedPeer::APP_PREVIOUS_USR_FIRSTNAME); + $criteria->addSelectColumn(ListUnassignedPeer::DEL_PREVIOUS_USR_FIRSTNAME); - $criteria->addSelectColumn(ListUnassignedPeer::APP_PREVIOUS_USR_LASTNAME); + $criteria->addSelectColumn(ListUnassignedPeer::DEL_PREVIOUS_USR_LASTNAME); - $criteria->addSelectColumn(ListUnassignedPeer::DEL_INDEX); + $criteria->addSelectColumn(ListUnassignedPeer::APP_UPDATE_DATE); $criteria->addSelectColumn(ListUnassignedPeer::DEL_PREVIOUS_USR_UID); @@ -454,8 +454,8 @@ abstract class BaseListUnassignedPeer $comparison = $criteria->getComparison(ListUnassignedPeer::APP_UID); $selectCriteria->add(ListUnassignedPeer::APP_UID, $criteria->remove(ListUnassignedPeer::APP_UID), $comparison); - $comparison = $criteria->getComparison(ListUnassignedPeer::UNA_UID); - $selectCriteria->add(ListUnassignedPeer::UNA_UID, $criteria->remove(ListUnassignedPeer::UNA_UID), $comparison); + $comparison = $criteria->getComparison(ListUnassignedPeer::DEL_INDEX); + $selectCriteria->add(ListUnassignedPeer::DEL_INDEX, $criteria->remove(ListUnassignedPeer::DEL_INDEX), $comparison); } else { $criteria = $values->buildCriteria(); // gets full criteria @@ -533,7 +533,7 @@ abstract class BaseListUnassignedPeer } $criteria->add(ListUnassignedPeer::APP_UID, $vals[0], Criteria::IN); - $criteria->add(ListUnassignedPeer::UNA_UID, $vals[1], Criteria::IN); + $criteria->add(ListUnassignedPeer::DEL_INDEX, $vals[1], Criteria::IN); } // Set the correct dbName @@ -595,18 +595,18 @@ abstract class BaseListUnassignedPeer /** * Retrieve object using using composite pkey values. * @param string $app_uid - * @param string $una_uid + * @param string $del_index * @param Connection $con * @return ListUnassigned */ - public static function retrieveByPK($app_uid, $una_uid, $con = null) + public static function retrieveByPK($app_uid, $del_index, $con = null) { if ($con === null) { $con = Propel::getConnection(self::DATABASE_NAME); } $criteria = new Criteria(); $criteria->add(ListUnassignedPeer::APP_UID, $app_uid); - $criteria->add(ListUnassignedPeer::UNA_UID, $una_uid); + $criteria->add(ListUnassignedPeer::DEL_INDEX, $del_index); $v = ListUnassignedPeer::doSelect($criteria, $con); return !empty($v) ? $v[0] : null; diff --git a/workflow/engine/config/schema.xml b/workflow/engine/config/schema.xml index d43bbb704..b9d43ab20 100755 --- a/workflow/engine/config/schema.xml +++ b/workflow/engine/config/schema.xml @@ -4406,17 +4406,17 @@ - + - - - - + + + + diff --git a/workflow/engine/data/mysql/insert.sql b/workflow/engine/data/mysql/insert.sql index 391b36807..3a3ff6958 100644 --- a/workflow/engine/data/mysql/insert.sql +++ b/workflow/engine/data/mysql/insert.sql @@ -61452,6 +61452,8 @@ INSERT INTO DASHLET_INSTANCE (DAS_INS_UID,DAS_UID,DAS_INS_OWNER_TYPE,DAS_INS_OWN INSERT INTO CONFIGURATION (CFG_UID,OBJ_UID,CFG_VALUE,PRO_UID,USR_UID,APP_UID) VALUES ('ENVIRONMENT_SETTINGS','','a:1:{s:18:"directoryStructure";i:2;}','','',''); +('MIGRATED_LIST','list','true','list','list','list'); +('MIGRATED_LIST_UNASSIGNED','list','true','list','list','list'); INSERT INTO CATALOG (CAT_UID, CAT_LABEL_ID, CAT_TYPE, CAT_FLAG, CAT_OBSERVATION, CAT_CREATE_DATE, CAT_UPDATE_DATE) VALUES ('10','ID_BARS','GRAPHIC','','','2015-03-04','2015-03-04'), diff --git a/workflow/engine/data/mysql/schema.sql b/workflow/engine/data/mysql/schema.sql index c59875174..8921e1544 100755 --- a/workflow/engine/data/mysql/schema.sql +++ b/workflow/engine/data/mysql/schema.sql @@ -2491,17 +2491,17 @@ DROP TABLE IF EXISTS `LIST_UNASSIGNED`; CREATE TABLE `LIST_UNASSIGNED` ( `APP_UID` VARCHAR(32) default '' NOT NULL, - `UNA_UID` VARCHAR(32) default '' NOT NULL, + `DEL_INDEX` INTEGER default 0 NOT NULL, `TAS_UID` VARCHAR(32) default '' NOT NULL, `PRO_UID` VARCHAR(32) default '' NOT NULL, `APP_NUMBER` INTEGER default 0 NOT NULL, `APP_TITLE` VARCHAR(255) default '' NOT NULL, `APP_PRO_TITLE` VARCHAR(255) default '' NOT NULL, `APP_TAS_TITLE` VARCHAR(255) default '' NOT NULL, - `APP_PREVIOUS_USR_USERNAME` VARCHAR(100) default '', - `APP_PREVIOUS_USR_FIRSTNAME` VARCHAR(50) default '', - `APP_PREVIOUS_USR_LASTNAME` VARCHAR(50) default '', - `DEL_INDEX` INTEGER default 0 NOT NULL, + `DEL_PREVIOUS_USR_USERNAME` VARCHAR(100) default '', + `DEL_PREVIOUS_USR_FIRSTNAME` VARCHAR(50) default '', + `DEL_PREVIOUS_USR_LASTNAME` VARCHAR(50) default '', + `APP_UPDATE_DATE` DATETIME NOT NULL, `DEL_PREVIOUS_USR_UID` VARCHAR(32) default '', `DEL_DELEGATE_DATE` DATETIME NOT NULL, `DEL_DUE_DATE` DATETIME, diff --git a/workflow/engine/methods/cases/casesListExtJs.php b/workflow/engine/methods/cases/casesListExtJs.php index b7e5d05ca..d87c8553d 100755 --- a/workflow/engine/methods/cases/casesListExtJs.php +++ b/workflow/engine/methods/cases/casesListExtJs.php @@ -44,8 +44,7 @@ switch ($action) { $urlProxy .= '?list=myInbox'; break; case 'unassigned': - $urlProxy = 'proxyCasesList'; - $action = 'unassigned'; + $urlProxy .= '?list=unassigned'; break; case 'to_revise': $urlProxy = 'proxyCasesList'; @@ -58,10 +57,6 @@ switch ($action) { G::LoadClass("BasePeer"); G::LoadClass("configuration"); -//require_once ("classes/model/Fields.php"); -//require_once ("classes/model/AppCacheView.php"); -//require_once ("classes/model/Process.php"); -//require_once ("classes/model/Users.php"); $oHeadPublisher = & headPublisher::getSingleton(); // oHeadPublisher->setExtSkin( 'xtheme-blue'); @@ -109,7 +104,7 @@ if (isset( $generalConfCasesList['casesListDateFormat'] ) && ! empty( $generalCo $dateFormat = $config['dateformat']; } -if ($action == 'draft' /* && $action == 'cancelled' */) { +if ($action == 'draft') { //array_unshift ( $columns, array( 'header'=> '', 'width'=> 50, 'sortable'=> false, 'id'=> 'deleteLink' ) ); } if ($action == 'selfservice') { @@ -119,14 +114,6 @@ if ($action == 'selfservice') { if ($action == 'paused') { //array_unshift ( $columns, array( 'header'=> '', 'width'=> 50, 'sortable'=> false, 'id'=> 'unpauseLink' ) ); } -/* - if ( $action == 'to_reassign' ) { - array_unshift ( $columns, array( 'header'=> '', 'width'=> 50, 'sortable'=> false, 'id'=> 'reassignLink' ) ); - } -*/ -// if ( $action == 'cancelled' ) { -// array_unshift ( $columns, array( 'header'=> '', 'width'=> 50, 'sortable'=> false, 'id'=> 'reactivateLink' ) ); -// } $userUid = (isset( $_SESSION['USER_LOGGED'] ) && $_SESSION['USER_LOGGED'] != '') ? $_SESSION['USER_LOGGED'] : null; $oAppCache = new AppCacheView(); @@ -201,19 +188,12 @@ if ($licensedFeatures->verifyfeature('r19Vm5DK1UrT09MenlLYjZxejlhNUZ1b1NhV0JHWjB /*----------------------------------********---------------------------------*/ //menu permissions -/*$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' ); - $cnt = AppThreadPeer::doCount($c);*/ $cnt = ''; $menuPerms = ''; $menuPerms = $menuPerms . ($RBAC->userCanAccess( 'PM_REASSIGNCASE' ) == 1) ? 'R' : ''; //can reassign case $oHeadPublisher->assign( '___p34315105', $menuPerms ); // user menu permissions G::LoadClass( 'configuration' ); $c = new Configurations(); -//$oHeadPublisher->addExtJsScript('cases/caseUtils', true); $oHeadPublisher->addExtJsScript( 'app/main', true ); $oHeadPublisher->addExtJsScript( 'cases/casesList', false ); //adding a javascript file .js $oHeadPublisher->addContent( 'cases/casesListExtJs' ); //adding a html file .html.