Merged master into dashboards2
This commit is contained in:
@@ -69,11 +69,28 @@ class MSSQLConnection extends ConnectionCommon implements Connection {
|
||||
$pw = $dsninfo['password'];
|
||||
$dbhost = $dsninfo['hostspec'] ? $dsninfo['hostspec'] : 'localhost';
|
||||
|
||||
/**
|
||||
* MSSQL (http://php.net/manual/en/intro.mssql.php)
|
||||
* These functions allow you to access MS SQL Server database.
|
||||
* This extension is not available anymore on Windows with PHP 5.3 or later.
|
||||
* SQLSRV, an alternative extension for MS SQL connectivity is available from
|
||||
* Microsoft: » http://msdn.microsoft.com/en-us/sqlserver/ff657782.aspx.
|
||||
* http://blogs.msdn.com/b/brian_swan/archive/2010/03/08/mssql-vs-sqlsrv-what-s-the-difference-part-1.aspx
|
||||
*
|
||||
* Alternatively to use the mssql functions in Windows, use php_dblib.dll (FreeTDS) http://www.freetds.org/
|
||||
* e.g. php.ini setting
|
||||
* extension=php_dblib.dll
|
||||
*
|
||||
* php_dblib.dll (FreeTDS) use ':' as the delimiter in all installations.
|
||||
*/
|
||||
/*
|
||||
if (PHP_OS == "WINNT" || PHP_OS == "WIN32") {
|
||||
$portDelimiter = ",";
|
||||
} else {
|
||||
$portDelimiter = ":";
|
||||
}
|
||||
*/
|
||||
$portDelimiter = ":";
|
||||
|
||||
if(!empty($dsninfo['port'])) {
|
||||
$dbhost .= $portDelimiter.$dsninfo['port'];
|
||||
|
||||
@@ -967,7 +967,7 @@ function executeCaseSelfService()
|
||||
$dueDate = $calendar->calculateDate(
|
||||
$appcacheDelDelegateDate,
|
||||
$taskSelfServiceTime,
|
||||
$taskSelfServiceTimeUnit //HOURS|DAYS
|
||||
$taskSelfServiceTimeUnit //HOURS|DAYS|MINUTES
|
||||
//1
|
||||
);
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
|
||||
|
||||
class actionsByEmailClass extends PMPlugin
|
||||
class actionsByEmailCoreClass extends PMPlugin
|
||||
{
|
||||
public function __construct()
|
||||
{
|
||||
@@ -25,32 +25,44 @@ class actionsByEmailClass extends PMPlugin
|
||||
{
|
||||
try {
|
||||
// Validations
|
||||
if (!is_object($data)) {
|
||||
throw new Exception('The parameter $data is null.');
|
||||
}
|
||||
try {
|
||||
if (!is_object($data)) {
|
||||
throw new Exception('The parameter $data is null.');
|
||||
}
|
||||
if (!isset($data->TAS_UID)) {
|
||||
throw new Exception('The parameter $data->TAS_UID is null.');
|
||||
}
|
||||
|
||||
if (!isset($data->TAS_UID)) {
|
||||
throw new Exception('The parameter $data->TAS_UID is null.');
|
||||
}
|
||||
if (!isset($data->APP_UID)) {
|
||||
throw new Exception('The parameter $data->APP_UID is null.');
|
||||
}
|
||||
|
||||
if (!isset($data->APP_UID)) {
|
||||
throw new Exception('The parameter $data->APP_UID is null.');
|
||||
}
|
||||
if (!isset($data->DEL_INDEX)) {
|
||||
throw new Exception('The parameter $data->DEL_INDEX is null.');
|
||||
}
|
||||
|
||||
if (!isset($data->DEL_INDEX)) {
|
||||
throw new Exception('The parameter $data->DEL_INDEX is null.');
|
||||
}
|
||||
if (!isset($data->USR_UID)) {
|
||||
throw new Exception('The parameter $data->USR_UID is null.');
|
||||
}
|
||||
|
||||
if ($data->TAS_UID == '') {
|
||||
throw new Exception('The parameter $data->TAS_UID is empty.');
|
||||
}
|
||||
if ($data->TAS_UID == '') {
|
||||
throw new Exception('The parameter $data->TAS_UID is empty.');
|
||||
}
|
||||
|
||||
if ($data->APP_UID == '') {
|
||||
throw new Exception('The parameter $data->APP_UID is empty.');
|
||||
}
|
||||
if ($data->APP_UID == '') {
|
||||
throw new Exception('The parameter $data->APP_UID is empty.');
|
||||
}
|
||||
|
||||
if ($data->DEL_INDEX == '') {
|
||||
throw new Exception('The parameter $data->DEL_INDEX is empty.');
|
||||
if ($data->DEL_INDEX == '') {
|
||||
throw new Exception('The parameter $data->DEL_INDEX is empty.');
|
||||
}
|
||||
|
||||
if ($data->USR_UID == '') {
|
||||
throw new Exception('The parameter $data->USR_UID is empty.');
|
||||
}
|
||||
} catch(Exception $e) {
|
||||
echo $e->getMessage().' Please contact to your system administrator.';
|
||||
die;
|
||||
}
|
||||
|
||||
G::LoadClass('pmFunctions');
|
||||
@@ -16,10 +16,13 @@ class ConsolidatedCases
|
||||
|
||||
if ($sRepTabUid != '') {
|
||||
if (!$status) {
|
||||
$oCaseConsolidated = new CaseConsolidated();
|
||||
$oCaseConsolidated = CaseConsolidatedPeer::retrieveByPK($sTasUid);
|
||||
$oCaseConsolidated = new CaseConsolidatedCore();
|
||||
$oCaseConsolidated = CaseConsolidatedCorePeer::retrieveByPK($sTasUid);
|
||||
if (!(is_object($oCaseConsolidated)) || get_class($oCaseConsolidated) != 'CaseConsolidated') {
|
||||
$oCaseConsolidated = new CaseConsolidated();
|
||||
$oCaseConsolidated = new CaseConsolidatedCore();
|
||||
$oCaseConsolidated->setTasUid($sTasUid);
|
||||
$oCaseConsolidated->delete();
|
||||
$oCaseConsolidated = new CaseConsolidatedCore();
|
||||
$oCaseConsolidated->setTasUid($sTasUid);
|
||||
$oCaseConsolidated->setConStatus('INACTIVE');
|
||||
$oCaseConsolidated->save();
|
||||
@@ -168,9 +171,9 @@ class ConsolidatedCases
|
||||
$oReportTables->populateTable($_POST['form']['REP_TAB_NAME'], $_POST['form']['REP_TAB_CONNECTION'], $_POST['form']['REP_TAB_TYPE'], $aFields, $_POST['form']['PRO_UID'], '');
|
||||
$sRepTabUid = $_POST['form']['REP_TAB_UID'];
|
||||
|
||||
$oCaseConsolidated = CaseConsolidatedPeer::retrieveByPK($sTasUid);
|
||||
$oCaseConsolidated = CaseConsolidatedCorePeer::retrieveByPK($sTasUid);
|
||||
if (!(is_object($oCaseConsolidated)) || get_class($oCaseConsolidated) != 'CaseConsolidated') {
|
||||
$oCaseConsolidated = new CaseConsolidated();
|
||||
$oCaseConsolidated = new CaseConsolidatedCore();
|
||||
$oCaseConsolidated->setTasUid($sTasUid);
|
||||
}
|
||||
|
||||
|
||||
@@ -136,10 +136,13 @@ class dbConnections
|
||||
/**
|
||||
* getConnectionsProUid
|
||||
*
|
||||
* @param string $pType
|
||||
* Parameter $only list of items displayed, everything else is ignored.
|
||||
*
|
||||
* @param string $pProUid
|
||||
* @param string $only
|
||||
* @return Array $connections
|
||||
*/
|
||||
public function getConnectionsProUid ($pProUid)
|
||||
public function getConnectionsProUid ($pProUid, $only = array())
|
||||
{
|
||||
$connections = Array ();
|
||||
$c = new Criteria();
|
||||
@@ -155,8 +158,9 @@ class dbConnections
|
||||
$result->next();
|
||||
$row = $result->getRow();
|
||||
|
||||
$sw = count($only) > 0;
|
||||
while ($row = $result->getRow()) {
|
||||
if ((trim( $pProUid ) == trim( $row[1] )) && ($row[2] == 'mysql')) {
|
||||
if ((trim( $pProUid ) == trim( $row[1] )) && ( $sw ? in_array($row[2], $only) : true )) {
|
||||
$connections[] = Array ('DBS_UID' => $row[0],'DBS_NAME' => '[' . $row[3] . '] ' . $row[2] . ': ' . $row[4]
|
||||
);
|
||||
}
|
||||
|
||||
@@ -10,12 +10,12 @@ class Library
|
||||
$criteria = new Criteria("workflow");
|
||||
|
||||
//SELECT
|
||||
$criteria->addSelectColumn(CaseConsolidatedPeer::CON_STATUS);
|
||||
$criteria->addSelectColumn(CaseConsolidatedCorePeer::CON_STATUS);
|
||||
//FROM
|
||||
//WHERE
|
||||
$criteria->add(CaseConsolidatedPeer::CON_STATUS, "ACTIVE");
|
||||
$criteria->add(CaseConsolidatedCorePeer::CON_STATUS, "ACTIVE");
|
||||
|
||||
$activeNumRec = CaseConsolidatedPeer::doCount($criteria);
|
||||
$activeNumRec = CaseConsolidatedCorePeer::doCount($criteria);
|
||||
|
||||
//Number of records
|
||||
$numRec = 0;
|
||||
|
||||
@@ -219,7 +219,7 @@ class pmDynaform
|
||||
$cells = array();
|
||||
foreach ($json->columns as $column) {
|
||||
//data
|
||||
if ($column->type === "text" || $column->type === "textarea" || $column->type === "dropdown" || $column->type === "suggest" || $column->type === "datetime" || $column->type === "checkbox" || $column->type === "file" || $column->type === "link" || $value === "hidden") {
|
||||
if ($column->type === "text" || $column->type === "textarea" || $column->type === "dropdown" || $column->type === "suggest" || $column->type === "datetime" || $column->type === "checkbox" || $column->type === "file" || $column->type === "link" || $column->type === "hidden") {
|
||||
array_push($cells, array(
|
||||
"value" => isset($row[$column->name]) ? $row[$column->name] : "",
|
||||
"label" => isset($row[$column->name . "_label"]) ? $row[$column->name . "_label"] : (isset($row[$column->name]) ? $row[$column->name] : "")
|
||||
|
||||
@@ -1545,7 +1545,7 @@ class processMap
|
||||
}
|
||||
|
||||
if ($iForm == 8) {
|
||||
$oCaseConsolidated = CaseConsolidatedPeer::retrieveByPK($_SESSION["cDhTajE2T2lxSkhqMzZUTXVacWYyNcKwV3A4eWYybDdyb1p3"]["TAS_UID"]);
|
||||
$oCaseConsolidated = CaseConsolidatedCorePeer::retrieveByPK($_SESSION["cDhTajE2T2lxSkhqMzZUTXVacWYyNcKwV3A4eWYybDdyb1p3"]["TAS_UID"]);
|
||||
if ((is_object($oCaseConsolidated)) && get_class($oCaseConsolidated) == "CaseConsolidated") {
|
||||
require_once ("classes/model/ReportTable.php");
|
||||
|
||||
|
||||
@@ -188,8 +188,8 @@ class AppDelegation extends BaseAppDelegation
|
||||
if (PMLicensedFeatures
|
||||
::getSingleton()
|
||||
->verifyfeature('zLhSk5TeEQrNFI2RXFEVktyUGpnczV1WEJNWVp6cjYxbTU3R29mVXVZNWhZQT0=')) {
|
||||
G::LoadClass('actionsByEmail');
|
||||
$actionsByEmail = new actionsByEmailClass();
|
||||
G::LoadClass('actionsByEmailCore');
|
||||
$actionsByEmail = new actionsByEmailCoreClass();
|
||||
$actionsByEmail->sendActionsByEmail($data);
|
||||
}
|
||||
/*----------------------------------********---------------------------------*/
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?php
|
||||
|
||||
require_once 'classes/model/om/BaseCaseConsolidated.php';
|
||||
require_once 'classes/model/om/BaseCaseConsolidatedCore.php';
|
||||
|
||||
|
||||
/**
|
||||
@@ -14,6 +14,6 @@ require_once 'classes/model/om/BaseCaseConsolidated.php';
|
||||
*
|
||||
* @package classes.model
|
||||
*/
|
||||
class CaseConsolidated extends BaseCaseConsolidated {
|
||||
class CaseConsolidatedCore extends BaseCaseConsolidatedCore {
|
||||
|
||||
} // CaseConsolidated
|
||||
@@ -1,10 +1,10 @@
|
||||
<?php
|
||||
|
||||
// include base peer class
|
||||
require_once 'classes/model/om/BaseCaseConsolidatedPeer.php';
|
||||
require_once 'classes/model/om/BaseCaseConsolidatedCorePeer.php';
|
||||
|
||||
// include object class
|
||||
include_once 'classes/model/CaseConsolidated.php';
|
||||
include_once 'classes/model/CaseConsolidatedCore.php';
|
||||
|
||||
|
||||
/**
|
||||
@@ -18,6 +18,6 @@
|
||||
*
|
||||
* @package classes.model
|
||||
*/
|
||||
class CaseConsolidatedPeer extends BaseCaseConsolidatedPeer {
|
||||
class CaseConsolidatedCorePeer extends BaseCaseConsolidatedCorePeer {
|
||||
|
||||
} // CaseConsolidatedPeer
|
||||
@@ -16,13 +16,13 @@ include_once 'creole/CreoleTypes.php';
|
||||
*
|
||||
* @package workflow.classes.model.map
|
||||
*/
|
||||
class CaseConsolidatedMapBuilder
|
||||
class CaseConsolidatedCoreMapBuilder
|
||||
{
|
||||
|
||||
/**
|
||||
* The (dot-path) name of this class
|
||||
*/
|
||||
const CLASS_NAME = 'classes.model.map.CaseConsolidatedMapBuilder';
|
||||
const CLASS_NAME = 'classes.model.map.CaseConsolidatedCoreMapBuilder';
|
||||
|
||||
/**
|
||||
* The database map.
|
||||
@@ -75,4 +75,4 @@ class CaseConsolidatedMapBuilder
|
||||
|
||||
} // doBuild()
|
||||
|
||||
} // CaseConsolidatedMapBuilder
|
||||
} // CaseConsolidatedCoreMapBuilder
|
||||
@@ -7,7 +7,7 @@ require_once 'propel/om/Persistent.php';
|
||||
|
||||
include_once 'propel/util/Criteria.php';
|
||||
|
||||
include_once 'classes/model/CaseConsolidatedPeer.php';
|
||||
include_once 'classes/model/CaseConsolidatedCorePeer.php';
|
||||
|
||||
/**
|
||||
* Base class that represents a row from the 'CASE_CONSOLIDATED' table.
|
||||
@@ -16,7 +16,7 @@ include_once 'classes/model/CaseConsolidatedPeer.php';
|
||||
*
|
||||
* @package workflow.classes.model.om
|
||||
*/
|
||||
abstract class BaseCaseConsolidated extends BaseObject implements Persistent
|
||||
abstract class BaseCaseConsolidatedCore extends BaseObject implements Persistent
|
||||
{
|
||||
|
||||
/**
|
||||
@@ -126,7 +126,7 @@ abstract class BaseCaseConsolidated extends BaseObject implements Persistent
|
||||
|
||||
if ($this->tas_uid !== $v || $v === '') {
|
||||
$this->tas_uid = $v;
|
||||
$this->modifiedColumns[] = CaseConsolidatedPeer::TAS_UID;
|
||||
$this->modifiedColumns[] = CaseConsolidatedCorePeer::TAS_UID;
|
||||
}
|
||||
|
||||
} // setTasUid()
|
||||
@@ -148,7 +148,7 @@ abstract class BaseCaseConsolidated extends BaseObject implements Persistent
|
||||
|
||||
if ($this->dyn_uid !== $v || $v === '') {
|
||||
$this->dyn_uid = $v;
|
||||
$this->modifiedColumns[] = CaseConsolidatedPeer::DYN_UID;
|
||||
$this->modifiedColumns[] = CaseConsolidatedCorePeer::DYN_UID;
|
||||
}
|
||||
|
||||
} // setDynUid()
|
||||
@@ -170,7 +170,7 @@ abstract class BaseCaseConsolidated extends BaseObject implements Persistent
|
||||
|
||||
if ($this->rep_tab_uid !== $v || $v === '') {
|
||||
$this->rep_tab_uid = $v;
|
||||
$this->modifiedColumns[] = CaseConsolidatedPeer::REP_TAB_UID;
|
||||
$this->modifiedColumns[] = CaseConsolidatedCorePeer::REP_TAB_UID;
|
||||
}
|
||||
|
||||
} // setRepTabUid()
|
||||
@@ -192,7 +192,7 @@ abstract class BaseCaseConsolidated extends BaseObject implements Persistent
|
||||
|
||||
if ($this->con_status !== $v || $v === 'ACTIVE') {
|
||||
$this->con_status = $v;
|
||||
$this->modifiedColumns[] = CaseConsolidatedPeer::CON_STATUS;
|
||||
$this->modifiedColumns[] = CaseConsolidatedCorePeer::CON_STATUS;
|
||||
}
|
||||
|
||||
} // setConStatus()
|
||||
@@ -227,7 +227,7 @@ abstract class BaseCaseConsolidated extends BaseObject implements Persistent
|
||||
$this->setNew(false);
|
||||
|
||||
// FIXME - using NUM_COLUMNS may be clearer.
|
||||
return $startcol + 4; // 4 = CaseConsolidatedPeer::NUM_COLUMNS - CaseConsolidatedPeer::NUM_LAZY_LOAD_COLUMNS).
|
||||
return $startcol + 4; // 4 = CaseConsolidatedCorePeer::NUM_COLUMNS - CaseConsolidatedCorePeer::NUM_LAZY_LOAD_COLUMNS).
|
||||
|
||||
} catch (Exception $e) {
|
||||
throw new PropelException("Error populating CaseConsolidated object", $e);
|
||||
@@ -250,12 +250,12 @@ abstract class BaseCaseConsolidated extends BaseObject implements Persistent
|
||||
}
|
||||
|
||||
if ($con === null) {
|
||||
$con = Propel::getConnection(CaseConsolidatedPeer::DATABASE_NAME);
|
||||
$con = Propel::getConnection(CaseConsolidatedCorePeer::DATABASE_NAME);
|
||||
}
|
||||
|
||||
try {
|
||||
$con->begin();
|
||||
CaseConsolidatedPeer::doDelete($this, $con);
|
||||
CaseConsolidatedCorePeer::doDelete($this, $con);
|
||||
$this->setDeleted(true);
|
||||
$con->commit();
|
||||
} catch (PropelException $e) {
|
||||
@@ -281,7 +281,7 @@ abstract class BaseCaseConsolidated extends BaseObject implements Persistent
|
||||
}
|
||||
|
||||
if ($con === null) {
|
||||
$con = Propel::getConnection(CaseConsolidatedPeer::DATABASE_NAME);
|
||||
$con = Propel::getConnection(CaseConsolidatedCorePeer::DATABASE_NAME);
|
||||
}
|
||||
|
||||
try {
|
||||
@@ -316,14 +316,14 @@ abstract class BaseCaseConsolidated extends BaseObject implements Persistent
|
||||
// If this object has been modified, then save it to the database.
|
||||
if ($this->isModified()) {
|
||||
if ($this->isNew()) {
|
||||
$pk = CaseConsolidatedPeer::doInsert($this, $con);
|
||||
$pk = CaseConsolidatedCorePeer::doInsert($this, $con);
|
||||
$affectedRows += 1; // we are assuming that there is only 1 row per doInsert() which
|
||||
// should always be true here (even though technically
|
||||
// BasePeer::doInsert() can insert multiple rows).
|
||||
|
||||
$this->setNew(false);
|
||||
} else {
|
||||
$affectedRows += CaseConsolidatedPeer::doUpdate($this, $con);
|
||||
$affectedRows += CaseConsolidatedCorePeer::doUpdate($this, $con);
|
||||
}
|
||||
$this->resetModified(); // [HL] After being saved an object is no longer 'modified'
|
||||
}
|
||||
@@ -394,7 +394,7 @@ abstract class BaseCaseConsolidated extends BaseObject implements Persistent
|
||||
$failureMap = array();
|
||||
|
||||
|
||||
if (($retval = CaseConsolidatedPeer::doValidate($this, $columns)) !== true) {
|
||||
if (($retval = CaseConsolidatedCorePeer::doValidate($this, $columns)) !== true) {
|
||||
$failureMap = array_merge($failureMap, $retval);
|
||||
}
|
||||
|
||||
@@ -417,7 +417,7 @@ abstract class BaseCaseConsolidated extends BaseObject implements Persistent
|
||||
*/
|
||||
public function getByName($name, $type = BasePeer::TYPE_PHPNAME)
|
||||
{
|
||||
$pos = CaseConsolidatedPeer::translateFieldName($name, $type, BasePeer::TYPE_NUM);
|
||||
$pos = CaseConsolidatedCorePeer::translateFieldName($name, $type, BasePeer::TYPE_NUM);
|
||||
return $this->getByPosition($pos);
|
||||
}
|
||||
|
||||
@@ -461,7 +461,7 @@ abstract class BaseCaseConsolidated extends BaseObject implements Persistent
|
||||
*/
|
||||
public function toArray($keyType = BasePeer::TYPE_PHPNAME)
|
||||
{
|
||||
$keys = CaseConsolidatedPeer::getFieldNames($keyType);
|
||||
$keys = CaseConsolidatedCorePeer::getFieldNames($keyType);
|
||||
$result = array(
|
||||
$keys[0] => $this->getTasUid(),
|
||||
$keys[1] => $this->getDynUid(),
|
||||
@@ -483,7 +483,7 @@ abstract class BaseCaseConsolidated extends BaseObject implements Persistent
|
||||
*/
|
||||
public function setByName($name, $value, $type = BasePeer::TYPE_PHPNAME)
|
||||
{
|
||||
$pos = CaseConsolidatedPeer::translateFieldName($name, $type, BasePeer::TYPE_NUM);
|
||||
$pos = CaseConsolidatedCorePeer::translateFieldName($name, $type, BasePeer::TYPE_NUM);
|
||||
return $this->setByPosition($pos, $value);
|
||||
}
|
||||
|
||||
@@ -531,7 +531,7 @@ abstract class BaseCaseConsolidated extends BaseObject implements Persistent
|
||||
*/
|
||||
public function fromArray($arr, $keyType = BasePeer::TYPE_PHPNAME)
|
||||
{
|
||||
$keys = CaseConsolidatedPeer::getFieldNames($keyType);
|
||||
$keys = CaseConsolidatedCorePeer::getFieldNames($keyType);
|
||||
|
||||
if (array_key_exists($keys[0], $arr)) {
|
||||
$this->setTasUid($arr[$keys[0]]);
|
||||
@@ -558,22 +558,22 @@ abstract class BaseCaseConsolidated extends BaseObject implements Persistent
|
||||
*/
|
||||
public function buildCriteria()
|
||||
{
|
||||
$criteria = new Criteria(CaseConsolidatedPeer::DATABASE_NAME);
|
||||
$criteria = new Criteria(CaseConsolidatedCorePeer::DATABASE_NAME);
|
||||
|
||||
if ($this->isColumnModified(CaseConsolidatedPeer::TAS_UID)) {
|
||||
$criteria->add(CaseConsolidatedPeer::TAS_UID, $this->tas_uid);
|
||||
if ($this->isColumnModified(CaseConsolidatedCorePeer::TAS_UID)) {
|
||||
$criteria->add(CaseConsolidatedCorePeer::TAS_UID, $this->tas_uid);
|
||||
}
|
||||
|
||||
if ($this->isColumnModified(CaseConsolidatedPeer::DYN_UID)) {
|
||||
$criteria->add(CaseConsolidatedPeer::DYN_UID, $this->dyn_uid);
|
||||
if ($this->isColumnModified(CaseConsolidatedCorePeer::DYN_UID)) {
|
||||
$criteria->add(CaseConsolidatedCorePeer::DYN_UID, $this->dyn_uid);
|
||||
}
|
||||
|
||||
if ($this->isColumnModified(CaseConsolidatedPeer::REP_TAB_UID)) {
|
||||
$criteria->add(CaseConsolidatedPeer::REP_TAB_UID, $this->rep_tab_uid);
|
||||
if ($this->isColumnModified(CaseConsolidatedCorePeer::REP_TAB_UID)) {
|
||||
$criteria->add(CaseConsolidatedCorePeer::REP_TAB_UID, $this->rep_tab_uid);
|
||||
}
|
||||
|
||||
if ($this->isColumnModified(CaseConsolidatedPeer::CON_STATUS)) {
|
||||
$criteria->add(CaseConsolidatedPeer::CON_STATUS, $this->con_status);
|
||||
if ($this->isColumnModified(CaseConsolidatedCorePeer::CON_STATUS)) {
|
||||
$criteria->add(CaseConsolidatedCorePeer::CON_STATUS, $this->con_status);
|
||||
}
|
||||
|
||||
|
||||
@@ -590,9 +590,9 @@ abstract class BaseCaseConsolidated extends BaseObject implements Persistent
|
||||
*/
|
||||
public function buildPkeyCriteria()
|
||||
{
|
||||
$criteria = new Criteria(CaseConsolidatedPeer::DATABASE_NAME);
|
||||
$criteria = new Criteria(CaseConsolidatedCorePeer::DATABASE_NAME);
|
||||
|
||||
$criteria->add(CaseConsolidatedPeer::TAS_UID, $this->tas_uid);
|
||||
$criteria->add(CaseConsolidatedCorePeer::TAS_UID, $this->tas_uid);
|
||||
|
||||
return $criteria;
|
||||
}
|
||||
@@ -671,12 +671,12 @@ abstract class BaseCaseConsolidated extends BaseObject implements Persistent
|
||||
* same instance for all member of this class. The method could therefore
|
||||
* be static, but this would prevent one from overriding the behavior.
|
||||
*
|
||||
* @return CaseConsolidatedPeer
|
||||
* @return CaseConsolidatedCorePeer
|
||||
*/
|
||||
public function getPeer()
|
||||
{
|
||||
if (self::$peer === null) {
|
||||
self::$peer = new CaseConsolidatedPeer();
|
||||
self::$peer = new CaseConsolidatedCorePeer();
|
||||
}
|
||||
return self::$peer;
|
||||
}
|
||||
@@ -2,8 +2,8 @@
|
||||
|
||||
require_once 'propel/util/BasePeer.php';
|
||||
// The object class -- needed for instanceof checks in this class.
|
||||
// actual class may be a subclass -- as returned by CaseConsolidatedPeer::getOMClass()
|
||||
include_once 'classes/model/CaseConsolidated.php';
|
||||
// actual class may be a subclass -- as returned by CaseConsolidatedCorePeer::getOMClass()
|
||||
include_once 'classes/model/CaseConsolidatedCore.php';
|
||||
|
||||
/**
|
||||
* Base static class for performing query and update operations on the 'CASE_CONSOLIDATED' table.
|
||||
@@ -12,7 +12,7 @@ include_once 'classes/model/CaseConsolidated.php';
|
||||
*
|
||||
* @package workflow.classes.model.om
|
||||
*/
|
||||
abstract class BaseCaseConsolidatedPeer
|
||||
abstract class BaseCaseConsolidatedCorePeer
|
||||
{
|
||||
|
||||
/** the default database name for this class */
|
||||
@@ -22,7 +22,7 @@ abstract class BaseCaseConsolidatedPeer
|
||||
const TABLE_NAME = 'CASE_CONSOLIDATED';
|
||||
|
||||
/** A class that can be returned by this peer. */
|
||||
const CLASS_DEFAULT = 'classes.model.CaseConsolidated';
|
||||
const CLASS_DEFAULT = 'classes.model.CaseConsolidatedCore';
|
||||
|
||||
/** The total number of columns. */
|
||||
const NUM_COLUMNS = 4;
|
||||
@@ -55,7 +55,7 @@ abstract class BaseCaseConsolidatedPeer
|
||||
*/
|
||||
private static $fieldNames = array (
|
||||
BasePeer::TYPE_PHPNAME => array ('TasUid', 'DynUid', 'RepTabUid', 'ConStatus', ),
|
||||
BasePeer::TYPE_COLNAME => array (CaseConsolidatedPeer::TAS_UID, CaseConsolidatedPeer::DYN_UID, CaseConsolidatedPeer::REP_TAB_UID, CaseConsolidatedPeer::CON_STATUS, ),
|
||||
BasePeer::TYPE_COLNAME => array (CaseConsolidatedCorePeer::TAS_UID, CaseConsolidatedCorePeer::DYN_UID, CaseConsolidatedCorePeer::REP_TAB_UID, CaseConsolidatedCorePeer::CON_STATUS, ),
|
||||
BasePeer::TYPE_FIELDNAME => array ('TAS_UID', 'DYN_UID', 'REP_TAB_UID', 'CON_STATUS', ),
|
||||
BasePeer::TYPE_NUM => array (0, 1, 2, 3, )
|
||||
);
|
||||
@@ -68,7 +68,7 @@ abstract class BaseCaseConsolidatedPeer
|
||||
*/
|
||||
private static $fieldKeys = array (
|
||||
BasePeer::TYPE_PHPNAME => array ('TasUid' => 0, 'DynUid' => 1, 'RepTabUid' => 2, 'ConStatus' => 3, ),
|
||||
BasePeer::TYPE_COLNAME => array (CaseConsolidatedPeer::TAS_UID => 0, CaseConsolidatedPeer::DYN_UID => 1, CaseConsolidatedPeer::REP_TAB_UID => 2, CaseConsolidatedPeer::CON_STATUS => 3, ),
|
||||
BasePeer::TYPE_COLNAME => array (CaseConsolidatedCorePeer::TAS_UID => 0, CaseConsolidatedCorePeer::DYN_UID => 1, CaseConsolidatedCorePeer::REP_TAB_UID => 2, CaseConsolidatedCorePeer::CON_STATUS => 3, ),
|
||||
BasePeer::TYPE_FIELDNAME => array ('TAS_UID' => 0, 'DYN_UID' => 1, 'REP_TAB_UID' => 2, 'CON_STATUS' => 3, ),
|
||||
BasePeer::TYPE_NUM => array (0, 1, 2, 3, )
|
||||
);
|
||||
@@ -80,8 +80,8 @@ abstract class BaseCaseConsolidatedPeer
|
||||
*/
|
||||
public static function getMapBuilder()
|
||||
{
|
||||
include_once 'classes/model/map/CaseConsolidatedMapBuilder.php';
|
||||
return BasePeer::getMapBuilder('classes.model.map.CaseConsolidatedMapBuilder');
|
||||
include_once 'classes/model/map/CaseConsolidatedCoreMapBuilder.php';
|
||||
return BasePeer::getMapBuilder('classes.model.map.CaseConsolidatedCoreMapBuilder');
|
||||
}
|
||||
/**
|
||||
* Gets a map (hash) of PHP names to DB column names.
|
||||
@@ -94,7 +94,7 @@ abstract class BaseCaseConsolidatedPeer
|
||||
public static function getPhpNameMap()
|
||||
{
|
||||
if (self::$phpNameMap === null) {
|
||||
$map = CaseConsolidatedPeer::getTableMap();
|
||||
$map = CaseConsolidatedCorePeer::getTableMap();
|
||||
$columns = $map->getColumns();
|
||||
$nameMap = array();
|
||||
foreach ($columns as $column) {
|
||||
@@ -149,12 +149,12 @@ abstract class BaseCaseConsolidatedPeer
|
||||
* $c->addJoin(TablePeer::alias("alias1", TablePeer::PRIMARY_KEY_COLUMN), TablePeer::PRIMARY_KEY_COLUMN);
|
||||
* </code>
|
||||
* @param string $alias The alias for the current table.
|
||||
* @param string $column The column name for current table. (i.e. CaseConsolidatedPeer::COLUMN_NAME).
|
||||
* @param string $column The column name for current table. (i.e. CaseConsolidatedCorePeer::COLUMN_NAME).
|
||||
* @return string
|
||||
*/
|
||||
public static function alias($alias, $column)
|
||||
{
|
||||
return str_replace(CaseConsolidatedPeer::TABLE_NAME.'.', $alias.'.', $column);
|
||||
return str_replace(CaseConsolidatedCorePeer::TABLE_NAME.'.', $alias.'.', $column);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -171,13 +171,13 @@ abstract class BaseCaseConsolidatedPeer
|
||||
public static function addSelectColumns(Criteria $criteria)
|
||||
{
|
||||
|
||||
$criteria->addSelectColumn(CaseConsolidatedPeer::TAS_UID);
|
||||
$criteria->addSelectColumn(CaseConsolidatedCorePeer::TAS_UID);
|
||||
|
||||
$criteria->addSelectColumn(CaseConsolidatedPeer::DYN_UID);
|
||||
$criteria->addSelectColumn(CaseConsolidatedCorePeer::DYN_UID);
|
||||
|
||||
$criteria->addSelectColumn(CaseConsolidatedPeer::REP_TAB_UID);
|
||||
$criteria->addSelectColumn(CaseConsolidatedCorePeer::REP_TAB_UID);
|
||||
|
||||
$criteria->addSelectColumn(CaseConsolidatedPeer::CON_STATUS);
|
||||
$criteria->addSelectColumn(CaseConsolidatedCorePeer::CON_STATUS);
|
||||
|
||||
}
|
||||
|
||||
@@ -200,9 +200,9 @@ abstract class BaseCaseConsolidatedPeer
|
||||
// clear out anything that might confuse the ORDER BY clause
|
||||
$criteria->clearSelectColumns()->clearOrderByColumns();
|
||||
if ($distinct || in_array(Criteria::DISTINCT, $criteria->getSelectModifiers())) {
|
||||
$criteria->addSelectColumn(CaseConsolidatedPeer::COUNT_DISTINCT);
|
||||
$criteria->addSelectColumn(CaseConsolidatedCorePeer::COUNT_DISTINCT);
|
||||
} else {
|
||||
$criteria->addSelectColumn(CaseConsolidatedPeer::COUNT);
|
||||
$criteria->addSelectColumn(CaseConsolidatedCorePeer::COUNT);
|
||||
}
|
||||
|
||||
// just in case we're grouping: add those columns to the select statement
|
||||
@@ -210,7 +210,7 @@ abstract class BaseCaseConsolidatedPeer
|
||||
$criteria->addSelectColumn($column);
|
||||
}
|
||||
|
||||
$rs = CaseConsolidatedPeer::doSelectRS($criteria, $con);
|
||||
$rs = CaseConsolidatedCorePeer::doSelectRS($criteria, $con);
|
||||
if ($rs->next()) {
|
||||
return $rs->getInt(1);
|
||||
} else {
|
||||
@@ -231,7 +231,7 @@ abstract class BaseCaseConsolidatedPeer
|
||||
{
|
||||
$critcopy = clone $criteria;
|
||||
$critcopy->setLimit(1);
|
||||
$objects = CaseConsolidatedPeer::doSelect($critcopy, $con);
|
||||
$objects = CaseConsolidatedCorePeer::doSelect($critcopy, $con);
|
||||
if ($objects) {
|
||||
return $objects[0];
|
||||
}
|
||||
@@ -248,7 +248,7 @@ abstract class BaseCaseConsolidatedPeer
|
||||
*/
|
||||
public static function doSelect(Criteria $criteria, $con = null)
|
||||
{
|
||||
return CaseConsolidatedPeer::populateObjects(CaseConsolidatedPeer::doSelectRS($criteria, $con));
|
||||
return CaseConsolidatedCorePeer::populateObjects(CaseConsolidatedCorePeer::doSelectRS($criteria, $con));
|
||||
}
|
||||
/**
|
||||
* Prepares the Criteria object and uses the parent doSelect()
|
||||
@@ -272,7 +272,7 @@ abstract class BaseCaseConsolidatedPeer
|
||||
|
||||
if (!$criteria->getSelectColumns()) {
|
||||
$criteria = clone $criteria;
|
||||
CaseConsolidatedPeer::addSelectColumns($criteria);
|
||||
CaseConsolidatedCorePeer::addSelectColumns($criteria);
|
||||
}
|
||||
|
||||
// Set the correct dbName
|
||||
@@ -294,7 +294,7 @@ abstract class BaseCaseConsolidatedPeer
|
||||
$results = array();
|
||||
|
||||
// set the class once to avoid overhead in the loop
|
||||
$cls = CaseConsolidatedPeer::getOMClass();
|
||||
$cls = CaseConsolidatedCorePeer::getOMClass();
|
||||
$cls = Propel::import($cls);
|
||||
// populate the object(s)
|
||||
while ($rs->next()) {
|
||||
@@ -329,7 +329,7 @@ abstract class BaseCaseConsolidatedPeer
|
||||
*/
|
||||
public static function getOMClass()
|
||||
{
|
||||
return CaseConsolidatedPeer::CLASS_DEFAULT;
|
||||
return CaseConsolidatedCorePeer::CLASS_DEFAULT;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -391,8 +391,8 @@ abstract class BaseCaseConsolidatedPeer
|
||||
if ($values instanceof Criteria) {
|
||||
$criteria = clone $values; // rename for clarity
|
||||
|
||||
$comparison = $criteria->getComparison(CaseConsolidatedPeer::TAS_UID);
|
||||
$selectCriteria->add(CaseConsolidatedPeer::TAS_UID, $criteria->remove(CaseConsolidatedPeer::TAS_UID), $comparison);
|
||||
$comparison = $criteria->getComparison(CaseConsolidatedCorePeer::TAS_UID);
|
||||
$selectCriteria->add(CaseConsolidatedCorePeer::TAS_UID, $criteria->remove(CaseConsolidatedCorePeer::TAS_UID), $comparison);
|
||||
|
||||
} else {
|
||||
$criteria = $values->buildCriteria(); // gets full criteria
|
||||
@@ -420,7 +420,7 @@ abstract class BaseCaseConsolidatedPeer
|
||||
// use transaction because $criteria could contain info
|
||||
// for more than one table or we could emulating ON DELETE CASCADE, etc.
|
||||
$con->begin();
|
||||
$affectedRows += BasePeer::doDeleteAll(CaseConsolidatedPeer::TABLE_NAME, $con);
|
||||
$affectedRows += BasePeer::doDeleteAll(CaseConsolidatedCorePeer::TABLE_NAME, $con);
|
||||
$con->commit();
|
||||
return $affectedRows;
|
||||
} catch (PropelException $e) {
|
||||
@@ -444,7 +444,7 @@ abstract class BaseCaseConsolidatedPeer
|
||||
public static function doDelete($values, $con = null)
|
||||
{
|
||||
if ($con === null) {
|
||||
$con = Propel::getConnection(CaseConsolidatedPeer::DATABASE_NAME);
|
||||
$con = Propel::getConnection(CaseConsolidatedCorePeer::DATABASE_NAME);
|
||||
}
|
||||
|
||||
if ($values instanceof Criteria) {
|
||||
@@ -455,7 +455,7 @@ abstract class BaseCaseConsolidatedPeer
|
||||
} else {
|
||||
// it must be the primary key
|
||||
$criteria = new Criteria(self::DATABASE_NAME);
|
||||
$criteria->add(CaseConsolidatedPeer::TAS_UID, (array) $values, Criteria::IN);
|
||||
$criteria->add(CaseConsolidatedCorePeer::TAS_UID, (array) $values, Criteria::IN);
|
||||
}
|
||||
|
||||
// Set the correct dbName
|
||||
@@ -494,8 +494,8 @@ abstract class BaseCaseConsolidatedPeer
|
||||
$columns = array();
|
||||
|
||||
if ($cols) {
|
||||
$dbMap = Propel::getDatabaseMap(CaseConsolidatedPeer::DATABASE_NAME);
|
||||
$tableMap = $dbMap->getTable(CaseConsolidatedPeer::TABLE_NAME);
|
||||
$dbMap = Propel::getDatabaseMap(CaseConsolidatedCorePeer::DATABASE_NAME);
|
||||
$tableMap = $dbMap->getTable(CaseConsolidatedCorePeer::TABLE_NAME);
|
||||
|
||||
if (! is_array($cols)) {
|
||||
$cols = array($cols);
|
||||
@@ -511,7 +511,7 @@ abstract class BaseCaseConsolidatedPeer
|
||||
|
||||
}
|
||||
|
||||
return BasePeer::doValidate(CaseConsolidatedPeer::DATABASE_NAME, CaseConsolidatedPeer::TABLE_NAME, $columns);
|
||||
return BasePeer::doValidate(CaseConsolidatedCorePeer::DATABASE_NAME, CaseConsolidatedCorePeer::TABLE_NAME, $columns);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -527,12 +527,12 @@ abstract class BaseCaseConsolidatedPeer
|
||||
$con = Propel::getConnection(self::DATABASE_NAME);
|
||||
}
|
||||
|
||||
$criteria = new Criteria(CaseConsolidatedPeer::DATABASE_NAME);
|
||||
$criteria = new Criteria(CaseConsolidatedCorePeer::DATABASE_NAME);
|
||||
|
||||
$criteria->add(CaseConsolidatedPeer::TAS_UID, $pk);
|
||||
$criteria->add(CaseConsolidatedCorePeer::TAS_UID, $pk);
|
||||
|
||||
|
||||
$v = CaseConsolidatedPeer::doSelect($criteria, $con);
|
||||
$v = CaseConsolidatedCorePeer::doSelect($criteria, $con);
|
||||
|
||||
return !empty($v) > 0 ? $v[0] : null;
|
||||
}
|
||||
@@ -556,8 +556,8 @@ abstract class BaseCaseConsolidatedPeer
|
||||
$objs = array();
|
||||
} else {
|
||||
$criteria = new Criteria();
|
||||
$criteria->add(CaseConsolidatedPeer::TAS_UID, $pks, Criteria::IN);
|
||||
$objs = CaseConsolidatedPeer::doSelect($criteria, $con);
|
||||
$criteria->add(CaseConsolidatedCorePeer::TAS_UID, $pks, Criteria::IN);
|
||||
$objs = CaseConsolidatedCorePeer::doSelect($criteria, $con);
|
||||
}
|
||||
return $objs;
|
||||
}
|
||||
@@ -569,14 +569,14 @@ if (Propel::isInit()) {
|
||||
// the MapBuilder classes register themselves with Propel during initialization
|
||||
// so we need to load them here.
|
||||
try {
|
||||
BaseCaseConsolidatedPeer::getMapBuilder();
|
||||
BaseCaseConsolidatedCorePeer::getMapBuilder();
|
||||
} catch (Exception $e) {
|
||||
Propel::log('Could not initialize Peer: ' . $e->getMessage(), Propel::LOG_ERR);
|
||||
}
|
||||
} else {
|
||||
// even if Propel is not yet initialized, the map builder class can be registered
|
||||
// now and then it will be loaded when Propel initializes.
|
||||
require_once 'classes/model/map/CaseConsolidatedMapBuilder.php';
|
||||
Propel::registerMapBuilder('classes.model.map.CaseConsolidatedMapBuilder');
|
||||
require_once 'classes/model/map/CaseConsolidatedCoreMapBuilder.php';
|
||||
Propel::registerMapBuilder('classes.model.map.CaseConsolidatedCoreMapBuilder');
|
||||
}
|
||||
|
||||
@@ -116,7 +116,7 @@ class pmTablesProxy extends HttpProxyController
|
||||
G::LoadClass( 'dbConnections' );
|
||||
$proUid = $_POST['PRO_UID'];
|
||||
$dbConn = new DbConnections();
|
||||
$dbConnections = $dbConn->getConnectionsProUid( $proUid );
|
||||
$dbConnections = $dbConn->getConnectionsProUid( $proUid, array('mysql') );
|
||||
|
||||
$workSpace = new workspaceTools(SYS_SYS);
|
||||
$workspaceDB = $workSpace->getDBInfo();
|
||||
@@ -1713,22 +1713,28 @@ class pmTablesProxy extends HttpProxyController
|
||||
$oCriteria->addSelectColumn(ProcessVariablesPeer::VAR_UID);
|
||||
$oCriteria->addSelectColumn(ProcessVariablesPeer::VAR_NAME);
|
||||
$oCriteria->addSelectColumn(ProcessVariablesPeer::VAR_FIELD_TYPE);
|
||||
$oCriteria->addSelectColumn(ProcessVariablesPeer::VAR_SQL);
|
||||
$oCriteria->addSelectColumn(ProcessVariablesPeer::VAR_ACCEPTED_VALUES);
|
||||
$oCriteria->add(ProcessVariablesPeer::PRJ_UID, $row["PRJ_UID"]);
|
||||
$oDataset = ProcessVariablesPeer::doSelectRS($oCriteria);
|
||||
$oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
|
||||
$index = 0;
|
||||
while ($oDataset->next()) {
|
||||
$row = $oDataset->getRow();
|
||||
$fieldType = isset($row["VAR_FIELD_TYPE"]) ? $row["VAR_FIELD_TYPE"]: '';
|
||||
if(! in_array( $fieldType, $excludeFieldsList )){
|
||||
array_push($fields, array(
|
||||
"FIELD_UID" => $row["VAR_NAME"] . "-" . $row["VAR_FIELD_TYPE"],
|
||||
"FIELD_NAME" => $row["VAR_NAME"],
|
||||
"FIELD_VALIDATE" => "any",
|
||||
"_index" => $index ++,
|
||||
"_isset" => true
|
||||
));
|
||||
}
|
||||
$fieldType = isset($row["VAR_FIELD_TYPE"]) ? $row["VAR_FIELD_TYPE"]: '';
|
||||
$varSql = isset($row["VAR_SQL"]) ? $row["VAR_SQL"] : '';
|
||||
$varProcessVariable = isset($row["VAR_ACCEPTED_VALUES"]) ? $row["VAR_ACCEPTED_VALUES"] : '[]';
|
||||
if(! in_array( $fieldType, $excludeFieldsList )){
|
||||
if(strlen($varSql) == 0 && $varProcessVariable == '[]'){
|
||||
array_push($fields, array(
|
||||
"FIELD_UID" => $row["VAR_NAME"] . "-" . $row["VAR_FIELD_TYPE"],
|
||||
"FIELD_NAME" => $row["VAR_NAME"],
|
||||
"FIELD_VALIDATE" => "any",
|
||||
"_index" => $index ++,
|
||||
"_isset" => true
|
||||
));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -99,5 +99,4 @@ if (count($dashBoardPages)>0) {
|
||||
ucwords(strtolower($tabName)), '');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -105,16 +105,31 @@ while ($rsSql->next()) {
|
||||
$grdTitle = htmlentities($proTitle . " / " . $tabTitle, ENT_QUOTES, "UTF-8");
|
||||
$tabTitle = htmlentities(substr($proTitle, 0, 25) . ((strlen($proTitle) > 25)? "..." : null) . " / " . $tabTitle, ENT_QUOTES, "UTF-8");
|
||||
|
||||
$arrayTabItem[] = "
|
||||
{
|
||||
title: \"<span onmouseover=\\\"toolTipTab('$grdTitle', 1);\\\" onmouseout=\\\"toolTipTab('', 0);\\\">$tabTitle</span>\",
|
||||
listeners: {
|
||||
activate: function ()
|
||||
{
|
||||
generateGrid(\"$processUid\", \"$taskUid\", \"$dynaformUid\");
|
||||
$oProcess = new Process();
|
||||
$isBpmn = $oProcess->isBpmnProcess($processUid);
|
||||
if($isBpmn){
|
||||
$arrayTabItem[] = "
|
||||
{
|
||||
title: \"<span onmouseover=\\\"toolTipTab('$grdTitle', 1);\\\" onmouseout=\\\"toolTipTab('', 0);\\\">$tabTitle</span>\",
|
||||
listeners: {
|
||||
activate: function ()
|
||||
{
|
||||
generateGrid(\"$processUid\", \"$taskUid\", \"$dynaformUid\");
|
||||
}
|
||||
}
|
||||
}
|
||||
}";
|
||||
}";
|
||||
}else{
|
||||
$arrayTabItem[] = "
|
||||
{
|
||||
title: \"<span onmouseover=\\\"toolTipTab('$grdTitle', 1);\\\" onmouseout=\\\"toolTipTab('', 0);\\\">$tabTitle</span>\",
|
||||
listeners: {
|
||||
activate: function ()
|
||||
{
|
||||
generateGridClassic(\"$processUid\", \"$taskUid\", \"$dynaformUid\");
|
||||
}
|
||||
}
|
||||
}";
|
||||
}
|
||||
}
|
||||
|
||||
if (count($arrayTabItem) > 0) {
|
||||
|
||||
75
workflow/engine/methods/cases/proxyDataCombobox.php
Executable file
75
workflow/engine/methods/cases/proxyDataCombobox.php
Executable file
@@ -0,0 +1,75 @@
|
||||
<?php
|
||||
/*
|
||||
* To change this template, choose Tools | Templates
|
||||
* and open the template in the editor.
|
||||
*/
|
||||
|
||||
$appUid = isset($_POST["appUid"])? $_POST["appUid"] : "";
|
||||
$dynUid = isset($_POST["dynUid"])? $_POST["dynUid"] : "";
|
||||
$proUid = isset($_POST["proUid"])? $_POST["proUid"] : "";
|
||||
$fieldName = isset($_POST["fieldName"])? $_POST["fieldName"] : "";
|
||||
|
||||
$filename = $proUid . PATH_SEP . $dynUid . ".xml";
|
||||
|
||||
$G_FORM = new xmlform();
|
||||
$G_FORM->home = PATH_DYNAFORM;
|
||||
$G_FORM->parseFile($filename, SYS_LANG, true);
|
||||
|
||||
G::LoadClass("case");
|
||||
G::LoadClass("pmFunctions");
|
||||
|
||||
//Load the variables
|
||||
$oCase = new Cases();
|
||||
$sqlQuery = null;
|
||||
$array = array();
|
||||
$aFields = $oCase->loadCase($appUid);
|
||||
|
||||
foreach ($G_FORM->fields as $key => $val) {
|
||||
if ($fieldName == $val->name) {
|
||||
if ($G_FORM->fields[$key]->sql != null) {
|
||||
$sqlQuery = G::replaceDataField($G_FORM->fields[$key]->sql, $aFields ["APP_DATA"]);
|
||||
}
|
||||
//$coma = "";
|
||||
//$data1 = "";
|
||||
if (is_array($val->options)) {
|
||||
foreach ($val->options as $key1 => $val1) {
|
||||
$array[] = array("value" => $key1, "text" => $val1);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//echo ($sqlQuery);
|
||||
if ($sqlQuery != null) {
|
||||
$aResult = executeQuery($sqlQuery);
|
||||
//var_dump($aResult);
|
||||
if ($aResult == "false" || $aResult == null) {
|
||||
$aResult = array();
|
||||
}
|
||||
} else {
|
||||
$aResult = array();
|
||||
}
|
||||
//var_dump($aResult);
|
||||
$arrayTmp = array();
|
||||
foreach ($aResult as $field) {
|
||||
$i = 0;
|
||||
|
||||
foreach ($field as $key => $value) {
|
||||
if ($i == 0) {
|
||||
$arrayTmp["value"] = $value;
|
||||
if (count($field) == 1) {
|
||||
$arrayTmp["text"]=$value;
|
||||
}
|
||||
}
|
||||
|
||||
if ($i == 1) {
|
||||
$arrayTmp["text"] = $value;
|
||||
}
|
||||
$i++;
|
||||
}
|
||||
$array[] = $arrayTmp;
|
||||
}
|
||||
|
||||
$response["records"] = $array;
|
||||
|
||||
echo G::json_encode($response);
|
||||
@@ -7,7 +7,7 @@ use \Criteria;
|
||||
use \ReportTablePeer;
|
||||
use \ResultSet;
|
||||
use \AppCacheViewPeer;
|
||||
use \CaseConsolidatedPeer;
|
||||
use \CaseConsolidatedCorePeer;
|
||||
use \ContentPeer;
|
||||
|
||||
/**
|
||||
@@ -29,21 +29,21 @@ class Consolidated
|
||||
public function get ($tas_uid)
|
||||
{
|
||||
$criteria = new Criteria();
|
||||
$criteria->addSelectColumn(CaseConsolidatedPeer::DYN_UID);
|
||||
$criteria->addSelectColumn(CaseConsolidatedCorePeer::DYN_UID);
|
||||
$criteria->addSelectColumn(\ReportTablePeer::REP_TAB_NAME);
|
||||
$criteria->addSelectColumn(\ReportTablePeer::REP_TAB_UID);
|
||||
$criteria->addSelectColumn(ContentPeer::CON_VALUE);
|
||||
$criteria->addSelectColumn(CaseConsolidatedPeer::CON_STATUS);
|
||||
$criteria->addSelectColumn(CaseConsolidatedCorePeer::CON_STATUS);
|
||||
|
||||
$criteria->addJoin( CaseConsolidatedPeer::REP_TAB_UID, ReportTablePeer::REP_TAB_UID, Criteria::LEFT_JOIN );
|
||||
$criteria->addJoin( CaseConsolidatedPeer::REP_TAB_UID, ContentPeer::CON_ID, Criteria::LEFT_JOIN );
|
||||
$criteria->addJoin( CaseConsolidatedCorePeer::REP_TAB_UID, ReportTablePeer::REP_TAB_UID, Criteria::LEFT_JOIN );
|
||||
$criteria->addJoin( CaseConsolidatedCorePeer::REP_TAB_UID, ContentPeer::CON_ID, Criteria::LEFT_JOIN );
|
||||
$criteria->add( ContentPeer::CON_CATEGORY, "REP_TAB_TITLE");
|
||||
$criteria->add( ContentPeer::CON_LANG, SYS_LANG);
|
||||
|
||||
$criteria->add( CaseConsolidatedPeer::TAS_UID, $tas_uid, Criteria::EQUAL );
|
||||
$criteria->add( CaseConsolidatedPeer::CON_STATUS, 'ACTIVE', Criteria::EQUAL );
|
||||
$criteria->add( CaseConsolidatedCorePeer::TAS_UID, $tas_uid, Criteria::EQUAL );
|
||||
$criteria->add( CaseConsolidatedCorePeer::CON_STATUS, 'ACTIVE', Criteria::EQUAL );
|
||||
|
||||
$dataset = CaseConsolidatedPeer::doSelectRS($criteria);
|
||||
$dataset = CaseConsolidatedCorePeer::doSelectRS($criteria);
|
||||
$dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
|
||||
if ($dataset->next()) {
|
||||
$response = $dataset->getRow();
|
||||
|
||||
@@ -226,12 +226,12 @@ class Lists {
|
||||
$licensedFeatures = & \PMLicensedFeatures::getSingleton();
|
||||
if ($licensedFeatures->verifyfeature('7TTeDBQeWRoZTZKYjh4eFpYUlRDUUEyVERPU3FxellWank=')) {
|
||||
$criteria = new Criteria();
|
||||
$criteria->add(\CaseConsolidatedPeer::CON_STATUS, 'ACTIVE');
|
||||
$criteria->addJoin(\CaseConsolidatedPeer::TAS_UID, \AppCacheViewPeer::TAS_UID, Criteria::LEFT_JOIN);
|
||||
$criteria->add(\CaseConsolidatedCorePeer::CON_STATUS, 'ACTIVE');
|
||||
$criteria->addJoin(\CaseConsolidatedCorePeer::TAS_UID, \AppCacheViewPeer::TAS_UID, Criteria::LEFT_JOIN);
|
||||
$criteria->add(\AppCacheViewPeer::USR_UID, $userId);
|
||||
$criteria->add(\AppCacheViewPeer::DEL_THREAD_STATUS, 'OPEN');
|
||||
$criteria->add(\AppCacheViewPeer::APP_STATUS, 'TO_DO');
|
||||
$total = \CaseConsolidatedPeer::doCount( $criteria );
|
||||
$total = \CaseConsolidatedCorePeer::doCount( $criteria );
|
||||
$response[] = array('count' => $total, 'item' => 'CONSOLIDATED_CASES');
|
||||
}
|
||||
/*----------------------------------********---------------------------------*/
|
||||
|
||||
@@ -155,7 +155,8 @@ class Task
|
||||
"TAS_SELFSERVICE_TIMEOUT" => $arrayDataAux["TAS_SELFSERVICE_TIMEOUT"],
|
||||
"TAS_SELFSERVICE_TIME" => $arrayDataAux["TAS_SELFSERVICE_TIME"],
|
||||
"TAS_SELFSERVICE_TIME_UNIT" => $arrayDataAux["TAS_SELFSERVICE_TIME_UNIT"],
|
||||
"TAS_SELFSERVICE_TRIGGER_UID" => $arrayDataAux["TAS_SELFSERVICE_TRIGGER_UID"]
|
||||
"TAS_SELFSERVICE_TRIGGER_UID" => $arrayDataAux["TAS_SELFSERVICE_TRIGGER_UID"],
|
||||
"TAS_SELFSERVICE_EXECUTION" => $arrayDataAux["TAS_SELFSERVICE_EXECUTION"]
|
||||
),
|
||||
$keyCase
|
||||
);
|
||||
@@ -281,6 +282,7 @@ class Task
|
||||
$this->unsetVar($arrayProperty, "TAS_SELFSERVICE_TIME");
|
||||
$this->unsetVar($arrayProperty, "TAS_SELFSERVICE_TIME_UNIT");
|
||||
$this->unsetVar($arrayProperty, "TAS_SELFSERVICE_TRIGGER_UID");
|
||||
$this->unsetVar($arrayProperty, "TAS_SELFSERVICE_EXECUTION");
|
||||
break;
|
||||
case 'EVALUATE':
|
||||
if (empty($arrayProperty["TAS_ASSIGN_VARIABLE"])) {
|
||||
@@ -291,6 +293,7 @@ class Task
|
||||
$this->unsetVar($arrayProperty, "TAS_SELFSERVICE_TIME");
|
||||
$this->unsetVar($arrayProperty, "TAS_SELFSERVICE_TIME_UNIT");
|
||||
$this->unsetVar($arrayProperty, "TAS_SELFSERVICE_TRIGGER_UID");
|
||||
$this->unsetVar($arrayProperty, "TAS_SELFSERVICE_EXECUTION");
|
||||
break;
|
||||
case 'SELF_SERVICE':
|
||||
case 'SELF_SERVICE_EVALUATE':
|
||||
@@ -316,10 +319,14 @@ class Task
|
||||
if (empty($arrayProperty["TAS_SELFSERVICE_TRIGGER_UID"])) {
|
||||
throw (new \Exception("Invalid value specified for 'tas_selfservice_trigger_uid'"));
|
||||
}
|
||||
if (empty($arrayProperty["TAS_SELFSERVICE_EXECUTION"])) {
|
||||
throw (new \Exception("Invalid value specified for 'tas_selfservice_execution'"));
|
||||
}
|
||||
} else {
|
||||
$this->unsetVar($arrayProperty, "TAS_SELFSERVICE_TIME");
|
||||
$this->unsetVar($arrayProperty, "TAS_SELFSERVICE_TIME_UNIT");
|
||||
$this->unsetVar($arrayProperty, "TAS_SELFSERVICE_TRIGGER_UID");
|
||||
$this->unsetVar($arrayProperty, "TAS_SELFSERVICE_EXECUTION");
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -258,7 +258,7 @@ class ActivityPropertiesStructure
|
||||
public $tas_selfservice_timeout;
|
||||
|
||||
/**
|
||||
* @var string {@from body} {@choice DAYS,,HOURS}
|
||||
* @var string {@from body} {@choice DAYS,,HOURS,MINUTES}
|
||||
*/
|
||||
public $tas_selfservice_time_unit;
|
||||
|
||||
@@ -267,6 +267,11 @@ class ActivityPropertiesStructure
|
||||
*/
|
||||
public $tas_selfservice_trigger_uid;
|
||||
|
||||
/**
|
||||
* @var string {@from body} {@choice EVERY_TIME,ONCE}
|
||||
*/
|
||||
public $tas_selfservice_execution;
|
||||
|
||||
/**
|
||||
* @var string {@from body} {@choice TRUE,FALSE}
|
||||
*/
|
||||
|
||||
@@ -706,6 +706,279 @@ function renderSummary (val, p, r) {
|
||||
return summaryIcon;
|
||||
};
|
||||
|
||||
function generateGridClassic(proUid, tasUid, dynUid){
|
||||
|
||||
var pager = 20; //pageSize
|
||||
var pagei = 0; //start
|
||||
Ext.Ajax.request({
|
||||
url: '../pmConsolidatedCL/proxyGenerateGrid',
|
||||
success: function(response) {
|
||||
//Obtenemos el column model y los reader fields de proxyGenerateGrid
|
||||
var dataResponse = Ext.util.JSON.decode(response.responseText);
|
||||
var viewConfigObject;
|
||||
var textArea = dataResponse.hasTextArea;
|
||||
|
||||
if (textArea == false) {
|
||||
viewConfigObject = { //forceFit: true
|
||||
};
|
||||
} else {
|
||||
viewConfigObject = {
|
||||
//forceFit:true,
|
||||
enableRowBody:true,
|
||||
showPreview:true,
|
||||
getRowClass : function(record, rowIndex, p, store){
|
||||
if (this.showPreview) {
|
||||
p.body = '<p><br /></p>';
|
||||
return 'x-grid3-row-expanded';
|
||||
}
|
||||
return 'x-grid3-row-collapsed';
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
storeConsolidated = new Ext.data.Store({
|
||||
id: "storeConsolidatedGrid",
|
||||
remoteSort: true,
|
||||
//definimos un proxy como un objeto de la clase HttpProxy
|
||||
proxy: new Ext.data.HttpProxy({
|
||||
url: "../pmConsolidatedCL/proxyConsolidated",
|
||||
api: {
|
||||
read: "../pmConsolidatedCL/proxyConsolidated",
|
||||
//update: "../pmConsolidatedCL/proxySaveConsolidated"
|
||||
update: "../pmConsolidatedCL/consolidatedUpdateAjax"
|
||||
}
|
||||
}),
|
||||
|
||||
//el data reader obtiene los reader fields de la consulta en ajax
|
||||
reader: new Ext.data.JsonReader({
|
||||
fields: dataResponse.readerFields,
|
||||
totalProperty: "totalCount",
|
||||
//successProperty: "success",
|
||||
idProperty: "APP_UID",
|
||||
root: "data",
|
||||
messageProperty: "message"
|
||||
}),
|
||||
|
||||
//el data writer es un objeto generico pero q permitira a futuro el escribir los datos al servidor mediante el proxy
|
||||
writer: new Ext.data.JsonWriter({
|
||||
encode: true,
|
||||
writeAllFields: false
|
||||
}), //<-- plug a DataWriter into the store just as you would a Reader
|
||||
autoSave: true, //<-- false would delay executing create, update, destroy requests until specifically told to do so with some [save] buton.
|
||||
|
||||
//el ordenamiento para los campos posiblemente este tenga q ser el tercer dato obtenido del proxy dado q los listados son muy cambiantes de tarea en tarea
|
||||
//sortInfo:{
|
||||
// field: 'APP_CACHE_VIEW.APP_NUMBER',
|
||||
// direction: "DESC"
|
||||
//}
|
||||
|
||||
//,
|
||||
listeners: { //
|
||||
beforeload:function (store, options) { //
|
||||
grdNumRows = 0; //
|
||||
}, //
|
||||
|
||||
load:function (store, records, options) { //
|
||||
grdNumRows = store.getCount(); //
|
||||
|
||||
consolidatedGrid.setDisabled(false);
|
||||
} //
|
||||
} //
|
||||
});
|
||||
|
||||
var xColumns = dataResponse.columnModel;
|
||||
xColumns.unshift(smodel);
|
||||
|
||||
|
||||
var cm = new Ext.grid.ColumnModel(xColumns);
|
||||
cm.config[2].renderer = renderTitle; //Case Number
|
||||
cm.config[3].renderer = renderTitle; //Case Title
|
||||
cm.config[4].renderer = renderSummary;//Case Summary
|
||||
|
||||
//generacion del grid basados en los atributos definidos con anterioridad
|
||||
storeConsolidated.setBaseParam("limit", pager);
|
||||
storeConsolidated.setBaseParam("start", pagei);
|
||||
storeConsolidated.setBaseParam('tasUid', tasUid);
|
||||
storeConsolidated.setBaseParam('dynUid', dynUid);
|
||||
storeConsolidated.setBaseParam('proUid', proUid);
|
||||
storeConsolidated.setBaseParam('dropList', Ext.util.JSON.encode(dataResponse.dropList));
|
||||
storeConsolidated.load();
|
||||
|
||||
consolidatedGrid = new Ext.grid.EditorGridPanel({
|
||||
id: gridId,
|
||||
region: "center",
|
||||
|
||||
store: storeConsolidated,
|
||||
cm: cm,
|
||||
sm: smodel,
|
||||
//autoHeight: true,
|
||||
|
||||
//height: pnlMain.getSize().height - pnlMain.getFrameHeight(), //
|
||||
width: pnlMain.getSize().width, //
|
||||
height: browserHeight - 35, //
|
||||
|
||||
layout: 'fit',
|
||||
//plugins: filters,
|
||||
viewConfig: viewConfigObject,
|
||||
|
||||
listeners: {
|
||||
beforeedit: function (e) {
|
||||
var selRow = Ext.getCmp(gridId).getSelectionModel().getSelected();
|
||||
|
||||
var swDropdown = 0;
|
||||
for (var i = 0; i <= dataResponse.dropList.length - 1 && swDropdown == 0; i++) {
|
||||
if (dataResponse.dropList[i] == e.field) {
|
||||
swDropdown = 1;
|
||||
}
|
||||
}
|
||||
|
||||
var swYesNo = 0;
|
||||
for (var i = 0; i <= dataResponse.comboBoxYesNoList.length - 1 && swYesNo == 0; i++) {
|
||||
if (dataResponse.comboBoxYesNoList[i] == e.field) {
|
||||
swYesNo = 1;
|
||||
}
|
||||
}
|
||||
|
||||
if (swDropdown == 1 && swYesNo == 0) {
|
||||
storeAux = Ext.StoreMgr.get("store" + e.field + "_" + proUid);
|
||||
storeAux.setBaseParam("appUid", selRow.data["APP_UID"]);
|
||||
storeAux.setBaseParam("dynUid", dynUid);
|
||||
storeAux.setBaseParam("proUid", proUid);
|
||||
storeAux.setBaseParam("fieldName", e.field);
|
||||
//currentFieldEdited = e.field;
|
||||
storeAux.load();
|
||||
}
|
||||
},
|
||||
|
||||
afteredit: function (e) {
|
||||
//var store = consolidatedGrid.getStore();
|
||||
|
||||
if (Ext.getCmp("chk_allColumn").checked) {
|
||||
Ext.Msg.show({
|
||||
title: "",
|
||||
msg: "The modification will be applied to all rows in your selection.",
|
||||
buttons: Ext.Msg.YESNO,
|
||||
fn: function (btn) {
|
||||
if (btn == "yes") {
|
||||
//storeConsolidated.each(function (record) {
|
||||
// record.set(e.field, e.value);
|
||||
//});
|
||||
|
||||
consolidatedGrid.setDisabled(true);
|
||||
|
||||
var dataUpdate = "";
|
||||
var strValue = "";
|
||||
var sw = 0;
|
||||
|
||||
if (e.value instanceof Date) {
|
||||
var mAux = e.value.getMonth() + 1;
|
||||
var dAux = e.value.getDate();
|
||||
var hAux = e.value.getHours();
|
||||
var iAux = e.value.getMinutes();
|
||||
var sAux = e.value.getSeconds();
|
||||
|
||||
strValue = e.value.getFullYear() + "-" + ((mAux <= 9)? "0" : "") + mAux + "-" + ((dAux <= 9)? "0" : "") + dAux;
|
||||
strValue = strValue + " " + ((hAux <= 9)? "0" + ((hAux == 0)? "0" : hAux) : hAux) + ":" + ((iAux <= 9)? "0" + ((iAux == 0)? "0" : iAux) : iAux) + ":" + ((sAux <= 9)? "0" + ((sAux == 0)? "0" : sAux) : sAux);
|
||||
} else {
|
||||
strValue = strReplace("\"", "\\\"", e.value + "");
|
||||
}
|
||||
|
||||
storeConsolidated.each(function (record) {
|
||||
dataUpdate = dataUpdate + ((sw == 1)? "(sep1 /)": "") + record.data["APP_UID"] + "(sep2 /)" + e.field + "(sep2 /)" + strValue;
|
||||
sw = 1;
|
||||
});
|
||||
|
||||
///////
|
||||
Ext.Ajax.request({
|
||||
url: "consolidatedUpdateAjax",
|
||||
method: "POST",
|
||||
params: {
|
||||
"option": "ALL",
|
||||
"dynaformUid": dynUid,
|
||||
"dataUpdate": dataUpdate
|
||||
},
|
||||
|
||||
success: function (response, opts) {
|
||||
var dataResponse = eval("(" + response.responseText + ")"); //json
|
||||
|
||||
if (dataResponse.status && dataResponse.status == "OK") {
|
||||
if (typeof(storeConsolidated.lastOptions.params) != "undefined") {
|
||||
pagei = storeConsolidated.lastOptions.params.start;
|
||||
}
|
||||
|
||||
storeConsolidated.setBaseParam("start", pagei);
|
||||
storeConsolidated.load();
|
||||
} else {
|
||||
//
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
},
|
||||
//animEl: "elId",
|
||||
icon: Ext.MessageBox.QUESTION
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
mouseover: function (e, cell) {
|
||||
var rowIndex = consolidatedGrid.getView().findRowIndex(cell);
|
||||
if (!(rowIndex === false)) {
|
||||
var record = consolidatedGrid.store.getAt(rowIndex);
|
||||
var msg = record.get('APP_TITLE');
|
||||
Ext.QuickTips.register({
|
||||
text: msg,
|
||||
target: e.target
|
||||
});
|
||||
} else {
|
||||
Ext.QuickTips.unregister(e.target);
|
||||
}
|
||||
},
|
||||
|
||||
mouseout: function (e, cell) {
|
||||
Ext.QuickTips.unregister(e.target);
|
||||
}
|
||||
},
|
||||
|
||||
//tbar: tb,
|
||||
|
||||
tbar: new Ext.Toolbar({
|
||||
height: 33,
|
||||
items: toolbarconsolidated
|
||||
}),
|
||||
|
||||
bbar: new Ext.PagingToolbar({
|
||||
pageSize: pager,
|
||||
store: storeConsolidated,
|
||||
displayInfo: true,
|
||||
displayMsg: _("ID_DISPLAY_ITEMS"),
|
||||
emptyMsg: _("ID_DISPLAY_EMPTY")
|
||||
})
|
||||
});
|
||||
|
||||
//remocion de todos los elementos del panel principal donde se carga el grid
|
||||
//Ext.ComponentMgr.get("myId").body.update("");
|
||||
//pnlMain.removeAll(false);
|
||||
pnlMain.removeAll();
|
||||
//adicion del grid definido con anterioridad
|
||||
pnlMain.add(consolidatedGrid);
|
||||
//recarga de los elementos del grid, para su visualizacion.
|
||||
pnlMain.doLayout();
|
||||
},
|
||||
|
||||
//en caso de fallo ejecutar la siguiente funcion.
|
||||
failure: function(){
|
||||
alert("Failure...");
|
||||
},
|
||||
// parametros que son enviados en la peticion al servidor.
|
||||
params: {
|
||||
xaction: 'read',
|
||||
tasUid: tasUid,
|
||||
dynUid: dynUid,
|
||||
proUid: proUid
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function generateGrid(proUid, tasUid, dynUid)
|
||||
{
|
||||
|
||||
@@ -162,11 +162,14 @@
|
||||
<a href="#" class="mafe-menu-permissions"></a>
|
||||
<a href="#" class="btn_create mafe-menu-permissions-create"><span></span></a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#" class="mafe-menu-casetracker"></a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="bpmn_shapes_legend">
|
||||
<div class="head"></div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
||||
</body>
|
||||
@@ -28,7 +28,7 @@
|
||||
<en><![CDATA[Time]]></en>
|
||||
</TAS_SELFSERVICE_TIME>
|
||||
<TAS_SELFSERVICE_TIME_UNIT type="dropdown">
|
||||
<en><![CDATA[Time unit]]><option name="HOURS"><![CDATA[Hours]]></option><option name="DAYS"><![CDATA[Days]]></option></en>
|
||||
<en><![CDATA[Time unit]]><option name="HOURS"><![CDATA[Hours]]></option><option name="DAYS"><![CDATA[Days]]></option><option name="MINUTES"><![CDATA[Minutes]]></option></en>
|
||||
</TAS_SELFSERVICE_TIME_UNIT>
|
||||
<TAS_SELFSERVICE_TRIGGER_UID type="dropdown" required="1"><![CDATA[
|
||||
SELECT TGR.TRI_UID, CON.CON_VALUE
|
||||
|
||||
Reference in New Issue
Block a user