Merged in julceslau/processmaker/HOR-2406-A (pull request #5262)

HOR-2406
This commit is contained in:
Julio Cesar Laura Avendaño
2016-12-13 12:08:37 -04:00
17 changed files with 1571 additions and 124 deletions

View File

@@ -289,6 +289,18 @@ EOT
CLI::taskArg('workspace', true, true);
CLI::taskRun("run_migrate_content");
CLI::taskName('migrate-self-service-value');
CLI::taskDescription(<<<EOT
Migrate the Self-Service values to a new related table APP_ASSIGN_SELF_SERVICE_VALUE_GROUPS
Specify the workspaces, the self-service cases in this workspace will be updated.
If no workspace is specified, the command will be run in all workspaces.
EOT
);
CLI::taskArg('workspace', true, true);
CLI::taskRun("run_migrate_self_service_value");
/**
* Function run_info
* access public
@@ -907,3 +919,19 @@ function run_migrate_content($args, $opts) {
$stop = microtime(true);
CLI::logging("<*> Optimizing content data Process took " . ($stop - $start) . " seconds.\n");
}
function run_migrate_self_service_value($args, $opts) {
G::LoadSystem('inputfilter');
$filter = new InputFilter();
$args = $filter->xssFilterHard($args);
$workspaces = get_workspaces_from_args($args);
$start = microtime(true);
CLI::logging("> Optimizing Self-Service data...\n");
foreach ($workspaces as $workspace) {
print_r('Migrating records in: ' . pakeColor::colorize($workspace->name, 'INFO') . "\n");
CLI::logging("-> Migrating Self-Service records \n");
$workspace->migrateSelfServiceRecordsRun($workspace->name);
}
$stop = microtime(true);
CLI::logging("<*> Migrating Self-Service records Process took " . ($stop - $start) . " seconds.\n");
}

View File

@@ -1123,7 +1123,7 @@ class Derivation
if (!empty($dataVariable)) {
$appAssignSelfServiceValue = new AppAssignSelfServiceValue();
$appAssignSelfServiceValue->create($appFields["APP_UID"], $iNewDelIndex, array("PRO_UID" => $appFields["PRO_UID"], "TAS_UID" => $nextDel["TAS_UID"], "GRP_UID" => serialize($dataVariable)));
$appAssignSelfServiceValue->create($appFields["APP_UID"], $iNewDelIndex, array("PRO_UID" => $appFields["PRO_UID"], "TAS_UID" => $nextDel["TAS_UID"], "GRP_UID" => ""), $dataVariable);
}
}
}
@@ -1450,7 +1450,7 @@ class Derivation
if (!empty($dataVariable)) {
$appAssignSelfServiceValue = new AppAssignSelfServiceValue();
$appAssignSelfServiceValue->create($aNewCase["APPLICATION"], $aNewCase["INDEX"], array("PRO_UID" => $aNewCase["PROCESS"], "TAS_UID" => $aSP["TAS_UID"], "GRP_UID" => serialize($dataVariable)));
$appAssignSelfServiceValue->create($aNewCase["APPLICATION"], $aNewCase["INDEX"], array("PRO_UID" => $aNewCase["PROCESS"], "TAS_UID" => $aSP["TAS_UID"], "GRP_UID" => ""), $dataVariable);
}
}
}

View File

@@ -3450,4 +3450,50 @@ class workspaceTools
}
}
public function migrateSelfServiceRecordsRun($workspace) {
// Initializing
$this->initPropel(true);
// Get datat to migrate
$criteria = new Criteria("workflow");
$criteria->addSelectColumn(AppAssignSelfServiceValuePeer::ID);
$criteria->addSelectColumn(AppAssignSelfServiceValuePeer::GRP_UID);
$criteria->add(AppAssignSelfServiceValuePeer::GRP_UID, '', Criteria::NOT_EQUAL);
$rsCriteria = AppAssignSelfServiceValuePeer::doSelectRS($criteria);
$rsCriteria->setFetchmode(ResultSet::FETCHMODE_ASSOC);
// Migrating data
CLI::logging("-> Migrating Self-Service by Value Cases \n");
while ($rsCriteria->next()) {
$row = $rsCriteria->getRow();
$temp = unserialize($row['GRP_UID']);
if (is_array($temp)) {
foreach($temp as $groupUid) {
if ($groupUid != '') {
$appAssignSelfServiceValueGroup = new AppAssignSelfServiceValueGroup();
$appAssignSelfServiceValueGroup->setId($row['ID']);
$appAssignSelfServiceValueGroup->setGrpUid($groupUid);
$appAssignSelfServiceValueGroup->save();
}
}
} else {
if ($temp != '') {
$appAssignSelfServiceValueGroup = new AppAssignSelfServiceValueGroup();
$appAssignSelfServiceValueGroup->setId($row['ID']);
$appAssignSelfServiceValueGroup->setGrpUid($temp);
$appAssignSelfServiceValueGroup->save();
}
}
CLI::logging(" Migrating Record ".$row['ID']. "\n");
}
// Updating processed records to empty
$con = Propel::getConnection('workflow');
$criteriaSet = new Criteria("workflow");
$criteriaSet->add(AppAssignSelfServiceValuePeer::GRP_UID, '');
BasePeer::doUpdate($criteria, $criteriaSet, $con);
CLI::logging(" Migrating Self-Service by Value Cases Done \n");
}
}

View File

@@ -10,7 +10,7 @@ class AppAssignSelfServiceValue extends BaseAppAssignSelfServiceValue
*
* return void
*/
public function create($applicationUid, $delIndex, array $arrayData)
public function create($applicationUid, $delIndex, array $arrayData, $dataVariable)
{
try {
$cnn = Propel::getConnection(AppAssignSelfServiceValuePeer::DATABASE_NAME);
@@ -25,10 +25,17 @@ class AppAssignSelfServiceValue extends BaseAppAssignSelfServiceValue
if ($appAssignSelfServiceValue->validate()) {
$cnn->begin();
$result = $appAssignSelfServiceValue->save();
$cnn->commit();
//SELECT LAST_INSERT_ID()
$stmt = $cnn->createStatement();
$rs = $stmt->executeQuery("SELECT LAST_INSERT_ID()", ResultSet::FETCHMODE_ASSOC);
$rs->next();
$row = $rs->getRow();
$appAssignSelfServiceValueId = $row['LAST_INSERT_ID()'];
$appAssignSelfServiceValueGroup = new AppAssignSelfServiceValueGroup();
$appAssignSelfServiceValueGroup->createRows($appAssignSelfServiceValueId, $dataVariable);
} else {
$msg = "";
@@ -68,6 +75,17 @@ class AppAssignSelfServiceValue extends BaseAppAssignSelfServiceValue
}
$result = AppAssignSelfServiceValuePeer::doDelete($criteria);
// Delete related rows and missing relations, criteria don't execute delete with joins
$cnn = Propel::getConnection(AppAssignSelfServiceValueGroupPeer::DATABASE_NAME);
$cnn->begin();
$stmt = $cnn->createStatement();
$rs = $stmt->executeQuery("DELETE " . AppAssignSelfServiceValueGroupPeer::TABLE_NAME . "
FROM " . AppAssignSelfServiceValueGroupPeer::TABLE_NAME . "
LEFT JOIN " . AppAssignSelfServiceValuePeer::TABLE_NAME . "
ON (" . AppAssignSelfServiceValueGroupPeer::ID . " = " . AppAssignSelfServiceValuePeer::ID . ")
WHERE " . AppAssignSelfServiceValuePeer::ID . " IS NULL");
$cnn->commit();
} catch (Exception $e) {
throw $e;
}

View File

@@ -0,0 +1,45 @@
<?php
require_once 'classes/model/om/BaseAppAssignSelfServiceValueGroup.php';
/**
* Skeleton subclass for representing a row from the 'APP_ASSIGN_SELF_SERVICE_VALUE_GROUP' table.
*
*
*
* You should add additional methods to this class to meet the
* application requirements. This class will only be generated as
* long as it does not already exist in the output directory.
*
* @package classes.model
*/
class AppAssignSelfServiceValueGroup extends BaseAppAssignSelfServiceValueGroup {
public function createRows($appAssignSelfServiceValueId, $dataVariable) {
try {
$con = Propel::getConnection(AppAssignSelfServiceValuePeer::DATABASE_NAME);
$con->begin();
$stmt = $con->createStatement();
if (is_array($dataVariable)) {
foreach ($dataVariable as $uid) {
$rs = $stmt->executeQuery("INSERT INTO
" . AppAssignSelfServiceValueGroupPeer::TABLE_NAME . " (" .
AppAssignSelfServiceValueGroupPeer::ID . ", " .
AppAssignSelfServiceValueGroupPeer::GRP_UID . ")
VALUES (" . $appAssignSelfServiceValueId . ", '" . $uid . "');");
}
} else {
$rs = $stmt->executeQuery("INSERT INTO
" . AppAssignSelfServiceValueGroupPeer::TABLE_NAME . " (" .
AppAssignSelfServiceValueGroupPeer::ID . ", " .
AppAssignSelfServiceValueGroupPeer::GRP_UID . ")
VALUES (" . $appAssignSelfServiceValueId . ", '" . $dataVariable . "');");
}
$con->commit(); // Commit all rows inserted in batch
} catch (Exception $error) {
throw new $error;
}
}
} // AppAssignSelfServiceValueGroup

View File

@@ -0,0 +1,23 @@
<?php
// include base peer class
require_once 'classes/model/om/BaseAppAssignSelfServiceValueGroupPeer.php';
// include object class
include_once 'classes/model/AppAssignSelfServiceValueGroup.php';
/**
* Skeleton subclass for performing query and update operations on the 'APP_ASSIGN_SELF_SERVICE_VALUE_GROUP' table.
*
*
*
* You should add additional methods to this class to meet the
* application requirements. This class will only be generated as
* long as it does not already exist in the output directory.
*
* @package classes.model
*/
class AppAssignSelfServiceValueGroupPeer extends BaseAppAssignSelfServiceValueGroupPeer {
} // AppAssignSelfServiceValueGroupPeer

View File

@@ -341,7 +341,6 @@ class AppCacheView extends BaseAppCacheView
//Get APP_UIDs
$group = new Groups();
$arrayUid = $group->getActiveGroupsForAnUser($userUid); //Set UIDs of Groups (Groups of User)
$arrayUid[] = $userUid; //Set UID of User
@@ -352,26 +351,9 @@ class AppCacheView extends BaseAppCacheView
$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);
$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);
$criteria->add(AppAssignSelfServiceValuePeer::ID, AppAssignSelfServiceValuePeer::ID .
" IN (SELECT " . AppAssignSelfServiceValueGroupPeer::ID . " FROM " . AppAssignSelfServiceValueGroupPeer::TABLE_NAME .
" WHERE " . AppAssignSelfServiceValueGroupPeer::GRP_UID . " IN ('" . implode("','", $arrayUid) . "'))", Criteria::CUSTOM);
$rsCriteria = AppAssignSelfServiceValuePeer::doSelectRS($criteria);
$rsCriteria->setFetchmode(ResultSet::FETCHMODE_ASSOC);

View File

@@ -356,26 +356,9 @@ class ListUnassigned extends BaseListUnassigned
$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);
$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);
$criteria->add(AppAssignSelfServiceValuePeer::ID, AppAssignSelfServiceValuePeer::ID .
" IN (SELECT " . AppAssignSelfServiceValueGroupPeer::ID . " FROM " . AppAssignSelfServiceValueGroupPeer::TABLE_NAME .
" WHERE " . AppAssignSelfServiceValueGroupPeer::GRP_UID . " IN ('" . implode("','", $arrayUid) . "'))", Criteria::CUSTOM);
$rsCriteria = AppAssignSelfServiceValuePeer::doSelectRS($criteria);
$rsCriteria->setFetchmode(ResultSet::FETCHMODE_ASSOC);

View File

@@ -0,0 +1,74 @@
<?php
require_once 'propel/map/MapBuilder.php';
include_once 'creole/CreoleTypes.php';
/**
* This class adds structure of 'APP_ASSIGN_SELF_SERVICE_VALUE_GROUP' table to 'workflow' DatabaseMap object.
*
*
*
* These statically-built map classes are used by Propel to do runtime db structure discovery.
* For example, the createSelectSql() method checks the type of a given column used in an
* ORDER BY clause to know whether it needs to apply SQL to make the ORDER BY case-insensitive
* (i.e. if it's a text column type).
*
* @package workflow.classes.model.map
*/
class AppAssignSelfServiceValueGroupMapBuilder
{
/**
* The (dot-path) name of this class
*/
const CLASS_NAME = 'classes.model.map.AppAssignSelfServiceValueGroupMapBuilder';
/**
* The database map.
*/
private $dbMap;
/**
* Tells us if this DatabaseMapBuilder is built so that we
* don't have to re-build it every time.
*
* @return boolean true if this DatabaseMapBuilder is built, false otherwise.
*/
public function isBuilt()
{
return ($this->dbMap !== null);
}
/**
* Gets the databasemap this map builder built.
*
* @return the databasemap
*/
public function getDatabaseMap()
{
return $this->dbMap;
}
/**
* The doBuild() method builds the DatabaseMap
*
* @return void
* @throws PropelException
*/
public function doBuild()
{
$this->dbMap = Propel::getDatabaseMap('workflow');
$tMap = $this->dbMap->addTable('APP_ASSIGN_SELF_SERVICE_VALUE_GROUP');
$tMap->setPhpName('AppAssignSelfServiceValueGroup');
$tMap->setUseIdGenerator(false);
$tMap->addColumn('ID', 'Id', 'int', CreoleTypes::INTEGER, true, null);
$tMap->addColumn('GRP_UID', 'GrpUid', 'string', CreoleTypes::VARCHAR, true, 32);
} // doBuild()
} // AppAssignSelfServiceValueGroupMapBuilder

View File

@@ -63,7 +63,9 @@ class AppAssignSelfServiceValueMapBuilder
$tMap = $this->dbMap->addTable('APP_ASSIGN_SELF_SERVICE_VALUE');
$tMap->setPhpName('AppAssignSelfServiceValue');
$tMap->setUseIdGenerator(false);
$tMap->setUseIdGenerator(true);
$tMap->addPrimaryKey('ID', 'Id', 'int', CreoleTypes::INTEGER, true, null);
$tMap->addColumn('APP_UID', 'AppUid', 'string', CreoleTypes::VARCHAR, true, 32);

View File

@@ -27,6 +27,12 @@ abstract class BaseAppAssignSelfServiceValue extends BaseObject implements Persi
*/
protected static $peer;
/**
* The value for the id field.
* @var int
*/
protected $id;
/**
* The value for the app_uid field.
* @var string
@@ -71,6 +77,17 @@ abstract class BaseAppAssignSelfServiceValue extends BaseObject implements Persi
*/
protected $alreadyInValidation = false;
/**
* Get the [id] column value.
*
* @return int
*/
public function getId()
{
return $this->id;
}
/**
* Get the [app_uid] column value.
*
@@ -126,6 +143,28 @@ abstract class BaseAppAssignSelfServiceValue extends BaseObject implements Persi
return $this->grp_uid;
}
/**
* Set the value of [id] column.
*
* @param int $v new value
* @return void
*/
public function setId($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->id !== $v) {
$this->id = $v;
$this->modifiedColumns[] = AppAssignSelfServiceValuePeer::ID;
}
} // setId()
/**
* Set the value of [app_uid] column.
*
@@ -253,22 +292,24 @@ abstract class BaseAppAssignSelfServiceValue extends BaseObject implements Persi
{
try {
$this->app_uid = $rs->getString($startcol + 0);
$this->id = $rs->getInt($startcol + 0);
$this->del_index = $rs->getInt($startcol + 1);
$this->app_uid = $rs->getString($startcol + 1);
$this->pro_uid = $rs->getString($startcol + 2);
$this->del_index = $rs->getInt($startcol + 2);
$this->tas_uid = $rs->getString($startcol + 3);
$this->pro_uid = $rs->getString($startcol + 3);
$this->grp_uid = $rs->getString($startcol + 4);
$this->tas_uid = $rs->getString($startcol + 4);
$this->grp_uid = $rs->getString($startcol + 5);
$this->resetModified();
$this->setNew(false);
// FIXME - using NUM_COLUMNS may be clearer.
return $startcol + 5; // 5 = AppAssignSelfServiceValuePeer::NUM_COLUMNS - AppAssignSelfServiceValuePeer::NUM_LAZY_LOAD_COLUMNS).
return $startcol + 6; // 6 = AppAssignSelfServiceValuePeer::NUM_COLUMNS - AppAssignSelfServiceValuePeer::NUM_LAZY_LOAD_COLUMNS).
} catch (Exception $e) {
throw new PropelException("Error populating AppAssignSelfServiceValue object", $e);
@@ -362,6 +403,8 @@ abstract class BaseAppAssignSelfServiceValue extends BaseObject implements Persi
// should always be true here (even though technically
// BasePeer::doInsert() can insert multiple rows).
$this->setId($pk); //[IMV] update autoincrement primary key
$this->setNew(false);
} else {
$affectedRows += AppAssignSelfServiceValuePeer::doUpdate($this, $con);
@@ -473,18 +516,21 @@ abstract class BaseAppAssignSelfServiceValue extends BaseObject implements Persi
{
switch($pos) {
case 0:
return $this->getAppUid();
return $this->getId();
break;
case 1:
return $this->getDelIndex();
return $this->getAppUid();
break;
case 2:
return $this->getProUid();
return $this->getDelIndex();
break;
case 3:
return $this->getTasUid();
return $this->getProUid();
break;
case 4:
return $this->getTasUid();
break;
case 5:
return $this->getGrpUid();
break;
default:
@@ -507,11 +553,12 @@ abstract class BaseAppAssignSelfServiceValue extends BaseObject implements Persi
{
$keys = AppAssignSelfServiceValuePeer::getFieldNames($keyType);
$result = array(
$keys[0] => $this->getAppUid(),
$keys[1] => $this->getDelIndex(),
$keys[2] => $this->getProUid(),
$keys[3] => $this->getTasUid(),
$keys[4] => $this->getGrpUid(),
$keys[0] => $this->getId(),
$keys[1] => $this->getAppUid(),
$keys[2] => $this->getDelIndex(),
$keys[3] => $this->getProUid(),
$keys[4] => $this->getTasUid(),
$keys[5] => $this->getGrpUid(),
);
return $result;
}
@@ -544,18 +591,21 @@ abstract class BaseAppAssignSelfServiceValue extends BaseObject implements Persi
{
switch($pos) {
case 0:
$this->setAppUid($value);
$this->setId($value);
break;
case 1:
$this->setDelIndex($value);
$this->setAppUid($value);
break;
case 2:
$this->setProUid($value);
$this->setDelIndex($value);
break;
case 3:
$this->setTasUid($value);
$this->setProUid($value);
break;
case 4:
$this->setTasUid($value);
break;
case 5:
$this->setGrpUid($value);
break;
} // switch()
@@ -582,23 +632,27 @@ abstract class BaseAppAssignSelfServiceValue extends BaseObject implements Persi
$keys = AppAssignSelfServiceValuePeer::getFieldNames($keyType);
if (array_key_exists($keys[0], $arr)) {
$this->setAppUid($arr[$keys[0]]);
$this->setId($arr[$keys[0]]);
}
if (array_key_exists($keys[1], $arr)) {
$this->setDelIndex($arr[$keys[1]]);
$this->setAppUid($arr[$keys[1]]);
}
if (array_key_exists($keys[2], $arr)) {
$this->setProUid($arr[$keys[2]]);
$this->setDelIndex($arr[$keys[2]]);
}
if (array_key_exists($keys[3], $arr)) {
$this->setTasUid($arr[$keys[3]]);
$this->setProUid($arr[$keys[3]]);
}
if (array_key_exists($keys[4], $arr)) {
$this->setGrpUid($arr[$keys[4]]);
$this->setTasUid($arr[$keys[4]]);
}
if (array_key_exists($keys[5], $arr)) {
$this->setGrpUid($arr[$keys[5]]);
}
}
@@ -612,6 +666,10 @@ abstract class BaseAppAssignSelfServiceValue extends BaseObject implements Persi
{
$criteria = new Criteria(AppAssignSelfServiceValuePeer::DATABASE_NAME);
if ($this->isColumnModified(AppAssignSelfServiceValuePeer::ID)) {
$criteria->add(AppAssignSelfServiceValuePeer::ID, $this->id);
}
if ($this->isColumnModified(AppAssignSelfServiceValuePeer::APP_UID)) {
$criteria->add(AppAssignSelfServiceValuePeer::APP_UID, $this->app_uid);
}
@@ -648,33 +706,30 @@ abstract class BaseAppAssignSelfServiceValue extends BaseObject implements Persi
{
$criteria = new Criteria(AppAssignSelfServiceValuePeer::DATABASE_NAME);
$criteria->add(AppAssignSelfServiceValuePeer::ID, $this->id);
return $criteria;
}
/**
* Returns NULL since this table doesn't have a primary key.
* This method exists only for BC and is deprecated!
* @return null
* Returns the primary key for this object (row).
* @return int
*/
public function getPrimaryKey()
{
return null;
return $this->getId();
}
/**
* Dummy primary key setter.
* Generic method to set the primary key (id column).
*
* This function only exists to preserve backwards compatibility. It is no longer
* needed or required by the Persistent interface. It will be removed in next BC-breaking
* release of Propel.
*
* @deprecated
* @param int $key Primary key.
* @return void
*/
public function setPrimaryKey($pk)
{
// do nothing, because this object doesn't have any primary keys
}
public function setPrimaryKey($key)
{
$this->setId($key);
}
/**
* Sets contents of passed object to values from current object.
@@ -702,6 +757,8 @@ abstract class BaseAppAssignSelfServiceValue extends BaseObject implements Persi
$copyObj->setNew(true);
$copyObj->setId(NULL); // this is a pkey column, so set to default value
}
/**

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -25,12 +25,15 @@ abstract class BaseAppAssignSelfServiceValuePeer
const CLASS_DEFAULT = 'classes.model.AppAssignSelfServiceValue';
/** The total number of columns. */
const NUM_COLUMNS = 5;
const NUM_COLUMNS = 6;
/** The number of lazy-loaded columns. */
const NUM_LAZY_LOAD_COLUMNS = 0;
/** the column name for the ID field */
const ID = 'APP_ASSIGN_SELF_SERVICE_VALUE.ID';
/** the column name for the APP_UID field */
const APP_UID = 'APP_ASSIGN_SELF_SERVICE_VALUE.APP_UID';
@@ -57,10 +60,10 @@ abstract class BaseAppAssignSelfServiceValuePeer
* e.g. self::$fieldNames[self::TYPE_PHPNAME][0] = 'Id'
*/
private static $fieldNames = array (
BasePeer::TYPE_PHPNAME => array ('AppUid', 'DelIndex', 'ProUid', 'TasUid', 'GrpUid', ),
BasePeer::TYPE_COLNAME => array (AppAssignSelfServiceValuePeer::APP_UID, AppAssignSelfServiceValuePeer::DEL_INDEX, AppAssignSelfServiceValuePeer::PRO_UID, AppAssignSelfServiceValuePeer::TAS_UID, AppAssignSelfServiceValuePeer::GRP_UID, ),
BasePeer::TYPE_FIELDNAME => array ('APP_UID', 'DEL_INDEX', 'PRO_UID', 'TAS_UID', 'GRP_UID', ),
BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, )
BasePeer::TYPE_PHPNAME => array ('Id', 'AppUid', 'DelIndex', 'ProUid', 'TasUid', 'GrpUid', ),
BasePeer::TYPE_COLNAME => array (AppAssignSelfServiceValuePeer::ID, AppAssignSelfServiceValuePeer::APP_UID, AppAssignSelfServiceValuePeer::DEL_INDEX, AppAssignSelfServiceValuePeer::PRO_UID, AppAssignSelfServiceValuePeer::TAS_UID, AppAssignSelfServiceValuePeer::GRP_UID, ),
BasePeer::TYPE_FIELDNAME => array ('ID', 'APP_UID', 'DEL_INDEX', 'PRO_UID', 'TAS_UID', 'GRP_UID', ),
BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, )
);
/**
@@ -70,10 +73,10 @@ abstract class BaseAppAssignSelfServiceValuePeer
* e.g. self::$fieldNames[BasePeer::TYPE_PHPNAME]['Id'] = 0
*/
private static $fieldKeys = array (
BasePeer::TYPE_PHPNAME => array ('AppUid' => 0, 'DelIndex' => 1, 'ProUid' => 2, 'TasUid' => 3, 'GrpUid' => 4, ),
BasePeer::TYPE_COLNAME => array (AppAssignSelfServiceValuePeer::APP_UID => 0, AppAssignSelfServiceValuePeer::DEL_INDEX => 1, AppAssignSelfServiceValuePeer::PRO_UID => 2, AppAssignSelfServiceValuePeer::TAS_UID => 3, AppAssignSelfServiceValuePeer::GRP_UID => 4, ),
BasePeer::TYPE_FIELDNAME => array ('APP_UID' => 0, 'DEL_INDEX' => 1, 'PRO_UID' => 2, 'TAS_UID' => 3, 'GRP_UID' => 4, ),
BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, )
BasePeer::TYPE_PHPNAME => array ('Id' => 0, 'AppUid' => 1, 'DelIndex' => 2, 'ProUid' => 3, 'TasUid' => 4, 'GrpUid' => 5, ),
BasePeer::TYPE_COLNAME => array (AppAssignSelfServiceValuePeer::ID => 0, AppAssignSelfServiceValuePeer::APP_UID => 1, AppAssignSelfServiceValuePeer::DEL_INDEX => 2, AppAssignSelfServiceValuePeer::PRO_UID => 3, AppAssignSelfServiceValuePeer::TAS_UID => 4, AppAssignSelfServiceValuePeer::GRP_UID => 5, ),
BasePeer::TYPE_FIELDNAME => array ('ID' => 0, 'APP_UID' => 1, 'DEL_INDEX' => 2, 'PRO_UID' => 3, 'TAS_UID' => 4, 'GRP_UID' => 5, ),
BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, )
);
/**
@@ -174,6 +177,8 @@ abstract class BaseAppAssignSelfServiceValuePeer
public static function addSelectColumns(Criteria $criteria)
{
$criteria->addSelectColumn(AppAssignSelfServiceValuePeer::ID);
$criteria->addSelectColumn(AppAssignSelfServiceValuePeer::APP_UID);
$criteria->addSelectColumn(AppAssignSelfServiceValuePeer::DEL_INDEX);
@@ -186,8 +191,8 @@ abstract class BaseAppAssignSelfServiceValuePeer
}
const COUNT = 'COUNT(*)';
const COUNT_DISTINCT = 'COUNT(DISTINCT *)';
const COUNT = 'COUNT(APP_ASSIGN_SELF_SERVICE_VALUE.ID)';
const COUNT_DISTINCT = 'COUNT(DISTINCT APP_ASSIGN_SELF_SERVICE_VALUE.ID)';
/**
* Returns the number of rows matching criteria.
@@ -358,6 +363,8 @@ abstract class BaseAppAssignSelfServiceValuePeer
$criteria = $values->buildCriteria(); // build Criteria from AppAssignSelfServiceValue object
}
//$criteria->remove(AppAssignSelfServiceValuePeer::ID); // remove pkey col since this table uses auto-increment
// Set the correct dbName
$criteria->setDbName(self::DATABASE_NAME);
@@ -396,6 +403,9 @@ abstract class BaseAppAssignSelfServiceValuePeer
if ($values instanceof Criteria) {
$criteria = clone $values; // rename for clarity
$comparison = $criteria->getComparison(AppAssignSelfServiceValuePeer::ID);
$selectCriteria->add(AppAssignSelfServiceValuePeer::ID, $criteria->remove(AppAssignSelfServiceValuePeer::ID), $comparison);
} else {
$criteria = $values->buildCriteria(); // gets full criteria
$selectCriteria = $values->buildPkeyCriteria(); // gets criteria w/ primary key(s)
@@ -453,22 +463,11 @@ abstract class BaseAppAssignSelfServiceValuePeer
$criteria = clone $values; // rename for clarity
} elseif ($values instanceof AppAssignSelfServiceValue) {
$criteria = $values->buildCriteria();
$criteria = $values->buildPkeyCriteria();
} else {
// it must be the primary key
$criteria = new Criteria(self::DATABASE_NAME);
// primary key is composite; we therefore, expect
// the primary key passed to be an array of pkey
// values
if (count($values) == count($values, COUNT_RECURSIVE)) {
// array is not multi-dimensional
$values = array($values);
}
$vals = array();
foreach ($values as $value) {
}
$criteria->add(AppAssignSelfServiceValuePeer::ID, (array) $values, Criteria::IN);
}
// Set the correct dbName
@@ -526,6 +525,54 @@ abstract class BaseAppAssignSelfServiceValuePeer
return BasePeer::doValidate(AppAssignSelfServiceValuePeer::DATABASE_NAME, AppAssignSelfServiceValuePeer::TABLE_NAME, $columns);
}
/**
* Retrieve a single object by pkey.
*
* @param mixed $pk the primary key.
* @param Connection $con the connection to use
* @return AppAssignSelfServiceValue
*/
public static function retrieveByPK($pk, $con = null)
{
if ($con === null) {
$con = Propel::getConnection(self::DATABASE_NAME);
}
$criteria = new Criteria(AppAssignSelfServiceValuePeer::DATABASE_NAME);
$criteria->add(AppAssignSelfServiceValuePeer::ID, $pk);
$v = AppAssignSelfServiceValuePeer::doSelect($criteria, $con);
return !empty($v) > 0 ? $v[0] : null;
}
/**
* Retrieve multiple objects by pkey.
*
* @param array $pks List of primary keys
* @param Connection $con the connection to use
* @throws PropelException Any exceptions caught during processing will be
* rethrown wrapped into a PropelException.
*/
public static function retrieveByPKs($pks, $con = null)
{
if ($con === null) {
$con = Propel::getConnection(self::DATABASE_NAME);
}
$objs = null;
if (empty($pks)) {
$objs = array();
} else {
$criteria = new Criteria();
$criteria->add(AppAssignSelfServiceValuePeer::ID, $pks, Criteria::IN);
$objs = AppAssignSelfServiceValuePeer::doSelect($criteria, $con);
}
return $objs;
}
}

