From 71d5a45cc2888d3bd16dde20597ab415b46c1b82 Mon Sep 17 00:00:00 2001 From: "marcelo.cuiza" Date: Tue, 25 Aug 2015 18:20:46 -0400 Subject: [PATCH] PM-3342 ./processmaker upgrade no termina de realizar el upgrade correctamente se valido las secciones que generaban warning --- .../classes/model/ListParticipatedLast.php | 21 +++++++++ .../model/map/ListCanceledMapBuilder.php | 8 ++-- .../model/map/ListCompletedMapBuilder.php | 8 ++-- .../classes/model/map/ListInboxMapBuilder.php | 8 ++-- .../model/om/BaseListParticipatedLast.php | 2 +- workflow/engine/config/schema.xml | 46 +++++++++++++------ workflow/engine/data/mysql/schema.sql | 30 ++++++------ 7 files changed, 83 insertions(+), 40 deletions(-) diff --git a/workflow/engine/classes/model/ListParticipatedLast.php b/workflow/engine/classes/model/ListParticipatedLast.php index 5ccb92704..2912e4db1 100644 --- a/workflow/engine/classes/model/ListParticipatedLast.php +++ b/workflow/engine/classes/model/ListParticipatedLast.php @@ -54,6 +54,10 @@ class ListParticipatedLast extends BaseListParticipatedLast $users->refreshTotal($data['USR_UID'], 'add', 'participated'); } } + + if($this->primaryKeysExists($data)) { + return; + } $con = Propel::getConnection( ListParticipatedLastPeer::DATABASE_NAME ); try { @@ -324,5 +328,22 @@ class ListParticipatedLast extends BaseListParticipatedLast return $data; } + + public function primaryKeysExists($data) { + $criteria = new Criteria("workflow"); + $criteria->add(ListParticipatedLastPeer::APP_UID, $data['APP_UID']); + $criteria->add(ListParticipatedLastPeer::USR_UID, $data['USR_UID']); + $criteria->add(ListParticipatedLastPeer::DEL_INDEX, $data['DEL_INDEX']); + $dataset = UsersPeer::doSelectRS($criteria); + $dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); + $dataset->next(); + $aRow = $dataset->getRow(); + if(is_array($aRow)) { + if(sizeof($aRow)) { + return true; + } + } + return false; + } } diff --git a/workflow/engine/classes/model/map/ListCanceledMapBuilder.php b/workflow/engine/classes/model/map/ListCanceledMapBuilder.php index 9214cd3a0..f2645b9de 100644 --- a/workflow/engine/classes/model/map/ListCanceledMapBuilder.php +++ b/workflow/engine/classes/model/map/ListCanceledMapBuilder.php @@ -75,13 +75,13 @@ class ListCanceledMapBuilder $tMap->addColumn('APP_NUMBER', 'AppNumber', 'int', CreoleTypes::INTEGER, true, null); - $tMap->addColumn('APP_TITLE', 'AppTitle', 'string', CreoleTypes::VARCHAR, true, 255); + $tMap->addColumn('APP_TITLE', 'AppTitle', 'string', CreoleTypes::VARCHAR, false, 255); - $tMap->addColumn('APP_PRO_TITLE', 'AppProTitle', 'string', CreoleTypes::VARCHAR, true, 255); + $tMap->addColumn('APP_PRO_TITLE', 'AppProTitle', 'string', CreoleTypes::VARCHAR, false, 255); - $tMap->addColumn('APP_TAS_TITLE', 'AppTasTitle', 'string', CreoleTypes::VARCHAR, true, 255); + $tMap->addColumn('APP_TAS_TITLE', 'AppTasTitle', 'string', CreoleTypes::VARCHAR, false, 255); - $tMap->addColumn('APP_CANCELED_DATE', 'AppCanceledDate', 'int', CreoleTypes::TIMESTAMP, true, null); + $tMap->addColumn('APP_CANCELED_DATE', 'AppCanceledDate', 'int', CreoleTypes::TIMESTAMP, false, null); $tMap->addColumn('DEL_INDEX', 'DelIndex', 'int', CreoleTypes::INTEGER, true, null); diff --git a/workflow/engine/classes/model/map/ListCompletedMapBuilder.php b/workflow/engine/classes/model/map/ListCompletedMapBuilder.php index 24d5f6f92..2fb0adb2a 100644 --- a/workflow/engine/classes/model/map/ListCompletedMapBuilder.php +++ b/workflow/engine/classes/model/map/ListCompletedMapBuilder.php @@ -75,13 +75,13 @@ class ListCompletedMapBuilder $tMap->addColumn('APP_NUMBER', 'AppNumber', 'int', CreoleTypes::INTEGER, true, null); - $tMap->addColumn('APP_TITLE', 'AppTitle', 'string', CreoleTypes::VARCHAR, true, 255); + $tMap->addColumn('APP_TITLE', 'AppTitle', 'string', CreoleTypes::VARCHAR, false, 255); - $tMap->addColumn('APP_PRO_TITLE', 'AppProTitle', 'string', CreoleTypes::VARCHAR, true, 255); + $tMap->addColumn('APP_PRO_TITLE', 'AppProTitle', 'string', CreoleTypes::VARCHAR, false, 255); - $tMap->addColumn('APP_TAS_TITLE', 'AppTasTitle', 'string', CreoleTypes::VARCHAR, true, 255); + $tMap->addColumn('APP_TAS_TITLE', 'AppTasTitle', 'string', CreoleTypes::VARCHAR, false, 255); - $tMap->addColumn('APP_CREATE_DATE', 'AppCreateDate', 'int', CreoleTypes::TIMESTAMP, true, null); + $tMap->addColumn('APP_CREATE_DATE', 'AppCreateDate', 'int', CreoleTypes::TIMESTAMP, false, null); $tMap->addColumn('APP_FINISH_DATE', 'AppFinishDate', 'int', CreoleTypes::TIMESTAMP, true, null); diff --git a/workflow/engine/classes/model/map/ListInboxMapBuilder.php b/workflow/engine/classes/model/map/ListInboxMapBuilder.php index 0e471f121..d4c56233e 100644 --- a/workflow/engine/classes/model/map/ListInboxMapBuilder.php +++ b/workflow/engine/classes/model/map/ListInboxMapBuilder.php @@ -79,13 +79,13 @@ class ListInboxMapBuilder $tMap->addColumn('APP_STATUS', 'AppStatus', 'string', CreoleTypes::VARCHAR, false, 32); - $tMap->addColumn('APP_TITLE', 'AppTitle', 'string', CreoleTypes::VARCHAR, true, 255); + $tMap->addColumn('APP_TITLE', 'AppTitle', 'string', CreoleTypes::VARCHAR, false, 255); - $tMap->addColumn('APP_PRO_TITLE', 'AppProTitle', 'string', CreoleTypes::VARCHAR, true, 255); + $tMap->addColumn('APP_PRO_TITLE', 'AppProTitle', 'string', CreoleTypes::VARCHAR, false, 255); - $tMap->addColumn('APP_TAS_TITLE', 'AppTasTitle', 'string', CreoleTypes::VARCHAR, true, 255); + $tMap->addColumn('APP_TAS_TITLE', 'AppTasTitle', 'string', CreoleTypes::VARCHAR, false, 255); - $tMap->addColumn('APP_UPDATE_DATE', 'AppUpdateDate', 'int', CreoleTypes::TIMESTAMP, true, null); + $tMap->addColumn('APP_UPDATE_DATE', 'AppUpdateDate', 'int', CreoleTypes::TIMESTAMP, false, null); $tMap->addColumn('DEL_PREVIOUS_USR_UID', 'DelPreviousUsrUid', 'string', CreoleTypes::VARCHAR, false, 32); diff --git a/workflow/engine/classes/model/om/BaseListParticipatedLast.php b/workflow/engine/classes/model/om/BaseListParticipatedLast.php index c06821fa7..4d7e2e499 100644 --- a/workflow/engine/classes/model/om/BaseListParticipatedLast.php +++ b/workflow/engine/classes/model/om/BaseListParticipatedLast.php @@ -1784,7 +1784,7 @@ abstract class BaseListParticipatedLast extends BaseObject implements Persistent $copyObj->setUsrUid(''); // this is a pkey column, so set to default value - $copyObj->setDelIndex('0'); // this is a pkey column, so set to default value + $copyObj->setDelIndex(''); // this is a pkey column, so set to default value } diff --git a/workflow/engine/config/schema.xml b/workflow/engine/config/schema.xml index 08566c00a..a156bb0c6 100755 --- a/workflow/engine/config/schema.xml +++ b/workflow/engine/config/schema.xml @@ -1265,7 +1265,7 @@ - + @@ -3957,10 +3957,10 @@ - - - - + + + + @@ -3980,6 +3980,17 @@ + + + + + + + + + + + @@ -4076,6 +4087,15 @@ + + + + + + + + +
@@ -4103,10 +4123,10 @@ - - - - + + + + @@ -4193,10 +4213,10 @@ - - - - + + + + diff --git a/workflow/engine/data/mysql/schema.sql b/workflow/engine/data/mysql/schema.sql index c3c6b7a1b..98590ec97 100755 --- a/workflow/engine/data/mysql/schema.sql +++ b/workflow/engine/data/mysql/schema.sql @@ -2235,10 +2235,10 @@ CREATE TABLE `LIST_INBOX` `PRO_UID` VARCHAR(32) default '' NOT NULL, `APP_NUMBER` INTEGER default 0 NOT NULL, `APP_STATUS` VARCHAR(32) default '0', - `APP_TITLE` VARCHAR(255) default '' NOT NULL, - `APP_PRO_TITLE` VARCHAR(255) default '' NOT NULL, - `APP_TAS_TITLE` VARCHAR(255) default '' NOT NULL, - `APP_UPDATE_DATE` DATETIME NOT NULL, + `APP_TITLE` VARCHAR(255) default '', + `APP_PRO_TITLE` VARCHAR(255) default '', + `APP_TAS_TITLE` VARCHAR(255) default '', + `APP_UPDATE_DATE` DATETIME, `DEL_PREVIOUS_USR_UID` VARCHAR(32) default '', `DEL_PREVIOUS_USR_USERNAME` VARCHAR(100) default '', `DEL_PREVIOUS_USR_FIRSTNAME` VARCHAR(50) default '', @@ -2249,7 +2249,8 @@ CREATE TABLE `LIST_INBOX` `DEL_RISK_DATE` DATETIME, `DEL_PRIORITY` VARCHAR(32) default '3' NOT NULL, PRIMARY KEY (`APP_UID`,`DEL_INDEX`), - KEY `indexInboxUser`(`USR_UID`, `DEL_DELEGATE_DATE`) + KEY `indexInboxUser`(`USR_UID`, `DEL_DELEGATE_DATE`), + KEY `indexInboxUserStatusUpdateDate`(`USR_UID`, `APP_STATUS`, `APP_UPDATE_DATE`) )ENGINE=InnoDB DEFAULT CHARSET='utf8' COMMENT='Inbox list'; #----------------------------------------------------------------------------- #-- LIST_PARTICIPATED_HISTORY @@ -2314,7 +2315,8 @@ CREATE TABLE `LIST_PARTICIPATED_LAST` `DEL_DUE_DATE` DATETIME, `DEL_PRIORITY` VARCHAR(32) default '3' NOT NULL, `DEL_THREAD_STATUS` VARCHAR(32) default 'OPEN' NOT NULL, - PRIMARY KEY (`APP_UID`,`USR_UID`,`DEL_INDEX`) + PRIMARY KEY (`APP_UID`,`USR_UID`,`DEL_INDEX`), + KEY `usrIndex`(`USR_UID`) )ENGINE=InnoDB DEFAULT CHARSET='utf8' COMMENT='Participated last list'; #----------------------------------------------------------------------------- #-- LIST_COMPLETED @@ -2330,10 +2332,10 @@ CREATE TABLE `LIST_COMPLETED` `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_CREATE_DATE` DATETIME NOT NULL, + `APP_TITLE` VARCHAR(255) default '', + `APP_PRO_TITLE` VARCHAR(255) default '', + `APP_TAS_TITLE` VARCHAR(255) default '', + `APP_CREATE_DATE` DATETIME, `APP_FINISH_DATE` DATETIME NOT NULL, `DEL_INDEX` INTEGER default 0 NOT NULL, `DEL_PREVIOUS_USR_UID` VARCHAR(32) default '', @@ -2390,10 +2392,10 @@ CREATE TABLE `LIST_CANCELED` `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_CANCELED_DATE` DATETIME NOT NULL, + `APP_TITLE` VARCHAR(255) default '', + `APP_PRO_TITLE` VARCHAR(255) default '', + `APP_TAS_TITLE` VARCHAR(255) default '', + `APP_CANCELED_DATE` DATETIME, `DEL_INDEX` INTEGER default 0 NOT NULL, `DEL_PREVIOUS_USR_UID` VARCHAR(32) default '', `DEL_CURRENT_USR_USERNAME` VARCHAR(100) default '',