View File

@@ -4062,7 +4062,7 @@
<column name="LICENSE_TYPE" type="VARCHAR" size="32" required="true" default="0"/>
</table>
<table name="APP_ASSIGN_SELF_SERVICE_VALUE">
<table name="APP_ASSIGN_SELF_SERVICE_VALUE" idMethod="native">
<vendor type="mysql">
<parameter name="Name" value="APP_ASSIGN_SELF_SERVICE_VALUE" />
<parameter name="Engine" value="InnoDB" />
@@ -4075,6 +4075,7 @@
<parameter name="Checksum" value="" />
<parameter name="Create_options" value="" />
</vendor>
<column name="ID" type="INTEGER" required="true" autoIncrement="true" primaryKey="true"/>
<column name="APP_UID" type="VARCHAR" size="32" required="true" />
<column name="DEL_INDEX" type="INTEGER" required="true" default="0" />
<column name="PRO_UID" type="VARCHAR" size="32" required="true" />
@@ -4082,6 +4083,26 @@
<column name="GRP_UID" type="LONGVARCHAR" required="true" />
</table>
<table name="APP_ASSIGN_SELF_SERVICE_VALUE_GROUP" idMethod="native">
<vendor type="mysql">
<parameter name="Name" value="APP_ASSIGN_SELF_SERVICE_VALUE_GROUP" />
<parameter name="Engine" value="InnoDB" />
<parameter name="Version" value="10" />
<parameter name="Row_format" value="Dynamic" />
<parameter name="Data_free" value="0" />
<parameter name="Auto_increment" value="" />
<parameter name="Check_time" value="" />
<parameter name="Collation" value="utf8_general_ci" />
<parameter name="Checksum" value="" />
<parameter name="Create_options" value="" />
</vendor>
<column name="ID" type="INTEGER" required="true" default="0" />
<column name="GRP_UID" type="VARCHAR" size="32" required="true" />
<index name="indexId">
<index-column name="ID"/>
</index>
</table>
<table name="LIST_INBOX">
<vendor type="mysql">
<parameter name="Name" value="LIST_INBOX"/>

View File

@@ -2289,11 +2289,26 @@ DROP TABLE IF EXISTS `APP_ASSIGN_SELF_SERVICE_VALUE`;
CREATE TABLE `APP_ASSIGN_SELF_SERVICE_VALUE`
(
`ID` INTEGER NOT NULL AUTO_INCREMENT,
`APP_UID` VARCHAR(32) NOT NULL,
`DEL_INDEX` INTEGER default 0 NOT NULL,
`PRO_UID` VARCHAR(32) NOT NULL,
`TAS_UID` VARCHAR(32) NOT NULL,
`GRP_UID` MEDIUMTEXT NOT NULL
`GRP_UID` MEDIUMTEXT NOT NULL,
PRIMARY KEY (`ID`)
)ENGINE=InnoDB DEFAULT CHARSET='utf8';
#-----------------------------------------------------------------------------
#-- APP_ASSIGN_SELF_SERVICE_VALUE_GROUP
#-----------------------------------------------------------------------------
DROP TABLE IF EXISTS `APP_ASSIGN_SELF_SERVICE_VALUE_GROUP`;
CREATE TABLE `APP_ASSIGN_SELF_SERVICE_VALUE_GROUP`
(
`ID` INTEGER default 0 NOT NULL,
`GRP_UID` VARCHAR(32) NOT NULL,
KEY `indexId`(`ID`)
)ENGINE=InnoDB DEFAULT CHARSET='utf8';
#-----------------------------------------------------------------------------
#-- LIST_INBOX
@@ -3000,17 +3015,19 @@ CREATE TABLE `NOTIFICATION_DEVICE`
DROP TABLE IF EXISTS `GMAIL_RELABELING`;
CREATE TABLE `GMAIL_RELABELING` (
`LABELING_UID` VARCHAR(32) NOT NULL,
`CREATE_DATE` DATETIME NOT NULL,
`APP_UID` VARCHAR(32) NOT NULL DEFAULT '',
`DEL_INDEX` INT(11) NOT NULL DEFAULT '0',
`CURRENT_LAST_INDEX` INT(11) NOT NULL DEFAULT '0',
`UNASSIGNED` INT(11) NOT NULL DEFAULT '0',
`STATUS` VARCHAR(32) NOT NULL DEFAULT 'pending',
`MSG_ERROR` MEDIUMTEXT NULL,
CREATE TABLE `GMAIL_RELABELING`
(
`LABELING_UID` VARCHAR(32) NOT NULL,
`CREATE_DATE` DATETIME NOT NULL,
`APP_UID` VARCHAR(32) NOT NULL DEFAULT '',
`DEL_INDEX` INT(11) NOT NULL DEFAULT '0',
`CURRENT_LAST_INDEX` INT(11) NOT NULL DEFAULT '0',
`UNASSIGNED` INT(11) NOT NULL DEFAULT '0',
`STATUS` VARCHAR(32) NOT NULL DEFAULT 'pending',
`MSG_ERROR` MEDIUMTEXT NULL,
PRIMARY KEY (`LABELING_UID`),
KEY `indexStatus` (`STATUS`)
KEY `indexStatus`(`STATUS`)
)ENGINE=InnoDB DEFAULT CHARSET='utf8' COMMENT='Task to synchronize Gmail Labels';
#-----------------------------------------------------------------------------
#-- NOTIFICATION_QUEUE

View File

@@ -134,19 +134,20 @@ class Pmgmail {
if ($isSelfServiceValueBased) {
$mailToAddresses = '';
$mailCcAddresses = '';
$targetIds = array();
$criteria = new \Criteria ("workflow");
$criteria->addSelectColumn(\AppAssignSelfServiceValuePeer::GRP_UID);
$criteria->addSelectColumn(\AppAssignSelfServiceValueGroupPeer::GRP_UID);
$criteria->addJoin(\AppAssignSelfServiceValuePeer::ID, \AppAssignSelfServiceValueGroupPeer::ID, \Criteria::LEFT_JOIN);
$criteria->add(\AppAssignSelfServiceValuePeer::APP_UID, $app_uid);
$criteria->add(\AppAssignSelfServiceValuePeer::DEL_INDEX, $aTask["DEL_INDEX"]);
$rsCriteria = \AppAssignSelfServiceValuePeer::doSelectRs($criteria);
$rsCriteria->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
while ($rsCriteria->next()) {
$row = $rsCriteria->getRow();
$targetIds[] = $row['GRP_UID'];
}
$targetIds = unserialize($row ['GRP_UID']);
$usersToSend = $this->getSelfServiceValueBasedUsers($targetIds);
foreach($usersToSend as $record) {