BUG 0000 new Feature: Report table ver 2.

This commit is contained in:
Erik Amaru Ortiz
2011-06-28 12:53:25 -04:00
parent 07cda245a0
commit 38573084ac
29 changed files with 3910 additions and 312 deletions

View File

@@ -867,8 +867,12 @@ class Cases {
$TAS_UID = isset($Fields['TAS_UID']) ? $Fields['TAS_UID'] : '';
G::LoadClass('reportTables');
require_once 'classes/model/AdditionalTables.php';
$oReportTables = new ReportTables();
$addtionalTables = new additionalTables();
$oReportTables->updateTables($appFields['PRO_UID'], $sAppUid, $Fields['APP_NUMBER'], $aApplicationFields);
$addtionalTables->updateReportTables($appFields['PRO_UID'], $sAppUid, $Fields['APP_NUMBER'], $aApplicationFields);
//now update the priority in appdelegation table, using the defined variable in task
if (trim($DEL_INDEX) != '' && trim($TAS_UID) != '') {

View File

@@ -2270,6 +2270,8 @@ class processMap {
$oCriteria = new Criteria('workflow');
$oCriteria->addSelectColumn(ReportTablePeer::REP_TAB_UID);
$oCriteria->addSelectColumn(ReportTablePeer::PRO_UID);
$oCriteria->addSelectColumn(ReportTablePeer::REP_TAB_NAME);
$oCriteria->addSelectColumn(ReportTablePeer::REP_TAB_TYPE);
// $oCriteria->addAsColumn ( 'REP_TAB_TITLE', 'C.CON_VALUE' );
$oCriteria->addAsColumn('REP_TAB_TITLE', "CASE WHEN C.CON_VALUE IS NULL THEN (SELECT DISTINCT MAX(A.CON_VALUE) FROM CONTENT A WHERE A.CON_ID = REPORT_TABLE.REP_TAB_UID ) ELSE C.CON_VALUE END ");
$oCriteria->addAlias('C', 'CONTENT');

View File

@@ -19,25 +19,33 @@ require_once 'classes/model/om/BaseAdditionalTables.php';
* @package workflow.engine.classes.model
*/
class AdditionalTables extends BaseAdditionalTables {
private $aDef = array('mysql' => array('TEXT' => 'TEXT',
private $aDef = array(
'mysql' => array(
'TEXT' => 'TEXT',
'CHAR' => 'CHAR',
'VARCHAR' => 'VARCHAR',
'INT' => 'INT',
'FLOAT' => 'FLOAT',
'DATE' => 'DATE'),
'pgsql' => array('TEXT' => 'TEXT',
'DATE' => 'DATE'
),
'pgsql' => array(
'TEXT' => 'TEXT',
'CHAR' => 'CHAR',
'VARCHAR' => 'VARCHAR',
'INT' => 'INTEGER',
'FLOAT' => 'REAL',
'DATE' => 'DATE'),
'mssql' => array('TEXT' => 'TEXT',
'DATE' => 'DATE'
),
'mssql' => array(
'TEXT' => 'TEXT',
'CHAR' => 'NCHAR',
'VARCHAR' => 'NVARCHAR',
'INT' => 'INTEGER',
'FLOAT' => 'FLOAT',
'DATE' => 'CHAR (19)')
'DATE' => 'CHAR (19)'
)
);
/**
* Function load
* access public
@@ -61,6 +69,8 @@ class AdditionalTables extends BaseAdditionalTables {
$oCriteria->addSelectColumn(FieldsPeer::FLD_KEY);
$oCriteria->addSelectColumn(FieldsPeer::FLD_FOREIGN_KEY);
$oCriteria->addSelectColumn(FieldsPeer::FLD_FOREIGN_KEY_TABLE);
$oCriteria->addSelectColumn(FieldsPeer::FLD_DYN_NAME);
$oCriteria->addSelectColumn(FieldsPeer::FLD_DYN_UID);
$oCriteria->add(FieldsPeer::ADD_TAB_UID, $sUID);
$oCriteria->addAscendingOrderByColumn(FieldsPeer::FLD_INDEX);
$oDataset = FieldsPeer::doSelectRS($oCriteria);
@@ -86,7 +96,7 @@ class AdditionalTables extends BaseAdditionalTables {
}
}
public function loadByName($name) {
public function loadByName($name) {
try {
$oCriteria = new Criteria('workflow');
$oCriteria->addSelectColumn(AdditionalTablesPeer::ADD_TAB_UID);
@@ -118,23 +128,26 @@ public function loadByName($name) {
}
}
function create($aData, $aFields = array()) {
if (!isset($aData['ADD_TAB_UID'])) {
/**
* Create & Update function
*/
function create($aData, $aFields = array())
{
if (!isset($aData['ADD_TAB_UID']) || (isset($aData['ADD_TAB_UID']) && $aData['ADD_TAB_UID'] == '')) {
$aData['ADD_TAB_UID'] = G::generateUniqueID();
}
else {
if ($aData['ADD_TAB_UID'] == '') {
$aData['ADD_TAB_UID'] = G::generateUniqueID();
}
}
$oConnection = Propel::getConnection(AdditionalTablesPeer::DATABASE_NAME);
try {
$oAdditionalTables = new AdditionalTables();
$oAdditionalTables->fromArray($aData, BasePeer::TYPE_FIELDNAME);
if ($oAdditionalTables->validate()) {
$oConnection->begin();
$iResult = $oAdditionalTables->save();
$oConnection->commit();
/****DEPRECATED
require_once 'classes/model/ShadowTable.php';
$oShadowTable = new ShadowTable();
$oShadowTable->create(array('ADD_TAB_UID' => $aData['ADD_TAB_UID'],
@@ -143,9 +156,9 @@ public function loadByName($name) {
'USR_UID' => (isset($_SESSION['USER_LOGGED']) ? $_SESSION['USER_LOGGED'] : ''),
'APP_UID' => '',
'SHD_DATE' => date('Y-m-d H:i:s')));
*/
return $aData['ADD_TAB_UID'];
}
else {
} else {
$sMessage = '';
$aValidationFailures = $oAdditionalTables->getValidationFailures();
foreach($aValidationFailures as $oValidationFailure) {
@@ -170,6 +183,7 @@ public function loadByName($name) {
$oConnection->begin();
$iResult = $oAdditionalTables->save();
$oConnection->commit();
/*** DEPRECATED
require_once 'classes/model/ShadowTable.php';
$oShadowTable = new ShadowTable();
$oShadowTable->create(array('ADD_TAB_UID' => $aData['ADD_TAB_UID'],
@@ -178,7 +192,7 @@ public function loadByName($name) {
'USR_UID' => (isset($_SESSION['USER_LOGGED']) ? $_SESSION['USER_LOGGED'] : ''),
'APP_UID' => '',
'SHD_DATE' => date('Y-m-d H:i:s')));
return $iResult;
return $iResult;*/
}
else {
$sMessage = '';
@@ -216,12 +230,14 @@ public function loadByName($name) {
}
else {
$oShadowTable = new ShadowTable();
$oShadowTable->create(array('ADD_TAB_UID' => $sUID,
$oShadowTable->create(array(
'ADD_TAB_UID' => $sUID,
'SHD_ACTION' => 'DROP',
'SHD_DETAILS' => '',
'USR_UID' => (isset($_SESSION['USER_LOGGED']) ? $_SESSION['USER_LOGGED'] : ''),
'APP_UID' => '',
'SHD_DATE' => date('Y-m-d H:i:s')));
'SHD_DATE' => date('Y-m-d H:i:s'))
);
}
return $iResult;
}
@@ -235,18 +251,63 @@ public function loadByName($name) {
}
}
function createTable($sTableName, $sConnection = 'wf', $aFields = array()) {
function createTable($sTableName, $sConnection = '', $aFields = array()) {
$sTableName = $sTableName;
if ($sConnection == '') {
$sConnection = 'wf';
if ($sConnection == '' || $sConnection == 'wf') {
$sConnection = 'workflow';
}
$sDBName = 'DB' . ($sConnection != 'wf' ? '_' . strtoupper($sConnection) : '') . '_NAME';
$sDBHost = 'DB' . ($sConnection != 'wf' ? '_' . strtoupper($sConnection) : '') . '_HOST';
$sDBUser = 'DB' . ($sConnection != 'wf' ? '_' . strtoupper($sConnection) : '') . '_USER';
$sDBPass = 'DB' . ($sConnection != 'wf' ? '_' . strtoupper($sConnection) : '') . '_PASS';
try {
switch (DB_ADAPTER) {
case 'mysql':
// trying to get a connection, if it doesn't exist Propel::getConnection() throws an exception
$con = Propel::getConnection($sConnection);
$stmt = $con->createStatement();
$sQuery = 'CREATE TABLE IF NOT EXISTS `' . $sTableName . '` (';
$aPKs = array();
foreach ($aFields as $aField) {
$aField['sFieldName'] = strtoupper($aField['sFieldName']);
switch ($aField['sType']) {
case 'VARCHAR':
$sQuery .= '`' . $aField['sFieldName'] . '` ' . $aField['sType'] . '(' . $aField['iSize'] . ')' . " " . ($aField['bNull'] ? 'NULL' : 'NOT NULL') . " DEFAULT '',";
break;
case 'TEXT':
$sQuery .= '`' . $aField['sFieldName'] . '` ' . $aField['sType'] . " " . ($aField['bNull'] ? 'NULL' : 'NOT NULL') . " ,"; // " DEFAULT '',";
break;
case 'DATE':
$sQuery .= '`' . $aField['sFieldName'] . '` ' . $aField['sType'] . " " . ($aField['bNull'] ? 'NULL' : 'NOT NULL') . " ,"; // " DEFAULT '0000-00-00',";
break;
case 'INT':
$sQuery .= '`' . $aField['sFieldName'] . '` ' . $aField['sType'] . '(' . $aField['iSize'] . ')' . " " . ($aField['bNull'] ? 'NULL' : 'NOT NULL') . ' ' . ($aField['bAI'] ? 'AUTO_INCREMENT' : "DEFAULT '0'") . ',';
if ($aField['bAI']) {
if (!in_array('`' . $aField['sFieldName'] . '`', $aPKs)) {
$aPKs[] = '`' . $aField['sFieldName'] . '`';
}
}
break;
case 'FLOAT':
$sQuery .= '`' . $aField['sFieldName'] . '` ' . $aField['sType'] . '(' . $aField['iSize'] . ')' . " " . ($aField['bNull'] ? 'NULL' : 'NOT NULL') . " DEFAULT '0',";
break;
}
if ($aField['bPrimaryKey'] == 1) {
if (!in_array('`' . $aField['sFieldName'] . '`', $aPKs)) {
$aPKs[] = '`' . $aField['sFieldName'] . '`';
}
}
}
$sQuery = substr($sQuery, 0, -1);
if (!empty($aPKs)) {
$sQuery .= ',PRIMARY KEY (' . implode(',', $aPKs) . ')';
}
$sQuery .= ') DEFAULT CHARSET=utf8;';
$rs = $stmt->executeQuery('DROP TABLE IF EXISTS `' . $sTableName . '`');
$rs = $stmt->executeQuery($sQuery);
break;
case 'mysql2':
eval('$oConnection = @mysql_connect(' . $sDBHost . ', ' . $sDBUser . ', ' . $sDBPass . ');');
if (!$oConnection) {
throw new Exception('Cannot connect to the server!');
@@ -292,7 +353,7 @@ public function loadByName($name) {
}
$sQuery .= ') DEFAULT CHARSET=utf8;';
if (!@mysql_query($sQuery)) {
throw new Exception('Cannot create the table "' . $sTableName . '"!');
throw new Exception('Cannot create the table "' . $sTableName . '"! ' . mysql_error() . ' SQL: ' . $sQuery);
}
break;
case 'mssql':
@@ -374,7 +435,7 @@ public function loadByName($name) {
if (!isset($aOldFields[$aNewField['FLD_UID']])) {
$aFieldsToAdd[] = $aNewField;
}
if (($aNewField['FLD_KEY'] == 'on') || ($aNewField['FLD_AUTO_INCREMENT'] == 'on')) {
if ($aNewField['FLD_KEY'] == 1 || $aNewField['FLD_KEY'] == 'on' || $aNewField['FLD_AUTO_INCREMENT'] == 'on') {
if (!in_array($aNewField['FLD_NAME'], $aKeys)) {
$aKeys[] = $aNewField['FLD_NAME'];
}
@@ -420,30 +481,40 @@ public function loadByName($name) {
foreach ($aFieldsToAdd as $aFieldToAdd) {
switch ($aFieldToAdd['FLD_TYPE']) {
case 'VARCHAR':
$aData = array('Type' => 'VARCHAR(' . $aFieldToAdd['FLD_SIZE'] . ')',
$aData = array(
'Type' => 'VARCHAR(' . $aFieldToAdd['FLD_SIZE'] . ')',
'Null' => ($aFieldToAdd['FLD_NULL'] == 'on' ? 'YES' : ''),
'Default' => '');
'Default' => ''
);
break;
case 'TEXT':
$aData = array('Type' => 'TEXT',
$aData = array(
'Type' => 'TEXT',
'Null' => ($aFieldToAdd['FLD_NULL'] == 'on' ? 'YES' : ''),
'Default' => '');
'Default' => ''
);
break;
case 'DATE':
$aData = array('Type' => 'DATE', 'Null' => 'YES');
$aData = array(
'Type' => 'DATE', 'Null' => 'YES'
);
// 'Null' => ($aFieldToAdd['FLD_NULL'] == 'on' ? 'YES' : ''),
// 'Default' => 'NULL'); // '0000-00-00');
break;
case 'INT':
$aData = array('Type' => 'INT(' . (int)$aFieldToAdd['FLD_SIZE'] . ')',
$aData = array(
'Type' => 'INT(' . (int)$aFieldToAdd['FLD_SIZE'] . ')',
'Null' => ($aFieldToAdd['FLD_NULL'] == 'on' ? 'YES' : ''),
'Default' => '0',
'AI' => ($aFieldToAdd['FLD_AUTO_INCREMENT'] == 'on' ? 1 : 0));
'AI' => ($aFieldToAdd['FLD_AUTO_INCREMENT'] == 'on' ? 1 : 0)
);
break;
case 'FLOAT':
$aData = array('Type' => 'FLOAT(' . (int)$aFieldToAdd['FLD_SIZE'] . ')',
$aData = array(
'Type' => 'FLOAT(' . (int)$aFieldToAdd['FLD_SIZE'] . ')',
'Null' => ($aFieldToAdd['FLD_NULL'] == 'on' ? 'YES' : ''),
'Default' => '0');
'Default' => '0'
);
break;
}
//echo $oDataBase->generateAddColumnSQL($sTableName, $aFieldToAdd['FLD_NAME'], $aData);
@@ -457,30 +528,40 @@ public function loadByName($name) {
foreach ($aFieldsToAlter as $aFieldToAlter) {
switch ($aFieldToAlter['FLD_TYPE']) {
case 'VARCHAR':
$aData = array('Type' => 'VARCHAR(' . $aFieldToAlter['FLD_SIZE'] . ')',
$aData = array(
'Type' => 'VARCHAR(' . $aFieldToAlter['FLD_SIZE'] . ')',
'Null' => ($aFieldToAlter['FLD_NULL'] == 'on' ? 'YES' : ''),
'Default' => '');
'Default' => ''
);
break;
case 'TEXT':
$aData = array('Type' => 'TEXT',
$aData = array(
'Type' => 'TEXT',
'Null' => ($aFieldToAlter['FLD_NULL'] == 'on' ? 'YES' : ''),
'Default' => '');
'Default' => ''
);
break;
case 'DATE':
$aData = array('Type' => 'DATE', 'Null' => 'YES');
// 'Null' => ($aFieldToAlter['FLD_NULL'] == 'on' ? 'YES' : ''),
// 'Default' => 'NULL'); // '0000-00-00');
$aData = array(
'Type' => 'DATE', 'Null' => 'YES'
);
//'Null' => ($aFieldToAlter['FLD_NULL'] == 'on' ? 'YES' : ''),
//'Default' => 'NULL'); // '0000-00-00');
break;
case 'INT':
$aData = array('Type' => 'INT(' . (int)$aFieldToAlter['FLD_SIZE'] . ')',
$aData = array(
'Type' => 'INT(' . (int)$aFieldToAlter['FLD_SIZE'] . ')',
'Null' => ($aFieldToAlter['FLD_NULL'] == 'on' ? 'YES' : ''),
'Default' => '0',
'AI' => ($aFieldToAlter['FLD_AUTO_INCREMENT'] == 'on' ? 1 : 0));
'AI' => ($aFieldToAlter['FLD_AUTO_INCREMENT'] == 'on' ? 1 : 0)
);
break;
case 'FLOAT':
$aData = array('Type' => 'FLOAT(' . (int)$aFieldToAlter['FLD_SIZE'] . ')',
$aData = array(
'Type' => 'FLOAT(' . (int)$aFieldToAlter['FLD_SIZE'] . ')',
'Null' => ($aFieldToAlter['FLD_NULL'] == 'on' ? 'YES' : ''),
'Default' => '0');
'Default' => '0'
);
break;
}
$oDataBase->executeQuery($oDataBase->generateChangeColumnSQL($sTableName, strtoupper($aFieldToAlter['FLD_NAME']), $aData, strtoupper($aFieldToAlter['FLD_NAME_OLD'])));
@@ -500,16 +581,20 @@ public function loadByName($name) {
'FLD_NULL' => '',
'FLD_AUTO_INCREMENT' => 'on');
array_unshift($aFields, $aUID);*/
$aTypes = array('VARCHAR' => 'string',
$aTypes = array(
'VARCHAR' => 'string',
'TEXT' => 'string',
'DATE' => 'int',
'INT' => 'int',
'FLOAT' => 'double');
$aCreoleTypes = array('VARCHAR' => 'VARCHAR',
'FLOAT' => 'double'
);
$aCreoleTypes = array(
'VARCHAR' => 'VARCHAR',
'TEXT' => 'LONGVARCHAR',
'DATE' => 'TIMESTAMP',
'INT' => 'INTEGER',
'FLOAT' => 'DOUBLE');
'FLOAT' => 'DOUBLE'
);
if ($sClassName == '') {
$sClassName = $this->getPHPName($sTableName);
}
@@ -543,7 +628,8 @@ public function loadByName($name) {
foreach($aFields as $iKey => $aField) {
$aField['FLD_NAME'] = strtoupper($aField['FLD_NAME']);
if ($aField['FLD_TYPE']=='DATE') $aField['FLD_NULL'] = '';
$aColumn = array('name' => $aField['FLD_NAME'],
$aColumn = array(
'name' => $aField['FLD_NAME'],
'phpName' => $this->getPHPName($aField['FLD_NAME']),
'type' => $aTypes[$aField['FLD_TYPE']],
'creoleType' => $aCreoleTypes[$aField['FLD_TYPE']],
@@ -884,16 +970,30 @@ public function loadByName($name) {
function deleteAll($sUID) {
try {
//deleting pm table
$aData = $this->load($sUID);
$this->remove($sUID);
//deleting fields
require_once 'classes/model/Fields.php';
$oCriteria = new Criteria('workflow');
$oCriteria->add(FieldsPeer::ADD_TAB_UID, $sUID);
FieldsPeer::doDelete($oCriteria);
//deleting table
if ( isset($aData['DBS_UID']) && $aData['DBS_UID'] != 'wf' && $aData['DBS_UID'] != '') {
$con = Propel::getConnection($aData['DBS_UID']);
$stmt = $con->createStatement();
$stmt->executeQuery('DROP TABLE '.$aData['ADD_TAB_NAME']);
} else {
G::LoadSystem('database_' . strtolower(DB_ADAPTER));
$oDataBase = new database(DB_ADAPTER, DB_HOST, DB_USER, DB_PASS, DB_NAME);
$oDataBase->iFetchType = MYSQL_NUM;
$oDataBase->executeQuery($oDataBase->generateDropTableSQL($aData['ADD_TAB_NAME']));
}
//deleting clases
$sClassName = $this->getPHPName($aData['ADD_TAB_CLASS_NAME'] != '' ? $aData['ADD_TAB_CLASS_NAME'] : $aData['ADD_TAB_NAME']);
$sPath = PATH_DB . SYS_SYS . PATH_SEP . 'classes' . PATH_SEP;
@unlink($sPath . $sClassName . '.php');
@@ -1227,4 +1327,553 @@ var additionalTablesDataDelete = function(sUID, sKeys) {
throw($oError);
}
}
/**
* Populate Report Table
*/
public function populateReportTable($sTableName, $sConnection = 'rp', $sType = 'NORMAL', $aFields = array(), $sProcessUid = '', $sGrid = '')
{
$con = Propel::getConnection($sConnection);
$stmt = $con->createStatement();
if ($sType == 'GRID') {
$aAux = explode('-', $sGrid);
$sGrid = $aAux[0];
}
try {
switch (DB_ADAPTER) {
case 'mysql':
//select cases for this Process, ordered by APP_NUMBER
$oCriteria = new Criteria('workflow');
$oCriteria->add(ApplicationPeer::PRO_UID, $sProcessUid);
$oCriteria->addAscendingOrderByColumn(ApplicationPeer::APP_NUMBER);
$oDataset = ApplicationPeer::doSelectRS($oCriteria);
$oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$oDataset->next();
while ($aRow = $oDataset->getRow()) {
$aData = unserialize($aRow['APP_DATA']);
//delete previous record from this report table ( previous records in case this is a grid )
$deleteSql = 'DELETE FROM `' . $sTableName . "` WHERE APP_UID = '" . $aRow['APP_UID'] . "'";
$rsDel = $stmt->executeQuery( $deleteSql );
if ($sType == 'NORMAL') {
$sQuery = 'INSERT INTO `' . $sTableName . '` (';
$sQuery .= '`APP_UID`,`APP_NUMBER`';
foreach ($aFields as $aField) {
if ($aField['FLD_NAME'] != 'APP_UID' && $aField['FLD_NAME'] != 'APP_NUMBER' && $aField['FLD_NAME'] != 'ROW')
$sQuery .= ',`' . $aField['FLD_NAME'] . '`';
}
$sQuery .= ") VALUES ('" . $aRow['APP_UID'] . "'," . (int)$aRow['APP_NUMBER'];
foreach ($aFields as $aField) {
if ($aField['FLD_NAME'] == 'APP_UID' || $aField['FLD_NAME'] == 'APP_NUMBER' || $aField['FLD_NAME'] == 'ROW') continue;
switch ($aField['FLD_TYPE']) {
case 'INT':
case 'FLOAT':
$sQuery .= ',' . (isset($aData[$aField['FLD_DYN_NAME']]) ? (float)str_replace(',', '', $aData[$aField['FLD_DYN_NAME']]) : '0');
break;
case 'VARCHAR':
case 'TEXT':
if (!isset($aData[$aField['FLD_NAME']])) {
$aData[$aField['FLD_NAME']] = '';
}
$sQuery .= ",'" . (isset($aData[$aField['FLD_DYN_NAME']]) ? mysql_real_escape_string($aData[$aField['FLD_DYN_NAME']]) : '') . "'";
break;
case 'DATE':
$value = (isset($aData[$aField['FLD_DYN_NAME']]) && trim($aData[$aField['FLD_DYN_NAME']])) != '' ? "'" . $aData[$aField['FLD_DYN_NAME']] . "'" : 'NULL';
$sQuery .= "," . $value;
break;
}
}
$sQuery .= ')';
$rs = $stmt->executeQuery( $sQuery );
}
else {
if (isset($aData[$sGrid])) {
foreach ($aData[$sGrid] as $iRow => $aGridRow) {
$sQuery = 'INSERT INTO `' . $sTableName . '` (';
$sQuery .= '`APP_UID`,`APP_NUMBER`,`ROW`';
foreach ($aFields as $aField) {
if ($aField['FLD_NAME'] != 'APP_UID' && $aField['FLD_NAME'] != 'APP_NUMBER' && $aField['FLD_NAME'] != 'ROW')
$sQuery .= ',`' . $aField['FLD_NAME'] . '`';
}
$sQuery .= ") VALUES ('" . $aRow['APP_UID'] . "'," . (int)$aRow['APP_NUMBER'] . ',' . $iRow;
foreach ($aFields as $aField) {
if ($aField['FLD_NAME'] != 'APP_UID' || $aField['FLD_NAME'] != 'APP_NUMBER' || $aField['FLD_NAME'] != 'ROW') continue;
switch ($aField['FLD_TYPE']) {
case 'INT':
case 'FLOAT':
$sQuery .= ',' . (isset($aGridRow[$aField['FLD_NAME']]) ? (float)str_replace(',', '', $aGridRow[$aField['FLD_NAME']]) : '0');
break;
case 'VARCHAR':
case 'TEXT':
if (!isset($aGridRow[$aField['FLD_NAME']])) {
$aGridRow[$aField['FLD_NAME']] = '';
}
$sQuery .= ",'" . (isset($aGridRow[$aField['FLD_NAME']]) ? mysql_real_escape_string($aGridRow[$aField['FLD_NAME']]) : '') . "'";
break;
case 'DATE':
$value = (isset($aGridRow[$aField['FLD_NAME']]) && trim($aGridRow[$aField['FLD_NAME']])) != '' ? "'" . $aGridRow[$aField['FLD_NAME']] . "'" : 'NULL';
$sQuery .= "," . $value;
break;
}
}
$sQuery .= ')';
$rs = $stmt->executeQuery( $sQuery );
}
}
}
$oDataset->next();
}
break;
/**
* For SQLServer code
*/
case 'mssql':
$oCriteria = new Criteria('workflow');
$oCriteria->add(ApplicationPeer::PRO_UID, $sProcessUid);
$oCriteria->addAscendingOrderByColumn(ApplicationPeer::APP_NUMBER);
$oDataset = ApplicationPeer::doSelectRS($oCriteria);
$oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$oDataset->next();
while ($aRow = $oDataset->getRow()) {
$aData = unserialize($aRow['APP_DATA']);
mysql_query('DELETE FROM [' . $sTableName . "] WHERE APP_UID = '" . $aRow['APP_UID'] . "'");
if ($sType == 'NORMAL') {
$sQuery = 'INSERT INTO [' . $sTableName . '] (';
$sQuery .= '[APP_UID],[APP_NUMBER]';
foreach ($aFields as $aField) {
$sQuery .= ',[' . $aField['sFieldName'] . ']';
}
$sQuery .= ") VALUES ('" . $aRow['APP_UID'] . "'," . (int)$aRow['APP_NUMBER'];
foreach ($aFields as $aField) {
switch ($aField['sType']) {
case 'number':
$sQuery .= ',' . (isset($aData[$aField['sFieldName']]) ? (float)str_replace(',', '', $aData[$aField['sFieldName']]) : '0');
break;
case 'char':
case 'text':
if (!isset($aData[$aField['sFieldName']])) {
$aData[$aField['sFieldName']] = '';
}
$sQuery .= ",'" . (isset($aData[$aField['sFieldName']]) ? mysql_real_escape_string($aData[$aField['sFieldName']]) : '') . "'";
break;
case 'date':
$sQuery .= ",'" . (isset($aData[$aField['sFieldName']]) ? $aData[$aField['sFieldName']] : '') . "'";
break;
}
}
$sQuery .= ')';
$rs = $stmt->executeQuery( $sQuery );
}
else {
if (isset($aData[$sGrid])) {
foreach ($aData[$sGrid] as $iRow => $aGridRow) {
$sQuery = 'INSERT INTO [' . $sTableName . '] (';
$sQuery .= '`APP_UID`,`APP_NUMBER`,`ROW`';
foreach ($aFields as $aField) {
$sQuery .= ',[' . $aField['sFieldName'] . ']';
}
$sQuery .= ") VALUES ('" . $aRow['APP_UID'] . "'," . (int)$aRow['APP_NUMBER'] . ',' . $iRow;
foreach ($aFields as $aField) {
switch ($aField['sType']) {
case 'number':
$sQuery .= ',' . (isset($aGridRow[$aField['sFieldName']]) ? (float)str_replace(',', '', $aGridRow[$aField['sFieldName']]) : '0');
break;
case 'char':
case 'text':
if (!isset($aGridRow[$aField['sFieldName']])) {
$aGridRow[$aField['sFieldName']] = '';
}
$sQuery .= ",'" . (isset($aGridRow[$aField['sFieldName']]) ? mysql_real_escape_string($aGridRow[$aField['sFieldName']]) : '') . "'";
break;
case 'date':
$sQuery .= ",'" . (isset($aGridRow[$aField['sFieldName']]) ? $aGridRow[$aField['sFieldName']] : '') . "'";
break;
}
}
$sQuery .= ')';
$rs = $stmt->executeQuery( $sQuery );
}
}
}
$oDataset->next();
}
break;
}
}
catch (Exception $oError) {
throw($oError);
}
}
public function updateReportTables($sProcessUid, $sApplicationUid, $iApplicationNumber, $aFields)
{
try {
//get all Active Report Tables
$oCriteria = new Criteria('workflow');
$oCriteria->add(AdditionalTablesPeer::PRO_UID, $sProcessUid);
//$oCriteria->add(AdditionalTablesPeer::REP_TAB_STATUS, 'ACTIVE');
$oDataset = AdditionalTablesPeer::doSelectRS($oCriteria);
$oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$oDataset->next();
$aVars = array();
while ($aRow = $oDataset->getRow()) {
//$aRow['REP_TAB_NAME'] = $this->sPrefix . $aRow['REP_TAB_NAME'];
$con = Propel::getConnection($aRow['DBS_UID']);
$stmt = $con->createStatement();
switch (DB_ADAPTER) {
case 'mysql':
$aTableFields = $this->getTableVars($aRow['ADD_TAB_UID'], true);
if ($aRow['ADD_TAB_TYPE'] == 'NORMAL') {
$sqlExists = "SELECT * FROM `" . $aRow['ADD_TAB_NAME'] . "` WHERE APP_UID = '" . $sApplicationUid . "'";
$rsExists = $stmt->executeQuery( $sqlExists, ResultSet::FETCHMODE_ASSOC);
$rsExists->next();
$aRow2 = $rsExists->getRow();
if ( is_array( $aRow2) ) {
$sQuery = 'UPDATE `' . $aRow['ADD_TAB_NAME'] . '` SET ';
foreach ($aTableFields as $aField) {
if ($aField['sFieldName'] == 'APP_UID' || $aField['sFieldName'] == 'APP_NUMBER' || $aField['sFieldName'] == 'ROW') continue;
$sQuery .= '`' . $aField['sFieldName'] . '` = ';
switch ($aField['sType']) {
case 'FLOAT':
case 'INT':
$sQuery .= (isset($aFields[$aField['sFieldDynName']]) ? (float)str_replace(',', '', $aFields[$aField['sFieldDynName']]) : '0') . ',';
break;
case 'VARCHAR':
case 'TEXT':
if (!isset($aFields[$aField['sFieldDynName']])) {
$aFields[$aField['sFieldDynName']] = '';
}
$sQuery .= "'" . (isset($aFields[$aField['sFieldDynName']]) ? mysql_real_escape_string($aFields[$aField['sFieldDynName']]) : '') . "',";
break;
case 'DATE':
$mysqlDate = (isset($aFields[$aField['sFieldDynName']]) ? $aFields[$aField['sFieldDynName']] : '') ;
if ($mysqlDate!='') {
$mysqlDate = str_replace('/', '-', $mysqlDate);
$mysqlDate = date( 'Y-m-d', strtotime($mysqlDate) );
}
$sQuery .= "'" . $mysqlDate . "',";
break;
}
}
$sQuery = substr($sQuery, 0, -1);
$sQuery .= " WHERE APP_UID = '" . $sApplicationUid . "'";
}
else {
$sQuery = 'INSERT INTO `' . $aRow['ADD_TAB_NAME'] . '` (';
$sQuery .= '`APP_UID`,`APP_NUMBER`';
foreach ($aTableFields as $aField) {
if ($aField['sFieldName'] != 'APP_UID' && $aField['sFieldName'] != 'APP_NUMBER' && $aField['sFieldName'] != 'ROW')
$sQuery .= ',`' . $aField['sFieldName'] . '`';
}
$sQuery .= ") VALUES ('" . $sApplicationUid . "'," . (int)$iApplicationNumber;
foreach ($aTableFields as $aField) {
if ($aField['sFieldName'] == 'APP_UID' || $aField['sFieldName'] == 'APP_NUMBER' || $aField['sFieldName'] == 'ROW') continue;
switch ($aField['sType']) {
case 'FLOAT':
case 'INT':
$sQuery .= ',' . (isset($aFields[$aField['sFieldDynName']]) ? (float)str_replace(',', '', $aFields[$aField['sFieldDynName']]) : '0');
break;
case 'VARCHAR':
case 'TEXT':
if (!isset($aFields[$aField['sFieldDynName']])) {
$aFields[$aField['sFieldDynName']] = '';
}
$sQuery .= ",'" . (isset($aFields[$aField['sFieldDynName']]) ? mysql_real_escape_string($aFields[$aField['sFieldDynName']]) : '') . "'";
break;
case 'DATE':
$mysqlDate = ( isset($aFields[$aField['sFieldDynName']]) ? $aFields[$aField['sFieldDynName']] : '' );
if ($mysqlDate!='') {
$mysqlDate = str_replace( '/', '-', $mysqlDate );
$mysqlDate = date( 'Y-m-d', strtotime($mysqlDate) );
}
$sQuery .= ",'" . $mysqlDate . "'";
break;
}
}
$sQuery .= ')';
}
$rs = $stmt->executeQuery( $sQuery );
}
else {
//remove old rows from database
$sqlDelete = 'DELETE FROM `' . $aRow['ADD_TAB_NAME'] . "` WHERE APP_UID = '" . $sApplicationUid . "'";
$rsDelete = $stmt->executeQuery( $sqlDelete );
$aAux = explode('-', $aRow['ADD_TAB_GRID']);
if (isset($aFields[$aAux[0]])) {
foreach ($aFields[$aAux[0]] as $iRow => $aGridRow) {
$sQuery = 'INSERT INTO `' . $aRow['ADD_TAB_NAME'] . '` (';
$sQuery .= '`APP_UID`,`APP_NUMBER`,`ROW`';
foreach ($aTableFields as $aField) {
if ($aField['sFieldName'] != 'APP_UID' && $aField['sFieldName'] != 'APP_NUMBER' && $aField['sFieldName'] != 'ROW')
$sQuery .= ',`' . $aField['sFieldName'] . '`';
}
$sQuery .= ") VALUES ('" . $sApplicationUid . "'," . (int)$iApplicationNumber . ',' . $iRow;
foreach ($aTableFields as $aField) {
if ($aField['sFieldName'] == 'APP_UID' || $aField['sFieldName'] == 'APP_NUMBER' || $aField['sFieldName'] == 'ROW') continue;
switch ($aField['sType']) {
case 'FLOAT':
case 'INT':
$sQuery .= ',' . (isset($aGridRow[$aField['sFieldDynName']]) ? (float)str_replace(',', '', $aGridRow[$aField['sFieldDynName']]) : '0');
break;
case 'VARCHAR':
case 'TEXT':
if (!isset($aGridRow[$aField['sFieldDynName']])) {
$aGridRow[$aField['sFieldDynName']] = '';
}
$sQuery .= ",'" . (isset($aGridRow[$aField['sFieldDynName']]) ? mysql_real_escape_string($aGridRow[$aField['sFieldDynName']]) : '') . "'";
break;
case 'DATE':
$sQuery .= ",'" . (isset($aGridRow[$aField['sFieldDynName']]) ? $aGridRow[$aField['sFieldDynName']] : '') . "'";
break;
}
}
$sQuery .= ')';
$rs =$stmt->executeQuery( $sQuery );
}
}
}
break;
/**
* For SQLServer code
*/
case 'mssql':
$aTableFields = $this->getTableVars($aRow['REP_TAB_UID'], true);
if ($aRow['REP_TAB_TYPE'] == 'NORMAL') {
$oDataset2 = mssql_query("SELECT * FROM [" . $aRow['REP_TAB_NAME'] . "] WHERE APP_UID = '" . $sApplicationUid . "'");
if ($aRow2 = mssql_fetch_row($oDataset2)) {
$sQuery = 'UPDATE [' . $aRow['REP_TAB_NAME'] . '] SET ';
foreach ($aTableFields as $aField) {
$sQuery .= '[' . $aField['sFieldName'] . '] = ';
switch ($aField['sType']) {
case 'number':
$sQuery .= (isset($aFields[$aField['sFieldName']]) ? (float)str_replace(',', '', $aFields[$aField['sFieldName']]) : '0') . ',';
break;
case 'char':
case 'text':
if (!isset($aFields[$aField['sFieldName']])) {
$aFields[$aField['sFieldName']] = '';
}
$sQuery .= "'" . (isset($aFields[$aField['sFieldName']]) ? mysql_real_escape_string($aFields[$aField['sFieldName']]) : '') . "',";
break;
case 'date':
$sQuery .= "'" . (isset($aFields[$aField['sFieldName']]) ? $aFields[$aField['sFieldName']] : '') . "',";
break;
}
}
$sQuery = substr($sQuery, 0, -1);
$sQuery .= " WHERE APP_UID = '" . $sApplicationUid . "'";
}
else {
$sQuery = 'INSERT INTO [' . $aRow['REP_TAB_NAME'] . '] (';
$sQuery .= '[APP_UID],[APP_NUMBER]';
foreach ($aTableFields as $aField) {
$sQuery .= ',[' . $aField['sFieldName'] . ']';
}
$sQuery .= ") VALUES ('" . $sApplicationUid . "'," . (int)$iApplicationNumber;
foreach ($aTableFields as $aField) {
switch ($aField['sType']) {
case 'number':
$sQuery .= ',' . (isset($aFields[$aField['sFieldName']]) ? (float)str_replace(',', '', $aFields[$aField['sFieldName']]) : '0');
break;
case 'char':
case 'text':
if (!isset($aFields[$aField['sFieldName']])) {
$aFields[$aField['sFieldName']] = '';
}
$sQuery .= ",'" . (isset($aFields[$aField['sFieldName']]) ? mysql_real_escape_string($aFields[$aField['sFieldName']]) : '') . "'";
break;
case 'date':
$sQuery .= ",'" . (isset($aFields[$aField['sFieldName']]) ? $aFields[$aField['sFieldName']] : '') . "'";
break;
}
}
$sQuery .= ')';
}
$rs = $stmt->executeQuery( $sQuery );
}
else {
mysql_query('DELETE FROM [' . $aRow['REP_TAB_NAME'] . "] WHERE APP_UID = '" . $sApplicationUid . "'");
$aAux = explode('-', $aRow['REP_TAB_GRID']);
if (isset($aFields[$aAux[0]])) {
foreach ($aFields[$aAux[0]] as $iRow => $aGridRow) {
$sQuery = 'INSERT INTO [' . $aRow['REP_TAB_NAME'] . '] (';
$sQuery .= '[APP_UID],[APP_NUMBER],[ROW]';
foreach ($aTableFields as $aField) {
$sQuery .= ',[' . $aField['sFieldName'] . ']';
}
$sQuery .= ") VALUES ('" . $sApplicationUid . "'," . (int)$iApplicationNumber . ',' . $iRow;
foreach ($aTableFields as $aField) {
switch ($aField['sType']) {
case 'number':
$sQuery .= ',' . (isset($aGridRow[$aField['sFieldName']]) ? (float)str_replace(',', '', $aGridRow[$aField['sFieldName']]) : '0');
break;
case 'char':
case 'text':
if (!isset($aGridRow[$aField['sFieldName']])) {
$aGridRow[$aField['sFieldName']] = '';
}
$sQuery .= ",'" . (isset($aGridRow[$aField['sFieldName']]) ? mysql_real_escape_string($aGridRow[$aField['sFieldName']]) : '') . "'";
break;
case 'date':
$sQuery .= ",'" . (isset($aGridRow[$aField['sFieldName']]) ? $aGridRow[$aField['sFieldName']] : '') . "'";
break;
}
}
$sQuery .= ')';
$rs =$stmt->executeQuery( $sQuery );
}
}
}
break;
}
$oDataset->next();
}
}
catch (Exception $oError) {
throw($oError);
}
}
public function getTableVars($uid, $bWhitType = false)
{
require_once 'classes/model/Fields.php';
try {
$oCriteria = new Criteria('workflow');
$oCriteria->addSelectColumn(FieldsPeer::ADD_TAB_UID);
$oCriteria->addSelectColumn(FieldsPeer::FLD_NAME);
$oCriteria->addSelectColumn(FieldsPeer::FLD_TYPE);
$oCriteria->addSelectColumn(FieldsPeer::FLD_DYN_NAME);
$oCriteria->add(FieldsPeer::ADD_TAB_UID, $uid);
$oDataset = ReportVarPeer::doSelectRS($oCriteria);
$oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$oDataset->next();
$aVars = array();
$aImportedVars = array();//This array will help to control if the variable already exist
while ($aRow = $oDataset->getRow()) {
if ($bWhitType) {
if (!in_array($aRow['FLD_NAME'], $aImportedVars)) {
$aImportedVars[]=$aRow['FLD_NAME'];
$aVars[] = array('sFieldName' => $aRow['FLD_NAME'], 'sFieldDynName' => $aRow['FLD_DYN_NAME'], 'sType' => $aRow['FLD_TYPE']);
}
}else {
$aVars[] = $aRow['FLD_NAME'];
}
$oDataset->next();
}
return $aVars;
}
catch (Exception $oError) {
throw($oError);
}
}
public function getAll($start = 0, $limit = 20, $filter = '', $process = null)
{
$oCriteria = new Criteria('workflow');
$oCriteria->addSelectColumn(AdditionalTablesPeer::ADD_TAB_UID);
$oCriteria->addSelectColumn(AdditionalTablesPeer::ADD_TAB_NAME);
$oCriteria->addSelectColumn(AdditionalTablesPeer::ADD_TAB_DESCRIPTION);
$oCriteria->addSelectColumn(AdditionalTablesPeer::ADD_TAB_TYPE);
$oCriteria->addSelectColumn(AdditionalTablesPeer::PRO_UID);
if (isset($process)) {
foreach ($process as $key => $pro_uid) {
if ($key == 'equal')
$oCriteria->add(AdditionalTablesPeer::PRO_UID, $pro_uid, Criteria::EQUAL);
else
$oCriteria->add(AdditionalTablesPeer::PRO_UID, $pro_uid, Criteria::NOT_EQUAL);
}
}
if ($filter != '' && is_string($filter)) {
$oCriteria->add(
$oCriteria->getNewCriterion(AdditionalTablesPeer::ADD_TAB_NAME, '%'.$filter.'%',Criteria::LIKE)->addOr(
$oCriteria->getNewCriterion(AdditionalTablesPeer::ADD_TAB_DESCRIPTION, '%'.$filter.'%',Criteria::LIKE))
);
}
$criteriaCount = clone $oCriteria;
$count = AdditionalTablesPeer::doCount($criteriaCount);
$oCriteria->setLimit($limit);
$oCriteria->setOffset($start);
$oDataset = AdditionalTablesPeer::doSelectRS($oCriteria);
$oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$addTables = Array();
while( $oDataset->next() ) {
$row = $oDataset->getRow();
$row['PRO_TITLE'] = $row['PRO_DESCRIPTION'] = '';
$addTables[] = $row;
if ($row['PRO_UID'] != '') {
$proUids[] = $row['PRO_UID'];
}
}
//process details will have the info about the processes
$procDetails = Array();
if (count($proUids) > 0) {
//now get the labels for all process, using an array of Uids,
$c = new Criteria('workflow');
//$c->add ( ContentPeer::CON_CATEGORY, 'PRO_TITLE', Criteria::EQUAL );
$c->add(ContentPeer::CON_LANG, defined('SYS_LANG')? SYS_LANG: 'en', Criteria::EQUAL);
$c->add(ContentPeer::CON_ID, $proUids, Criteria::IN);
$dt = ContentPeer::doSelectRS ($c);
$dt->setFetchmode(ResultSet::FETCHMODE_ASSOC);
while ($dt->next()) {
$row = $dt->getRow();
$procDetails[$row['CON_ID']][$row['CON_CATEGORY']] = $row['CON_VALUE'];
}
foreach ($addTables as $i => $addTable) {
if (isset($procDetails[$addTable['PRO_UID']]['PRO_TITLE']))
$addTables[$i]['PRO_TITLE'] = $procDetails[$addTable['PRO_UID']]['PRO_TITLE'];
if (isset($procDetails[$addTable['PRO_UID']]['PRO_DESCRIPTION']))
$addTables[$i]['PRO_DESCRIPTION'] = $procDetails[$addTable['PRO_UID']]['PRO_DESCRIPTION'];
}
}
// // fltering by proces title
// if(isset($filter['process'])) {
// foreach ($addTables as $i => $addTable) {
// if (strpos($addTable['PRO_TITLE'], $filter['process']) === false)
// unset($addTables[$i]);
// }
// }
return array('rows'=>$addTables, 'count'=>$count);
}
} // AdditionalTables

View File

@@ -319,10 +319,62 @@ class Process extends BaseProcess {
}
function getAll($getAllLang=false) {
function getAll() {
$oCriteria = new Criteria('workflow');
$oCriteria->addSelectColumn(ProcessPeer::PRO_UID );
$oCriteria->addSelectColumn(ProcessPeer::PRO_PARENT );
$oCriteria->addSelectColumn(ProcessPeer::PRO_STATUS );
$oCriteria->addSelectColumn(ProcessPeer::PRO_CATEGORY );
$oCriteria->addSelectColumn(ProcessPeer::PRO_CREATE_DATE );
$oCriteria->addSelectColumn(ProcessPeer::PRO_CREATE_USER );
$oCriteria->addSelectColumn(ProcessPeer::PRO_DEBUG );
$oCriteria->add(ProcessPeer::PRO_UID, '', Criteria::NOT_EQUAL);
$oCriteria->add(ProcessPeer::PRO_STATUS, 'DISABLED', Criteria::NOT_EQUAL);
//execute the query
$oDataset = ProcessPeer::doSelectRS ( $oCriteria );
$oDataset->setFetchmode ( ResultSet::FETCHMODE_ASSOC );
$processes = Array();
$uids=array();
while( $oDataset->next() ) {
$processes[] = $oDataset->getRow();
$uids[] = $processes[sizeof($processes)-1]['PRO_UID'];
}
//process details will have the info about the processes
$processesDetails = Array();
//now get the labels for all process, using an array of Uids,
$c = new Criteria('workflow');
//$c->add ( ContentPeer::CON_CATEGORY, 'PRO_TITLE', Criteria::EQUAL );
$c->add ( ContentPeer::CON_LANG, defined('SYS_LANG')?SYS_LANG:'en', Criteria::EQUAL );
$c->add ( ContentPeer::CON_ID, $uids, Criteria::IN );
$dt = ContentPeer::doSelectRS ($c);
$dt->setFetchmode(ResultSet::FETCHMODE_ASSOC);
while( $dt->next() ) {
$row = $dt->getRow();
$processesDetails[$row['CON_ID']] [$row['CON_CATEGORY']] = $row['CON_VALUE'];
}
G::loadClass('configuration');
$oConf = new Configurations;
$oConf->loadConfig($obj, 'ENVIRONMENT_SETTINGS','');
foreach( $processes as $i=>$process ) {
$processes[$i]['PRO_TITLE'] = $processes[$i]['PRO_DESCRIPTION'] = '';
if (isset($processesDetails[$process['PRO_UID']]['PRO_TITLE']))
$processes[$i]['PRO_TITLE'] = $processesDetails[$process['PRO_UID']]['PRO_TITLE'];
if (isset($processesDetails[$process['PRO_UID']]))
$processes[$i]['PRO_DESCRIPTION'] = $processesDetails[$process['PRO_UID']]['PRO_DESCRIPTION'];
}
return $processes;
}
/**
@@ -498,23 +550,19 @@ class Process extends BaseProcess {
$categories = Array();
$oCriteria = new Criteria('workflow');
//$oCriteria->addSelectColumn(ProcessPeer::TABLE_NAME . '.*');
$oCriteria->addSelectColumn(ProcessPeer::PRO_UID );
$oCriteria->addSelectColumn(ProcessPeer::PRO_PARENT );
$oCriteria->addSelectColumn(ProcessPeer::PRO_STATUS );
$oCriteria->addSelectColumn(ProcessPeer::PRO_CATEGORY );
//$oCriteria->addSelectColumn(ProcessPeer::PRO_SUB_CATEGORY);
$oCriteria->addSelectColumn(ProcessPeer::PRO_CREATE_DATE );
$oCriteria->addSelectColumn(ProcessPeer::PRO_CREATE_USER );
$oCriteria->addSelectColumn(ProcessPeer::PRO_DEBUG );
//$oCriteria->addSelectColumn(UsersPeer::TABLE_NAME . '.*');
$oCriteria->addSelectColumn(UsersPeer::USR_UID );
$oCriteria->addSelectColumn(UsersPeer::USR_USERNAME );
$oCriteria->addSelectColumn(UsersPeer::USR_FIRSTNAME );
$oCriteria->addSelectColumn(UsersPeer::USR_LASTNAME );
//$oCriteria->addSelectColumn(ProcessCategoryPeer::TABLE_NAME . '.*');
$oCriteria->addSelectColumn(ProcessCategoryPeer::CATEGORY_UID );
$oCriteria->addSelectColumn(ProcessCategoryPeer::CATEGORY_NAME );
@@ -526,7 +574,6 @@ class Process extends BaseProcess {
$oCriteria->addJoin(ProcessPeer::PRO_CREATE_USER, UsersPeer::USR_UID, Criteria::LEFT_JOIN);
$oCriteria->addJoin(ProcessPeer::PRO_CATEGORY, ProcessCategoryPeer::CATEGORY_UID, Criteria::LEFT_JOIN);
//$oCriteria->addDescendingOrderByColumn(ProcessPeer::PRO_CREATE_DATE);
$this->tmpCriteria = clone $oCriteria;
@@ -539,7 +586,6 @@ class Process extends BaseProcess {
$casesCnt = $this->getCasesCountInAllProcesses();
//execute the query
$oDataset = ProcessPeer::doSelectRS ( $oCriteria );
$oDataset->setFetchmode ( ResultSet::FETCHMODE_ASSOC );
$processes = Array();
@@ -597,8 +643,7 @@ class Process extends BaseProcess {
//get user format from configuration
$userOwner = isset($oConf->aConfig['format'])? $oConf->aConfig['format']: '';
$creationDateMask = isset($oConf->aConfig['dateFormat'])? $oConf->aConfig['dateFormat']: '';
if( $userOwner != '' ){
if( $userOwner != '' ) {
$userOwner = str_replace('@userName', $process['USR_USERNAME'], $userOwner);
$userOwner = str_replace('@firstName', $process['USR_FIRSTNAME'], $userOwner);
$userOwner = str_replace('@lastName', $process['USR_LASTNAME'], $userOwner);

View File

@@ -70,24 +70,30 @@ class AdditionalTablesMapBuilder {
$tMap->addColumn('ADD_TAB_CLASS_NAME', 'AddTabClassName', 'string', CreoleTypes::VARCHAR, true, 100);
$tMap->addColumn('ADD_TAB_DESCRIPTION', 'AddTabDescription', 'string', CreoleTypes::LONGVARCHAR, true, null);
$tMap->addColumn('ADD_TAB_DESCRIPTION', 'AddTabDescription', 'string', CreoleTypes::LONGVARCHAR, false, null);
$tMap->addColumn('ADD_TAB_SDW_LOG_INSERT', 'AddTabSdwLogInsert', 'int', CreoleTypes::TINYINT, true, null);
$tMap->addColumn('ADD_TAB_SDW_LOG_INSERT', 'AddTabSdwLogInsert', 'int', CreoleTypes::TINYINT, false, null);
$tMap->addColumn('ADD_TAB_SDW_LOG_UPDATE', 'AddTabSdwLogUpdate', 'int', CreoleTypes::TINYINT, true, null);
$tMap->addColumn('ADD_TAB_SDW_LOG_UPDATE', 'AddTabSdwLogUpdate', 'int', CreoleTypes::TINYINT, false, null);
$tMap->addColumn('ADD_TAB_SDW_LOG_DELETE', 'AddTabSdwLogDelete', 'int', CreoleTypes::TINYINT, true, null);
$tMap->addColumn('ADD_TAB_SDW_LOG_DELETE', 'AddTabSdwLogDelete', 'int', CreoleTypes::TINYINT, false, null);
$tMap->addColumn('ADD_TAB_SDW_LOG_SELECT', 'AddTabSdwLogSelect', 'int', CreoleTypes::TINYINT, true, null);
$tMap->addColumn('ADD_TAB_SDW_LOG_SELECT', 'AddTabSdwLogSelect', 'int', CreoleTypes::TINYINT, false, null);
$tMap->addColumn('ADD_TAB_SDW_MAX_LENGTH', 'AddTabSdwMaxLength', 'int', CreoleTypes::INTEGER, true, null);
$tMap->addColumn('ADD_TAB_SDW_MAX_LENGTH', 'AddTabSdwMaxLength', 'int', CreoleTypes::INTEGER, false, null);
$tMap->addColumn('ADD_TAB_SDW_AUTO_DELETE', 'AddTabSdwAutoDelete', 'int', CreoleTypes::TINYINT, true, null);
$tMap->addColumn('ADD_TAB_SDW_AUTO_DELETE', 'AddTabSdwAutoDelete', 'int', CreoleTypes::TINYINT, false, null);
$tMap->addColumn('ADD_TAB_PLG_UID', 'AddTabPlgUid', 'string', CreoleTypes::VARCHAR, true, 32);
$tMap->addColumn('ADD_TAB_PLG_UID', 'AddTabPlgUid', 'string', CreoleTypes::VARCHAR, false, 32);
$tMap->addColumn('DBS_UID', 'DbsUid', 'string', CreoleTypes::VARCHAR, false, 32);
$tMap->addColumn('PRO_UID', 'ProUid', 'string', CreoleTypes::VARCHAR, false, 32);
$tMap->addColumn('ADD_TAB_TYPE', 'AddTabType', 'string', CreoleTypes::VARCHAR, false, 32);
$tMap->addColumn('ADD_TAB_GRID', 'AddTabGrid', 'string', CreoleTypes::VARCHAR, false, 256);
} // doBuild()
} // AdditionalTablesMapBuilder

View File

@@ -88,6 +88,12 @@ class FieldsMapBuilder {
$tMap->addColumn('FLD_FOREIGN_KEY_TABLE', 'FldForeignKeyTable', 'string', CreoleTypes::VARCHAR, true, 32);
$tMap->addColumn('FLD_DYN_NAME', 'FldDynName', 'string', CreoleTypes::VARCHAR, false, 128);
$tMap->addColumn('FLD_DYN_UID', 'FldDynUid', 'string', CreoleTypes::VARCHAR, false, 128);
$tMap->addColumn('FLD_FILTER', 'FldFilter', 'int', CreoleTypes::TINYINT, false, null);
} // doBuild()
} // FieldsMapBuilder

View File

@@ -60,21 +60,21 @@ abstract class BaseAdditionalTables extends BaseObject implements Persistent {
* The value for the add_tab_sdw_log_insert field.
* @var int
*/
protected $add_tab_sdw_log_insert = 1;
protected $add_tab_sdw_log_insert = 0;
/**
* The value for the add_tab_sdw_log_update field.
* @var int
*/
protected $add_tab_sdw_log_update = 1;
protected $add_tab_sdw_log_update = 0;
/**
* The value for the add_tab_sdw_log_delete field.
* @var int
*/
protected $add_tab_sdw_log_delete = 1;
protected $add_tab_sdw_log_delete = 0;
/**
@@ -88,7 +88,7 @@ abstract class BaseAdditionalTables extends BaseObject implements Persistent {
* The value for the add_tab_sdw_max_length field.
* @var int
*/
protected $add_tab_sdw_max_length = -1;
protected $add_tab_sdw_max_length = 0;
/**
@@ -109,7 +109,28 @@ abstract class BaseAdditionalTables extends BaseObject implements Persistent {
* The value for the dbs_uid field.
* @var string
*/
protected $dbs_uid = '0';
protected $dbs_uid = '';
/**
* The value for the pro_uid field.
* @var string
*/
protected $pro_uid = '';
/**
* The value for the add_tab_type field.
* @var string
*/
protected $add_tab_type = '';
/**
* The value for the add_tab_grid field.
* @var string
*/
protected $add_tab_grid = '';
/**
* Flag to prevent endless save loop, if this object is referenced
@@ -257,6 +278,39 @@ abstract class BaseAdditionalTables extends BaseObject implements Persistent {
return $this->dbs_uid;
}
/**
* Get the [pro_uid] column value.
*
* @return string
*/
public function getProUid()
{
return $this->pro_uid;
}
/**
* Get the [add_tab_type] column value.
*
* @return string
*/
public function getAddTabType()
{
return $this->add_tab_type;
}
/**
* Get the [add_tab_grid] column value.
*
* @return string
*/
public function getAddTabGrid()
{
return $this->add_tab_grid;
}
/**
* Set the value of [add_tab_uid] column.
*
@@ -360,7 +414,7 @@ abstract class BaseAdditionalTables extends BaseObject implements Persistent {
$v = (int) $v;
}
if ($this->add_tab_sdw_log_insert !== $v || $v === 1) {
if ($this->add_tab_sdw_log_insert !== $v || $v === 0) {
$this->add_tab_sdw_log_insert = $v;
$this->modifiedColumns[] = AdditionalTablesPeer::ADD_TAB_SDW_LOG_INSERT;
}
@@ -382,7 +436,7 @@ abstract class BaseAdditionalTables extends BaseObject implements Persistent {
$v = (int) $v;
}
if ($this->add_tab_sdw_log_update !== $v || $v === 1) {
if ($this->add_tab_sdw_log_update !== $v || $v === 0) {
$this->add_tab_sdw_log_update = $v;
$this->modifiedColumns[] = AdditionalTablesPeer::ADD_TAB_SDW_LOG_UPDATE;
}
@@ -404,7 +458,7 @@ abstract class BaseAdditionalTables extends BaseObject implements Persistent {
$v = (int) $v;
}
if ($this->add_tab_sdw_log_delete !== $v || $v === 1) {
if ($this->add_tab_sdw_log_delete !== $v || $v === 0) {
$this->add_tab_sdw_log_delete = $v;
$this->modifiedColumns[] = AdditionalTablesPeer::ADD_TAB_SDW_LOG_DELETE;
}
@@ -448,7 +502,7 @@ abstract class BaseAdditionalTables extends BaseObject implements Persistent {
$v = (int) $v;
}
if ($this->add_tab_sdw_max_length !== $v || $v === -1) {
if ($this->add_tab_sdw_max_length !== $v || $v === 0) {
$this->add_tab_sdw_max_length = $v;
$this->modifiedColumns[] = AdditionalTablesPeer::ADD_TAB_SDW_MAX_LENGTH;
}
@@ -514,13 +568,79 @@ abstract class BaseAdditionalTables extends BaseObject implements Persistent {
$v = (string) $v;
}
if ($this->dbs_uid !== $v || $v === '0') {
if ($this->dbs_uid !== $v || $v === '') {
$this->dbs_uid = $v;
$this->modifiedColumns[] = AdditionalTablesPeer::DBS_UID;
}
} // setDbsUid()
/**
* Set the value of [pro_uid] column.
*
* @param string $v new value
* @return void
*/
public function setProUid($v)
{
// Since the native PHP type for this column is string,
// we will cast the input to a string (if it is not).
if ($v !== null && !is_string($v)) {
$v = (string) $v;
}
if ($this->pro_uid !== $v || $v === '') {
$this->pro_uid = $v;
$this->modifiedColumns[] = AdditionalTablesPeer::PRO_UID;
}
} // setProUid()
/**
* Set the value of [add_tab_type] column.
*
* @param string $v new value
* @return void
*/
public function setAddTabType($v)
{
// Since the native PHP type for this column is string,
// we will cast the input to a string (if it is not).
if ($v !== null && !is_string($v)) {
$v = (string) $v;
}
if ($this->add_tab_type !== $v || $v === '') {
$this->add_tab_type = $v;
$this->modifiedColumns[] = AdditionalTablesPeer::ADD_TAB_TYPE;
}
} // setAddTabType()
/**
* Set the value of [add_tab_grid] column.
*
* @param string $v new value
* @return void
*/
public function setAddTabGrid($v)
{
// Since the native PHP type for this column is string,
// we will cast the input to a string (if it is not).
if ($v !== null && !is_string($v)) {
$v = (string) $v;
}
if ($this->add_tab_grid !== $v || $v === '') {
$this->add_tab_grid = $v;
$this->modifiedColumns[] = AdditionalTablesPeer::ADD_TAB_GRID;
}
} // setAddTabGrid()
/**
* Hydrates (populates) the object variables with values from the database resultset.
*
@@ -562,12 +682,18 @@ abstract class BaseAdditionalTables extends BaseObject implements Persistent {
$this->dbs_uid = $rs->getString($startcol + 11);
$this->pro_uid = $rs->getString($startcol + 12);
$this->add_tab_type = $rs->getString($startcol + 13);
$this->add_tab_grid = $rs->getString($startcol + 14);
$this->resetModified();
$this->setNew(false);
// FIXME - using NUM_COLUMNS may be clearer.
return $startcol + 12; // 12 = AdditionalTablesPeer::NUM_COLUMNS - AdditionalTablesPeer::NUM_LAZY_LOAD_COLUMNS).
return $startcol + 15; // 15 = AdditionalTablesPeer::NUM_COLUMNS - AdditionalTablesPeer::NUM_LAZY_LOAD_COLUMNS).
} catch (Exception $e) {
throw new PropelException("Error populating AdditionalTables object", $e);
@@ -806,6 +932,15 @@ abstract class BaseAdditionalTables extends BaseObject implements Persistent {
case 11:
return $this->getDbsUid();
break;
case 12:
return $this->getProUid();
break;
case 13:
return $this->getAddTabType();
break;
case 14:
return $this->getAddTabGrid();
break;
default:
return null;
break;
@@ -838,6 +973,9 @@ abstract class BaseAdditionalTables extends BaseObject implements Persistent {
$keys[9] => $this->getAddTabSdwAutoDelete(),
$keys[10] => $this->getAddTabPlgUid(),
$keys[11] => $this->getDbsUid(),
$keys[12] => $this->getProUid(),
$keys[13] => $this->getAddTabType(),
$keys[14] => $this->getAddTabGrid(),
);
return $result;
}
@@ -905,6 +1043,15 @@ abstract class BaseAdditionalTables extends BaseObject implements Persistent {
case 11:
$this->setDbsUid($value);
break;
case 12:
$this->setProUid($value);
break;
case 13:
$this->setAddTabType($value);
break;
case 14:
$this->setAddTabGrid($value);
break;
} // switch()
}
@@ -940,6 +1087,9 @@ abstract class BaseAdditionalTables extends BaseObject implements Persistent {
if (array_key_exists($keys[9], $arr)) $this->setAddTabSdwAutoDelete($arr[$keys[9]]);
if (array_key_exists($keys[10], $arr)) $this->setAddTabPlgUid($arr[$keys[10]]);
if (array_key_exists($keys[11], $arr)) $this->setDbsUid($arr[$keys[11]]);
if (array_key_exists($keys[12], $arr)) $this->setProUid($arr[$keys[12]]);
if (array_key_exists($keys[13], $arr)) $this->setAddTabType($arr[$keys[13]]);
if (array_key_exists($keys[14], $arr)) $this->setAddTabGrid($arr[$keys[14]]);
}
/**
@@ -963,6 +1113,9 @@ abstract class BaseAdditionalTables extends BaseObject implements Persistent {
if ($this->isColumnModified(AdditionalTablesPeer::ADD_TAB_SDW_AUTO_DELETE)) $criteria->add(AdditionalTablesPeer::ADD_TAB_SDW_AUTO_DELETE, $this->add_tab_sdw_auto_delete);
if ($this->isColumnModified(AdditionalTablesPeer::ADD_TAB_PLG_UID)) $criteria->add(AdditionalTablesPeer::ADD_TAB_PLG_UID, $this->add_tab_plg_uid);
if ($this->isColumnModified(AdditionalTablesPeer::DBS_UID)) $criteria->add(AdditionalTablesPeer::DBS_UID, $this->dbs_uid);
if ($this->isColumnModified(AdditionalTablesPeer::PRO_UID)) $criteria->add(AdditionalTablesPeer::PRO_UID, $this->pro_uid);
if ($this->isColumnModified(AdditionalTablesPeer::ADD_TAB_TYPE)) $criteria->add(AdditionalTablesPeer::ADD_TAB_TYPE, $this->add_tab_type);
if ($this->isColumnModified(AdditionalTablesPeer::ADD_TAB_GRID)) $criteria->add(AdditionalTablesPeer::ADD_TAB_GRID, $this->add_tab_grid);
return $criteria;
}
@@ -1039,6 +1192,12 @@ abstract class BaseAdditionalTables extends BaseObject implements Persistent {
$copyObj->setDbsUid($this->dbs_uid);
$copyObj->setProUid($this->pro_uid);
$copyObj->setAddTabType($this->add_tab_type);
$copyObj->setAddTabGrid($this->add_tab_grid);
$copyObj->setNew(true);

View File

@@ -24,7 +24,7 @@ abstract class BaseAdditionalTablesPeer {
const CLASS_DEFAULT = 'classes.model.AdditionalTables';
/** The total number of columns. */
const NUM_COLUMNS = 12;
const NUM_COLUMNS = 15;
/** The number of lazy-loaded columns. */
const NUM_LAZY_LOAD_COLUMNS = 0;
@@ -66,6 +66,15 @@ abstract class BaseAdditionalTablesPeer {
/** the column name for the DBS_UID field */
const DBS_UID = 'ADDITIONAL_TABLES.DBS_UID';
/** the column name for the PRO_UID field */
const PRO_UID = 'ADDITIONAL_TABLES.PRO_UID';
/** the column name for the ADD_TAB_TYPE field */
const ADD_TAB_TYPE = 'ADDITIONAL_TABLES.ADD_TAB_TYPE';
/** the column name for the ADD_TAB_GRID field */
const ADD_TAB_GRID = 'ADDITIONAL_TABLES.ADD_TAB_GRID';
/** The PHP to DB Name Mapping */
private static $phpNameMap = null;
@@ -77,10 +86,10 @@ abstract class BaseAdditionalTablesPeer {
* e.g. self::$fieldNames[self::TYPE_PHPNAME][0] = 'Id'
*/
private static $fieldNames = array (
BasePeer::TYPE_PHPNAME => array ('AddTabUid', 'AddTabName', 'AddTabClassName', 'AddTabDescription', 'AddTabSdwLogInsert', 'AddTabSdwLogUpdate', 'AddTabSdwLogDelete', 'AddTabSdwLogSelect', 'AddTabSdwMaxLength', 'AddTabSdwAutoDelete', 'AddTabPlgUid', 'DbsUid', ),
BasePeer::TYPE_COLNAME => array (AdditionalTablesPeer::ADD_TAB_UID, AdditionalTablesPeer::ADD_TAB_NAME, AdditionalTablesPeer::ADD_TAB_CLASS_NAME, AdditionalTablesPeer::ADD_TAB_DESCRIPTION, AdditionalTablesPeer::ADD_TAB_SDW_LOG_INSERT, AdditionalTablesPeer::ADD_TAB_SDW_LOG_UPDATE, AdditionalTablesPeer::ADD_TAB_SDW_LOG_DELETE, AdditionalTablesPeer::ADD_TAB_SDW_LOG_SELECT, AdditionalTablesPeer::ADD_TAB_SDW_MAX_LENGTH, AdditionalTablesPeer::ADD_TAB_SDW_AUTO_DELETE, AdditionalTablesPeer::ADD_TAB_PLG_UID, AdditionalTablesPeer::DBS_UID, ),
BasePeer::TYPE_FIELDNAME => array ('ADD_TAB_UID', 'ADD_TAB_NAME', 'ADD_TAB_CLASS_NAME', 'ADD_TAB_DESCRIPTION', 'ADD_TAB_SDW_LOG_INSERT', 'ADD_TAB_SDW_LOG_UPDATE', 'ADD_TAB_SDW_LOG_DELETE', 'ADD_TAB_SDW_LOG_SELECT', 'ADD_TAB_SDW_MAX_LENGTH', 'ADD_TAB_SDW_AUTO_DELETE', 'ADD_TAB_PLG_UID', 'DBS_UID', ),
BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, )
BasePeer::TYPE_PHPNAME => array ('AddTabUid', 'AddTabName', 'AddTabClassName', 'AddTabDescription', 'AddTabSdwLogInsert', 'AddTabSdwLogUpdate', 'AddTabSdwLogDelete', 'AddTabSdwLogSelect', 'AddTabSdwMaxLength', 'AddTabSdwAutoDelete', 'AddTabPlgUid', 'DbsUid', 'ProUid', 'AddTabType', 'AddTabGrid', ),
BasePeer::TYPE_COLNAME => array (AdditionalTablesPeer::ADD_TAB_UID, AdditionalTablesPeer::ADD_TAB_NAME, AdditionalTablesPeer::ADD_TAB_CLASS_NAME, AdditionalTablesPeer::ADD_TAB_DESCRIPTION, AdditionalTablesPeer::ADD_TAB_SDW_LOG_INSERT, AdditionalTablesPeer::ADD_TAB_SDW_LOG_UPDATE, AdditionalTablesPeer::ADD_TAB_SDW_LOG_DELETE, AdditionalTablesPeer::ADD_TAB_SDW_LOG_SELECT, AdditionalTablesPeer::ADD_TAB_SDW_MAX_LENGTH, AdditionalTablesPeer::ADD_TAB_SDW_AUTO_DELETE, AdditionalTablesPeer::ADD_TAB_PLG_UID, AdditionalTablesPeer::DBS_UID, AdditionalTablesPeer::PRO_UID, AdditionalTablesPeer::ADD_TAB_TYPE, AdditionalTablesPeer::ADD_TAB_GRID, ),
BasePeer::TYPE_FIELDNAME => array ('ADD_TAB_UID', 'ADD_TAB_NAME', 'ADD_TAB_CLASS_NAME', 'ADD_TAB_DESCRIPTION', 'ADD_TAB_SDW_LOG_INSERT', 'ADD_TAB_SDW_LOG_UPDATE', 'ADD_TAB_SDW_LOG_DELETE', 'ADD_TAB_SDW_LOG_SELECT', 'ADD_TAB_SDW_MAX_LENGTH', 'ADD_TAB_SDW_AUTO_DELETE', 'ADD_TAB_PLG_UID', 'DBS_UID', 'PRO_UID', 'ADD_TAB_TYPE', 'ADD_TAB_GRID', ),
BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, )
);
/**
@@ -90,10 +99,10 @@ abstract class BaseAdditionalTablesPeer {
* e.g. self::$fieldNames[BasePeer::TYPE_PHPNAME]['Id'] = 0
*/
private static $fieldKeys = array (
BasePeer::TYPE_PHPNAME => array ('AddTabUid' => 0, 'AddTabName' => 1, 'AddTabClassName' => 2, 'AddTabDescription' => 3, 'AddTabSdwLogInsert' => 4, 'AddTabSdwLogUpdate' => 5, 'AddTabSdwLogDelete' => 6, 'AddTabSdwLogSelect' => 7, 'AddTabSdwMaxLength' => 8, 'AddTabSdwAutoDelete' => 9, 'AddTabPlgUid' => 10, 'DbsUid' => 11, ),
BasePeer::TYPE_COLNAME => array (AdditionalTablesPeer::ADD_TAB_UID => 0, AdditionalTablesPeer::ADD_TAB_NAME => 1, AdditionalTablesPeer::ADD_TAB_CLASS_NAME => 2, AdditionalTablesPeer::ADD_TAB_DESCRIPTION => 3, AdditionalTablesPeer::ADD_TAB_SDW_LOG_INSERT => 4, AdditionalTablesPeer::ADD_TAB_SDW_LOG_UPDATE => 5, AdditionalTablesPeer::ADD_TAB_SDW_LOG_DELETE => 6, AdditionalTablesPeer::ADD_TAB_SDW_LOG_SELECT => 7, AdditionalTablesPeer::ADD_TAB_SDW_MAX_LENGTH => 8, AdditionalTablesPeer::ADD_TAB_SDW_AUTO_DELETE => 9, AdditionalTablesPeer::ADD_TAB_PLG_UID => 10, AdditionalTablesPeer::DBS_UID => 11, ),
BasePeer::TYPE_FIELDNAME => array ('ADD_TAB_UID' => 0, 'ADD_TAB_NAME' => 1, 'ADD_TAB_CLASS_NAME' => 2, 'ADD_TAB_DESCRIPTION' => 3, 'ADD_TAB_SDW_LOG_INSERT' => 4, 'ADD_TAB_SDW_LOG_UPDATE' => 5, 'ADD_TAB_SDW_LOG_DELETE' => 6, 'ADD_TAB_SDW_LOG_SELECT' => 7, 'ADD_TAB_SDW_MAX_LENGTH' => 8, 'ADD_TAB_SDW_AUTO_DELETE' => 9, 'ADD_TAB_PLG_UID' => 10, 'DBS_UID' => 11, ),
BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, )
BasePeer::TYPE_PHPNAME => array ('AddTabUid' => 0, 'AddTabName' => 1, 'AddTabClassName' => 2, 'AddTabDescription' => 3, 'AddTabSdwLogInsert' => 4, 'AddTabSdwLogUpdate' => 5, 'AddTabSdwLogDelete' => 6, 'AddTabSdwLogSelect' => 7, 'AddTabSdwMaxLength' => 8, 'AddTabSdwAutoDelete' => 9, 'AddTabPlgUid' => 10, 'DbsUid' => 11, 'ProUid' => 12, 'AddTabType' => 13, 'AddTabGrid' => 14, ),
BasePeer::TYPE_COLNAME => array (AdditionalTablesPeer::ADD_TAB_UID => 0, AdditionalTablesPeer::ADD_TAB_NAME => 1, AdditionalTablesPeer::ADD_TAB_CLASS_NAME => 2, AdditionalTablesPeer::ADD_TAB_DESCRIPTION => 3, AdditionalTablesPeer::ADD_TAB_SDW_LOG_INSERT => 4, AdditionalTablesPeer::ADD_TAB_SDW_LOG_UPDATE => 5, AdditionalTablesPeer::ADD_TAB_SDW_LOG_DELETE => 6, AdditionalTablesPeer::ADD_TAB_SDW_LOG_SELECT => 7, AdditionalTablesPeer::ADD_TAB_SDW_MAX_LENGTH => 8, AdditionalTablesPeer::ADD_TAB_SDW_AUTO_DELETE => 9, AdditionalTablesPeer::ADD_TAB_PLG_UID => 10, AdditionalTablesPeer::DBS_UID => 11, AdditionalTablesPeer::PRO_UID => 12, AdditionalTablesPeer::ADD_TAB_TYPE => 13, AdditionalTablesPeer::ADD_TAB_GRID => 14, ),
BasePeer::TYPE_FIELDNAME => array ('ADD_TAB_UID' => 0, 'ADD_TAB_NAME' => 1, 'ADD_TAB_CLASS_NAME' => 2, 'ADD_TAB_DESCRIPTION' => 3, 'ADD_TAB_SDW_LOG_INSERT' => 4, 'ADD_TAB_SDW_LOG_UPDATE' => 5, 'ADD_TAB_SDW_LOG_DELETE' => 6, 'ADD_TAB_SDW_LOG_SELECT' => 7, 'ADD_TAB_SDW_MAX_LENGTH' => 8, 'ADD_TAB_SDW_AUTO_DELETE' => 9, 'ADD_TAB_PLG_UID' => 10, 'DBS_UID' => 11, 'PRO_UID' => 12, 'ADD_TAB_TYPE' => 13, 'ADD_TAB_GRID' => 14, ),
BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, )
);
/**
@@ -218,6 +227,12 @@ abstract class BaseAdditionalTablesPeer {
$criteria->addSelectColumn(AdditionalTablesPeer::DBS_UID);
$criteria->addSelectColumn(AdditionalTablesPeer::PRO_UID);
$criteria->addSelectColumn(AdditionalTablesPeer::ADD_TAB_TYPE);
$criteria->addSelectColumn(AdditionalTablesPeer::ADD_TAB_GRID);
}
const COUNT = 'COUNT(ADDITIONAL_TABLES.ADD_TAB_UID)';

View File

@@ -111,6 +111,27 @@ abstract class BaseFields extends BaseObject implements Persistent {
*/
protected $fld_foreign_key_table = '';
/**
* The value for the fld_dyn_name field.
* @var string
*/
protected $fld_dyn_name = '';
/**
* The value for the fld_dyn_uid field.
* @var string
*/
protected $fld_dyn_uid = '';
/**
* The value for the fld_filter field.
* @var int
*/
protected $fld_filter = 0;
/**
* Flag to prevent endless save loop, if this object is referenced
* by another object which falls in this transaction.
@@ -257,6 +278,39 @@ abstract class BaseFields extends BaseObject implements Persistent {
return $this->fld_foreign_key_table;
}
/**
* Get the [fld_dyn_name] column value.
*
* @return string
*/
public function getFldDynName()
{
return $this->fld_dyn_name;
}
/**
* Get the [fld_dyn_uid] column value.
*
* @return string
*/
public function getFldDynUid()
{
return $this->fld_dyn_uid;
}
/**
* Get the [fld_filter] column value.
*
* @return int
*/
public function getFldFilter()
{
return $this->fld_filter;
}
/**
* Set the value of [fld_uid] column.
*
@@ -521,6 +575,72 @@ abstract class BaseFields extends BaseObject implements Persistent {
} // setFldForeignKeyTable()
/**
* Set the value of [fld_dyn_name] column.
*
* @param string $v new value
* @return void
*/
public function setFldDynName($v)
{
// Since the native PHP type for this column is string,
// we will cast the input to a string (if it is not).
if ($v !== null && !is_string($v)) {
$v = (string) $v;
}
if ($this->fld_dyn_name !== $v || $v === '') {
$this->fld_dyn_name = $v;
$this->modifiedColumns[] = FieldsPeer::FLD_DYN_NAME;
}
} // setFldDynName()
/**
* Set the value of [fld_dyn_uid] column.
*
* @param string $v new value
* @return void
*/
public function setFldDynUid($v)
{
// Since the native PHP type for this column is string,
// we will cast the input to a string (if it is not).
if ($v !== null && !is_string($v)) {
$v = (string) $v;
}
if ($this->fld_dyn_uid !== $v || $v === '') {
$this->fld_dyn_uid = $v;
$this->modifiedColumns[] = FieldsPeer::FLD_DYN_UID;
}
} // setFldDynUid()
/**
* Set the value of [fld_filter] column.
*
* @param int $v new value
* @return void
*/
public function setFldFilter($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->fld_filter !== $v || $v === 0) {
$this->fld_filter = $v;
$this->modifiedColumns[] = FieldsPeer::FLD_FILTER;
}
} // setFldFilter()
/**
* Hydrates (populates) the object variables with values from the database resultset.
*
@@ -562,12 +682,18 @@ abstract class BaseFields extends BaseObject implements Persistent {
$this->fld_foreign_key_table = $rs->getString($startcol + 11);
$this->fld_dyn_name = $rs->getString($startcol + 12);
$this->fld_dyn_uid = $rs->getString($startcol + 13);
$this->fld_filter = $rs->getInt($startcol + 14);
$this->resetModified();
$this->setNew(false);
// FIXME - using NUM_COLUMNS may be clearer.
return $startcol + 12; // 12 = FieldsPeer::NUM_COLUMNS - FieldsPeer::NUM_LAZY_LOAD_COLUMNS).
return $startcol + 15; // 15 = FieldsPeer::NUM_COLUMNS - FieldsPeer::NUM_LAZY_LOAD_COLUMNS).
} catch (Exception $e) {
throw new PropelException("Error populating Fields object", $e);
@@ -806,6 +932,15 @@ abstract class BaseFields extends BaseObject implements Persistent {
case 11:
return $this->getFldForeignKeyTable();
break;
case 12:
return $this->getFldDynName();
break;
case 13:
return $this->getFldDynUid();
break;
case 14:
return $this->getFldFilter();
break;
default:
return null;
break;
@@ -838,6 +973,9 @@ abstract class BaseFields extends BaseObject implements Persistent {
$keys[9] => $this->getFldKey(),
$keys[10] => $this->getFldForeignKey(),
$keys[11] => $this->getFldForeignKeyTable(),
$keys[12] => $this->getFldDynName(),
$keys[13] => $this->getFldDynUid(),
$keys[14] => $this->getFldFilter(),
);
return $result;
}
@@ -905,6 +1043,15 @@ abstract class BaseFields extends BaseObject implements Persistent {
case 11:
$this->setFldForeignKeyTable($value);
break;
case 12:
$this->setFldDynName($value);
break;
case 13:
$this->setFldDynUid($value);
break;
case 14:
$this->setFldFilter($value);
break;
} // switch()
}
@@ -940,6 +1087,9 @@ abstract class BaseFields extends BaseObject implements Persistent {
if (array_key_exists($keys[9], $arr)) $this->setFldKey($arr[$keys[9]]);
if (array_key_exists($keys[10], $arr)) $this->setFldForeignKey($arr[$keys[10]]);
if (array_key_exists($keys[11], $arr)) $this->setFldForeignKeyTable($arr[$keys[11]]);
if (array_key_exists($keys[12], $arr)) $this->setFldDynName($arr[$keys[12]]);
if (array_key_exists($keys[13], $arr)) $this->setFldDynUid($arr[$keys[13]]);
if (array_key_exists($keys[14], $arr)) $this->setFldFilter($arr[$keys[14]]);
}
/**
@@ -963,6 +1113,9 @@ abstract class BaseFields extends BaseObject implements Persistent {
if ($this->isColumnModified(FieldsPeer::FLD_KEY)) $criteria->add(FieldsPeer::FLD_KEY, $this->fld_key);
if ($this->isColumnModified(FieldsPeer::FLD_FOREIGN_KEY)) $criteria->add(FieldsPeer::FLD_FOREIGN_KEY, $this->fld_foreign_key);
if ($this->isColumnModified(FieldsPeer::FLD_FOREIGN_KEY_TABLE)) $criteria->add(FieldsPeer::FLD_FOREIGN_KEY_TABLE, $this->fld_foreign_key_table);
if ($this->isColumnModified(FieldsPeer::FLD_DYN_NAME)) $criteria->add(FieldsPeer::FLD_DYN_NAME, $this->fld_dyn_name);
if ($this->isColumnModified(FieldsPeer::FLD_DYN_UID)) $criteria->add(FieldsPeer::FLD_DYN_UID, $this->fld_dyn_uid);
if ($this->isColumnModified(FieldsPeer::FLD_FILTER)) $criteria->add(FieldsPeer::FLD_FILTER, $this->fld_filter);
return $criteria;
}
@@ -1039,6 +1192,12 @@ abstract class BaseFields extends BaseObject implements Persistent {
$copyObj->setFldForeignKeyTable($this->fld_foreign_key_table);
$copyObj->setFldDynName($this->fld_dyn_name);
$copyObj->setFldDynUid($this->fld_dyn_uid);
$copyObj->setFldFilter($this->fld_filter);
$copyObj->setNew(true);

View File

@@ -24,7 +24,7 @@ abstract class BaseFieldsPeer {
const CLASS_DEFAULT = 'classes.model.Fields';
/** The total number of columns. */
const NUM_COLUMNS = 12;
const NUM_COLUMNS = 15;
/** The number of lazy-loaded columns. */
const NUM_LAZY_LOAD_COLUMNS = 0;
@@ -66,6 +66,15 @@ abstract class BaseFieldsPeer {
/** the column name for the FLD_FOREIGN_KEY_TABLE field */
const FLD_FOREIGN_KEY_TABLE = 'FIELDS.FLD_FOREIGN_KEY_TABLE';
/** the column name for the FLD_DYN_NAME field */
const FLD_DYN_NAME = 'FIELDS.FLD_DYN_NAME';
/** the column name for the FLD_DYN_UID field */
const FLD_DYN_UID = 'FIELDS.FLD_DYN_UID';
/** the column name for the FLD_FILTER field */
const FLD_FILTER = 'FIELDS.FLD_FILTER';
/** The PHP to DB Name Mapping */
private static $phpNameMap = null;
@@ -77,10 +86,10 @@ abstract class BaseFieldsPeer {
* e.g. self::$fieldNames[self::TYPE_PHPNAME][0] = 'Id'
*/
private static $fieldNames = array (
BasePeer::TYPE_PHPNAME => array ('FldUid', 'AddTabUid', 'FldIndex', 'FldName', 'FldDescription', 'FldType', 'FldSize', 'FldNull', 'FldAutoIncrement', 'FldKey', 'FldForeignKey', 'FldForeignKeyTable', ),
BasePeer::TYPE_COLNAME => array (FieldsPeer::FLD_UID, FieldsPeer::ADD_TAB_UID, FieldsPeer::FLD_INDEX, FieldsPeer::FLD_NAME, FieldsPeer::FLD_DESCRIPTION, FieldsPeer::FLD_TYPE, FieldsPeer::FLD_SIZE, FieldsPeer::FLD_NULL, FieldsPeer::FLD_AUTO_INCREMENT, FieldsPeer::FLD_KEY, FieldsPeer::FLD_FOREIGN_KEY, FieldsPeer::FLD_FOREIGN_KEY_TABLE, ),
BasePeer::TYPE_FIELDNAME => array ('FLD_UID', 'ADD_TAB_UID', 'FLD_INDEX', 'FLD_NAME', 'FLD_DESCRIPTION', 'FLD_TYPE', 'FLD_SIZE', 'FLD_NULL', 'FLD_AUTO_INCREMENT', 'FLD_KEY', 'FLD_FOREIGN_KEY', 'FLD_FOREIGN_KEY_TABLE', ),
BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, )
BasePeer::TYPE_PHPNAME => array ('FldUid', 'AddTabUid', 'FldIndex', 'FldName', 'FldDescription', 'FldType', 'FldSize', 'FldNull', 'FldAutoIncrement', 'FldKey', 'FldForeignKey', 'FldForeignKeyTable', 'FldDynName', 'FldDynUid', 'FldFilter', ),
BasePeer::TYPE_COLNAME => array (FieldsPeer::FLD_UID, FieldsPeer::ADD_TAB_UID, FieldsPeer::FLD_INDEX, FieldsPeer::FLD_NAME, FieldsPeer::FLD_DESCRIPTION, FieldsPeer::FLD_TYPE, FieldsPeer::FLD_SIZE, FieldsPeer::FLD_NULL, FieldsPeer::FLD_AUTO_INCREMENT, FieldsPeer::FLD_KEY, FieldsPeer::FLD_FOREIGN_KEY, FieldsPeer::FLD_FOREIGN_KEY_TABLE, FieldsPeer::FLD_DYN_NAME, FieldsPeer::FLD_DYN_UID, FieldsPeer::FLD_FILTER, ),
BasePeer::TYPE_FIELDNAME => array ('FLD_UID', 'ADD_TAB_UID', 'FLD_INDEX', 'FLD_NAME', 'FLD_DESCRIPTION', 'FLD_TYPE', 'FLD_SIZE', 'FLD_NULL', 'FLD_AUTO_INCREMENT', 'FLD_KEY', 'FLD_FOREIGN_KEY', 'FLD_FOREIGN_KEY_TABLE', 'FLD_DYN_NAME', 'FLD_DYN_UID', 'FLD_FILTER', ),
BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, )
);
/**
@@ -90,10 +99,10 @@ abstract class BaseFieldsPeer {
* e.g. self::$fieldNames[BasePeer::TYPE_PHPNAME]['Id'] = 0
*/
private static $fieldKeys = array (
BasePeer::TYPE_PHPNAME => array ('FldUid' => 0, 'AddTabUid' => 1, 'FldIndex' => 2, 'FldName' => 3, 'FldDescription' => 4, 'FldType' => 5, 'FldSize' => 6, 'FldNull' => 7, 'FldAutoIncrement' => 8, 'FldKey' => 9, 'FldForeignKey' => 10, 'FldForeignKeyTable' => 11, ),
BasePeer::TYPE_COLNAME => array (FieldsPeer::FLD_UID => 0, FieldsPeer::ADD_TAB_UID => 1, FieldsPeer::FLD_INDEX => 2, FieldsPeer::FLD_NAME => 3, FieldsPeer::FLD_DESCRIPTION => 4, FieldsPeer::FLD_TYPE => 5, FieldsPeer::FLD_SIZE => 6, FieldsPeer::FLD_NULL => 7, FieldsPeer::FLD_AUTO_INCREMENT => 8, FieldsPeer::FLD_KEY => 9, FieldsPeer::FLD_FOREIGN_KEY => 10, FieldsPeer::FLD_FOREIGN_KEY_TABLE => 11, ),
BasePeer::TYPE_FIELDNAME => array ('FLD_UID' => 0, 'ADD_TAB_UID' => 1, 'FLD_INDEX' => 2, 'FLD_NAME' => 3, 'FLD_DESCRIPTION' => 4, 'FLD_TYPE' => 5, 'FLD_SIZE' => 6, 'FLD_NULL' => 7, 'FLD_AUTO_INCREMENT' => 8, 'FLD_KEY' => 9, 'FLD_FOREIGN_KEY' => 10, 'FLD_FOREIGN_KEY_TABLE' => 11, ),
BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, )
BasePeer::TYPE_PHPNAME => array ('FldUid' => 0, 'AddTabUid' => 1, 'FldIndex' => 2, 'FldName' => 3, 'FldDescription' => 4, 'FldType' => 5, 'FldSize' => 6, 'FldNull' => 7, 'FldAutoIncrement' => 8, 'FldKey' => 9, 'FldForeignKey' => 10, 'FldForeignKeyTable' => 11, 'FldDynName' => 12, 'FldDynUid' => 13, 'FldFilter' => 14, ),
BasePeer::TYPE_COLNAME => array (FieldsPeer::FLD_UID => 0, FieldsPeer::ADD_TAB_UID => 1, FieldsPeer::FLD_INDEX => 2, FieldsPeer::FLD_NAME => 3, FieldsPeer::FLD_DESCRIPTION => 4, FieldsPeer::FLD_TYPE => 5, FieldsPeer::FLD_SIZE => 6, FieldsPeer::FLD_NULL => 7, FieldsPeer::FLD_AUTO_INCREMENT => 8, FieldsPeer::FLD_KEY => 9, FieldsPeer::FLD_FOREIGN_KEY => 10, FieldsPeer::FLD_FOREIGN_KEY_TABLE => 11, FieldsPeer::FLD_DYN_NAME => 12, FieldsPeer::FLD_DYN_UID => 13, FieldsPeer::FLD_FILTER => 14, ),
BasePeer::TYPE_FIELDNAME => array ('FLD_UID' => 0, 'ADD_TAB_UID' => 1, 'FLD_INDEX' => 2, 'FLD_NAME' => 3, 'FLD_DESCRIPTION' => 4, 'FLD_TYPE' => 5, 'FLD_SIZE' => 6, 'FLD_NULL' => 7, 'FLD_AUTO_INCREMENT' => 8, 'FLD_KEY' => 9, 'FLD_FOREIGN_KEY' => 10, 'FLD_FOREIGN_KEY_TABLE' => 11, 'FLD_DYN_NAME' => 12, 'FLD_DYN_UID' => 13, 'FLD_FILTER' => 14, ),
BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, )
);
/**
@@ -218,6 +227,12 @@ abstract class BaseFieldsPeer {
$criteria->addSelectColumn(FieldsPeer::FLD_FOREIGN_KEY_TABLE);
$criteria->addSelectColumn(FieldsPeer::FLD_DYN_NAME);
$criteria->addSelectColumn(FieldsPeer::FLD_DYN_UID);
$criteria->addSelectColumn(FieldsPeer::FLD_FILTER);
}
const COUNT = 'COUNT(FIELDS.FLD_UID)';

View File

@@ -2035,15 +2035,18 @@
<column name="ADD_TAB_UID" type="VARCHAR" size="32" required="true" primaryKey="true" default=""/>
<column name="ADD_TAB_NAME" type="VARCHAR" size="60" required="true" default=""/>
<column name="ADD_TAB_CLASS_NAME" type="VARCHAR" size="100" required="true" default=""/>
<column name="ADD_TAB_DESCRIPTION" type="LONGVARCHAR" required="true"/>
<column name="ADD_TAB_SDW_LOG_INSERT" type="TINYINT" required="true" default="1"/>
<column name="ADD_TAB_SDW_LOG_UPDATE" type="TINYINT" required="true" default="1"/>
<column name="ADD_TAB_SDW_LOG_DELETE" type="TINYINT" required="true" default="1"/>
<column name="ADD_TAB_SDW_LOG_SELECT" type="TINYINT" required="true" default="0"/>
<column name="ADD_TAB_SDW_MAX_LENGTH" type="INTEGER" required="true" default="-1"/>
<column name="ADD_TAB_SDW_AUTO_DELETE" type="TINYINT" required="true" default="0"/>
<column name="ADD_TAB_PLG_UID" type="VARCHAR" size="32" required="true" default=""/>
<column name="DBS_UID" type="VARCHAR" size="32" required="false" default="0"/>
<column name="ADD_TAB_DESCRIPTION" type="LONGVARCHAR" required="false"/>
<column name="ADD_TAB_SDW_LOG_INSERT" type="TINYINT" required="false" default="0"/>
<column name="ADD_TAB_SDW_LOG_UPDATE" type="TINYINT" required="false" default="0"/>
<column name="ADD_TAB_SDW_LOG_DELETE" type="TINYINT" required="false" default="0"/>
<column name="ADD_TAB_SDW_LOG_SELECT" type="TINYINT" required="false" default="0"/>
<column name="ADD_TAB_SDW_MAX_LENGTH" type="INTEGER" required="false" default="0"/>
<column name="ADD_TAB_SDW_AUTO_DELETE" type="TINYINT" required="false" default="0"/>
<column name="ADD_TAB_PLG_UID" type="VARCHAR" size="32" required="false" default=""/>
<column name="DBS_UID" type="VARCHAR" size="32" required="false" default=""/>
<column name="PRO_UID" type="VARCHAR" size="32" required="false" default=""/>
<column name="ADD_TAB_TYPE" type="VARCHAR" size="32" required="false" default=""/>
<column name="ADD_TAB_GRID" type="VARCHAR" size="256" required="false" default=""/>
</table>
<table name="FIELDS">
<vendor type="mysql">
@@ -2078,6 +2081,9 @@
<column name="FLD_KEY" type="TINYINT" required="true" default="0"/>
<column name="FLD_FOREIGN_KEY" type="TINYINT" required="true" default="0"/>
<column name="FLD_FOREIGN_KEY_TABLE" type="VARCHAR" size="32" required="true" default=""/>
<column name="FLD_DYN_NAME" type="VARCHAR" size="128" required="false" default=""/>
<column name="FLD_DYN_UID" type="VARCHAR" size="128" required="false" default=""/>
<column name="FLD_FILTER" type="TINYINT" required="false" default="0"/>
</table>
<table name="SHADOW_TABLE">
<vendor type="mysql">

View File

@@ -936,15 +936,18 @@ CREATE TABLE `ADDITIONAL_TABLES`
`ADD_TAB_UID` VARCHAR(32) default '' NOT NULL,
`ADD_TAB_NAME` VARCHAR(60) default '' NOT NULL,
`ADD_TAB_CLASS_NAME` VARCHAR(100) default '' NOT NULL,
`ADD_TAB_DESCRIPTION` MEDIUMTEXT NOT NULL,
`ADD_TAB_SDW_LOG_INSERT` TINYINT default 1 NOT NULL,
`ADD_TAB_SDW_LOG_UPDATE` TINYINT default 1 NOT NULL,
`ADD_TAB_SDW_LOG_DELETE` TINYINT default 1 NOT NULL,
`ADD_TAB_SDW_LOG_SELECT` TINYINT default 0 NOT NULL,
`ADD_TAB_SDW_MAX_LENGTH` INTEGER default -1 NOT NULL,
`ADD_TAB_SDW_AUTO_DELETE` TINYINT default 0 NOT NULL,
`ADD_TAB_PLG_UID` VARCHAR(32) default '' NOT NULL,
`DBS_UID` VARCHAR(32) default '0',
`ADD_TAB_DESCRIPTION` MEDIUMTEXT,
`ADD_TAB_SDW_LOG_INSERT` TINYINT default 0,
`ADD_TAB_SDW_LOG_UPDATE` TINYINT default 0,
`ADD_TAB_SDW_LOG_DELETE` TINYINT default 0,
`ADD_TAB_SDW_LOG_SELECT` TINYINT default 0,
`ADD_TAB_SDW_MAX_LENGTH` INTEGER default 0,
`ADD_TAB_SDW_AUTO_DELETE` TINYINT default 0,
`ADD_TAB_PLG_UID` VARCHAR(32) default '',
`DBS_UID` VARCHAR(32) default '',
`PRO_UID` VARCHAR(32) default '',
`ADD_TAB_TYPE` VARCHAR(32) default '',
`ADD_TAB_GRID` VARCHAR(256) default '',
PRIMARY KEY (`ADD_TAB_UID`)
)ENGINE=MyISAM DEFAULT CHARSET='utf8';
#-----------------------------------------------------------------------------
@@ -968,6 +971,9 @@ CREATE TABLE `FIELDS`
`FLD_KEY` TINYINT default 0 NOT NULL,
`FLD_FOREIGN_KEY` TINYINT default 0 NOT NULL,
`FLD_FOREIGN_KEY_TABLE` VARCHAR(32) default '' NOT NULL,
`FLD_DYN_NAME` VARCHAR(128) default '',
`FLD_DYN_UID` VARCHAR(128) default '',
`FLD_FILTER` TINYINT default 0,
PRIMARY KEY (`FLD_UID`)
)ENGINE=MyISAM DEFAULT CHARSET='utf8';
#-----------------------------------------------------------------------------

View File

@@ -19,9 +19,14 @@ var processmap=function(){
buildingBlocks:{
injector:function(lanzado)
{
Wx = (lanzado=='dynaforms' || lanzado=='triggers' || lanzado=='outputs' ) ?600 : 500;
Wx = (lanzado=='dynaforms' || lanzado=='triggers' || lanzado=='outputs') ?600 : 500;
Hx = 460;
if(lanzado=='reportTables'){
Wx = 800;
Hx = 600;
}
var bbk = {
dynaforms:1,
messages:1,
@@ -132,7 +137,7 @@ var processmap=function(){
}.extend(this);
r.make();
}.extend(this),
reportTables:function(){
reportTables2:function(){
var panel = this.panels.buildingBlocks;
panel.addContentTitle(G_STRINGS.ID_PROCESSMAP_REPORT_TABLES);
panel.clearContent();
@@ -150,6 +155,18 @@ var processmap=function(){
}.extend(this);
r.make();
}.extend(this),
reportTables:function(){
var panel = this.panels.buildingBlocks;
panel.addContentTitle(G_STRINGS.ID_PROCESSMAP_REPORT_TABLES);
panel.clearContent();
var iframe=document.createElement('iframe');
iframe.setAttribute('id','reportTablesIframe');
iframe.src = '../reportTables/main?PRO_UID=' + this.options.uid;
iframe.style.border='0px';
iframe.style.width='786px';
iframe.style.height='564px';
panel.addContent(iframe);
}.extend(this),
dynaforms:function(){
var panel = this.panels.buildingBlocks;
panel.addContentTitle(G_STRINGS.ID_PROCESSMAP_DYNAFORMS);

View File

@@ -43,6 +43,7 @@ $G_TMP_MENU->AddIdRawOption('TRIGGERS', '', G::LoadTranslation('ID_TRIGGERS'
//$G_TMP_MENU->AddIdRawOption('MESSAGES', '', G::LoadTranslation('ID_MESSAGES'),"/images/mail.gif",'Pm.data.render.buildingBlocks.injector(\'messages\'); return false;');
G::LoadClass('reportTables');
if (ReportTables::tableExist()) {
//DEPRECATED $G_TMP_MENU->AddIdRawOption('REPORT_TABLES', '', G::LoadTranslation('ID_REPORT_TABLESOLD'),"",'Pm.data.render.buildingBlocks.injector(\'reportTables2\'); return false;','','ss_sprite ss_table');
$G_TMP_MENU->AddIdRawOption('REPORT_TABLES', '', G::LoadTranslation('ID_REPORT_TABLES'),"",'Pm.data.render.buildingBlocks.injector(\'reportTables\'); return false;','','ss_sprite ss_table');
}
$G_TMP_MENU->AddIdRawOption('DB_CONNECTIONS', '', G::LoadTranslation('ID_DB_CONNECTIONS'),"",'showDbConnectionsList(Pm.options.uid); return false;','','ss_sprite ss_database_connect');

View File

@@ -41,8 +41,11 @@ if ($RBAC->userCanAccess('PM_SETUP_ADVANCE') == 1)
$G_TMP_MENU->AddIdRawOption('APPCACHEVIEW_SETUP', '../setup/appCacheViewConf', G::LoadTranslation('ID_APPCACHE_SETUP'), "",'', 'settings');
$G_TMP_MENU->AddIdRawOption('CLEAR_CACHE', 'clearCompiled', G::LoadTranslation('ID_CLEAR_CACHE'), 'icon-rebuild-clean.png', "", 'settings' );
if ($RBAC->userCanAccess('PM_SETUP') == 1)
if ($RBAC->userCanAccess('PM_SETUP') == 1) {
$G_TMP_MENU->AddIdRawOption('ADDITIONAL_TABLES', '../additionalTables/additionalTablesList', G::LoadTranslation('ID_ADDITIONAL_TABLES'), 'icon-tables.png','', 'settings');
$G_TMP_MENU->AddIdRawOption('REPORT_TABLES', '../reportTables/main', 'Report Tables', 'icon-tables.png','', 'settings');
}
$G_TMP_MENU->AddIdRawOption('WEBSERVICES', 'webServices', G::LoadTranslation('ID_WEB_SERVICES'), 'icon-webservices.png', '', 'settings');
$G_TMP_MENU->AddIdRawOption('LOG_CASE_SCHEDULER', '../cases/cases_Scheduler_Log', G::LoadTranslation('ID_LOG_CASE_SCHEDULER'), "icon-logs-list.png",'', 'settings');
$G_TMP_MENU->AddIdRawOption('LOGIN', 'loginSettings', G::LoadTranslation('LOGIN'), "",'', 'settings');

View File

@@ -37,6 +37,7 @@ $oCriteria = new Criteria('workflow');
$oCriteria->addSelectColumn(AdditionalTablesPeer::ADD_TAB_UID);
$oCriteria->addSelectColumn(AdditionalTablesPeer::ADD_TAB_NAME);
$oCriteria->addSelectColumn(AdditionalTablesPeer::ADD_TAB_DESCRIPTION);
$oCriteria->add(AdditionalTablesPeer::PRO_UID, '', Criteria::EQUAL);
if ($filter!=''){
$oCriteria->add(
$oCriteria->getNewCriterion(AdditionalTablesPeer::ADD_TAB_NAME, '%'.$filter.'%',Criteria::LIKE)->addOr(
@@ -54,6 +55,7 @@ $oCriteria->addSelectColumn(AdditionalTablesPeer::ADD_TAB_UID);
$oCriteria->addSelectColumn(AdditionalTablesPeer::ADD_TAB_NAME);
$oCriteria->addSelectColumn(AdditionalTablesPeer::ADD_TAB_DESCRIPTION);
$oCriteria->add(AdditionalTablesPeer::ADD_TAB_UID, '', Criteria::NOT_EQUAL);
$oCriteria->add(AdditionalTablesPeer::PRO_UID, '', Criteria::EQUAL);
if ($filter!=''){
$oCriteria->add(
$oCriteria->getNewCriterion(AdditionalTablesPeer::ADD_TAB_NAME, '%'.$filter.'%',Criteria::LIKE)->addOr(

View File

@@ -0,0 +1,80 @@
<?php
$id = isset($_GET['id']) ? $_GET['id'] : false;
$table = false;
$oHeadPublisher =& headPublisher::getSingleton();
$oHeadPublisher->addExtJsScript('reportTables/edit', true );
$oHeadPublisher->addContent('reportTables/edit');
$oHeadPublisher->assign('ADD_TAB_UID', $id);
if ($id) { // if is a edit request
require_once 'classes/model/AdditionalTables.php';
require_once 'classes/model/Fields.php';
G::LoadClass('xmlfield_InputPM');
$additionalTables = new AdditionalTables();
$table = $additionalTables->load($id, true);
$tableFields = array();
$fieldsList = array();
// list the case fields
foreach ($table['FIELDS'] as $i=>$field) {
if ($field['FLD_NAME'] == 'APP_UID' || $field['FLD_NAME'] == 'APP_NUMBER' || $field['FLD_NAME'] == 'ROW') {
unset($table['FIELDS'][$i]);
continue;
}
array_push($tableFields, $field['FLD_DYN_NAME']);
}
//list dynaform fields
if ($table['ADD_TAB_TYPE'] == 'NORMAL') {
$fields = getDynaformsVars($table['PRO_UID'], false);
foreach ($fields as $field) {
//select to not assigned fields for available grid
if (!in_array($field['sName'], $tableFields)) {
$fieldsList[] = array(
'FIELD_UID' => $field['sName'] . '-' . $field['sType'],
'FIELD_NAME' => $field['sName']
);
}
}
} else {
list($gridName, $gridId) = explode('-', $table['ADD_TAB_GRID']);
$G_FORM = new Form($table['PRO_UID'] . '/' . $gridId, PATH_DYNAFORM, SYS_LANG, false);
$gridFields = $G_FORM->getVars(false);
foreach ($gridFields as $gfield) {
if (!in_array($gfield['sName'], $tableFields)) {
$fieldsList[] = array(
'FIELD_UID' => $gfield['sName'] . '-' . $gfield['sType'],
'FIELD_NAME' => $gfield['sName']
);
}
}
}
$oHeadPublisher->assign('avFieldsList', $fieldsList);
}
$repTabPluginPermissions = false;
global $G_TMP_MENU;
$oMenu = new Menu();
$oMenu->load('setup');
foreach( $oMenu->Options as $i=>$option) {
if ($oMenu->Types[$i] == 'private' && $oMenu->Id[$i] == 'PLUGIN_REPTAB_PERMISSIONS') {
$repTabPluginPermissions = array();
$repTabPluginPermissions['label'] = $oMenu->Labels[$i];
$repTabPluginPermissions['fn'] = $oMenu->Options[$i];
break;
}
}
$oHeadPublisher->assign('_plugin_permissions', $repTabPluginPermissions);
$oHeadPublisher->assign('PRO_UID', isset($_GET['PRO_UID'])? $_GET['PRO_UID'] : false);
$oHeadPublisher->assign('TABLE', $table);
G::RenderPage('publish', 'extJs');

View File

@@ -0,0 +1,54 @@
<?php
/**
* main.php Cases List main processor
*
* ProcessMaker Open Source Edition
* Copyright (C) 2004 - 2008 Colosa Inc.23
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
* For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
* Coral Gables, FL, 33134, USA, or email info@colosa.com.
*
*/
/*$proUid = $_GET['PRO_UID'];
$oHeadPublisher =& headPublisher::getSingleton();
$oHeadPublisher->addExtJsScript('reportTables/main', true ); //adding a javascript file .js
$oHeadPublisher->addContent('reportTables/main'); //adding a html file .html.
$oHeadPublisher->assign('PRO_UID', $proUid);
G::RenderPage('publish', 'extJs');*/
global $RBAC;
$RBAC->requirePermissions('PM_SETUP_ADVANCE');
$G_PUBLISH = new Publisher;
G::LoadClass('configuration');
$c = new Configurations();
$configPage = $c->getConfiguration('additionalTablesList', 'pageSize','',$_SESSION['USER_LOGGED']);
$Config['pageSize'] = isset($configPage['pageSize']) ? $configPage['pageSize'] : 20;
$oHeadPublisher =& headPublisher::getSingleton();
//$oHeadPublisher->usingExtJs('ux/Ext.ux.fileUploadField');
$oHeadPublisher->addExtJsScript('reportTables/main', true); //adding a javascript file .js
$oHeadPublisher->addContent('reportTables/main'); //adding a html file .html.
$oHeadPublisher->assign('FORMATS',$c->getFormats());
$oHeadPublisher->assign('CONFIG', $Config);
$oHeadPublisher->assign('PRO_UID', isset($_GET['PRO_UID'])? $_GET['PRO_UID'] : false);
G::RenderPage('publish', 'extJs');

View File

@@ -1,9 +1,9 @@
<?php
/**
* triggers_Edit.php
* reportTables_Ajax.php
*
* ProcessMaker Open Source Edition
* Copyright (C) 2004 - 2008 Colosa Inc.23
* Copyright (C) 2004 - 2011 Colosa Inc.23
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
@@ -22,20 +22,513 @@
* Coral Gables, FL, 33134, USA, or email info@colosa.com.
*
*/
G::LoadClass('case');
switch($_POST['action']) {
case 'tableExists':
$action = $_REQUEST['action'];
unset($_POST['action']);
switch($action) {
case 'availableFieldsReportTables':
G::LoadClass('reportTables');
G::LoadClass('xmlfield_InputPM');
$aFields['FIELDS'] = array();
$aFields['PRO_UID'] = $_POST['PRO_UID'];
if(isset($_POST['TYPE']) && $_POST['TYPE'] == 'GRID') {
$aProcessGridFields = Array();
if (isset($_POST['GRID_UID'])) {
global $G_FORM;
list($gridName, $gridId) = explode('-', $_POST['GRID_UID']);
// $G_FORM = new Form($_POST['PRO_UID'] . '/' . $gridId, PATH_DYNAFORM, SYS_LANG, false);
//$gridFields = $G_FORM->getVars(false);
$gridFields = getGridDynafields($_POST['PRO_UID'], $gridId);
foreach ($gridFields as $gfield) {
$aProcessGridFields[] = array(
'FIELD_UID' => $gfield['name'] . '-' . $gfield['type'],
'FIELD_NAME' => $gfield['name']
);
}
} else {
$gridFields = getGridFields($aFields['PRO_UID']);
foreach ($gridFields as $gfield) {
$aProcessGridFields[] = array(
'FIELD_UID' => $gfield['name'] . '-' . $gfield['xmlform'],
'FIELD_NAME' => $gfield['name']
);
}
}
$resultList['processFields'] = $aProcessGridFields;
} else {
$aProcessFields = Array();
//$dynFields = getDynaformsVars($aFields['PRO_UID'], false);
$dynFields = getDynafields($aFields['PRO_UID']);
foreach ($dynFields as $dfield) {
$aProcessFields[] = array(
'FIELD_UID' => $dfield['name'] . '-' . $dfield['type'],
'FIELD_NAME' => $dfield['name']
);
}
$resultList['processFields'] = $aProcessFields;
}
echo G::json_encode($resultList);
break;
case 'fieldsList':
G::LoadClass('reportTables');
G::LoadClass('xmlfield_InputPM');
$aFields['FIELDS'] = array();
$oReportTable = new ReportTable();
$aFields = $oReportTable->load($_POST['REP_TAB_UID']);
$aTheFields = getDynaformsVars($aFields['PRO_UID'], false);
$oReportTables = new ReportTables();
$aVars = $oReportTables->getTableVars($_POST['REP_TAB_UID']);
$aFields['FIELDS'] = array();
foreach ($aTheFields as $aField) {
if (in_array($aField['sName'], $aVars)) {
$aResultFields[] = array('FIELD_UID' => $aField['sName'] . '-' . $aField['sType'],
'FIELD_NAME' => $aField['sName'],
'FIELD_DYNAFORM' => $aField['sName']);
}
}
$result->success = true;
$result->data=$aResultFields;
echo G::json_encode($result);
break;
case 'getDbConnectionsList':
G::LoadClass ( 'dbConnections');
$proUid = $_POST['PRO_UID'];
$dbConn = new DbConnections();
$dbConnections = $dbConn->getConnectionsProUid($proUid);
$defaultConnections = array (
array('DBS_UID'=>'workflow', 'DBS_NAME'=>'Workflow'),
array('DBS_UID'=>'rp', 'DBS_NAME'=>'REPORT')
);
echo G::json_encode(array_merge($defaultConnections, $dbConnections));
break;
case 'getProcessList':
require_once 'classes/model/Process.php';
$process = new Process();
echo G::json_encode($process->getAll());
break;
case 'save':
require_once 'classes/model/AdditionalTables.php';
require_once 'classes/model/Fields.php';
try {
$data = $_POST;
$data['columns'] = G::json_decode($_POST['columns']); //decofing data columns
// Reserved Words
$aReservedWords = array(
'ALTER', 'CLOSE', 'COMMIT', 'CREATE', 'DECLARE',
'DELETE', 'DROP', 'FETCH', 'FUNCTION', 'GRANT',
'INDEX', 'INSERT', 'OPEN', 'REVOKE', 'ROLLBACK',
'SELECT', 'SYNONYM', 'TABLE', 'UPDATE', 'VIEW',
'APP_UID', 'ROW'
);
$oAdditionalTables = new AdditionalTables();
$oFields = new Fields();
// verify if exists.
$aNameTable = $oAdditionalTables->loadByName($data['REP_TAB_NAME']);
$columns = $data['columns'];
//setting default columns
$defaultColumns = array();
$application = new stdClass(); //APPLICATION KEY
$application->field_name = 'APP_UID';
$application->field_label = 'APP_UID';
$application->field_type = 'VARCHAR';
$application->field_size = 32;
$application->field_dyn = '';
$application->field_key = 1;
$application->field_null = 0;
array_push($defaultColumns, $application);
$application = new stdClass(); //APP_NUMBER
$application->field_name = 'APP_NUMBER';
$application->field_label = 'APP_NUMBER';
$application->field_type = 'INT';
$application->field_size = 11;
$application->field_dyn = '';
$application->field_key = 1;
$application->field_null = 0;
array_push($defaultColumns, $application);
//if it is a grid report table
if ($data['REP_TAB_TYPE'] == 'GRID') { //GRID INDEX
$gridIndex = new stdClass();
$gridIndex->field_name = 'ROW';
$gridIndex->field_label = 'ROW';
$gridIndex->field_type = 'INT';
$gridIndex->field_size = '11';
$gridIndex->field_dyn = '';
$gridIndex->field_null = 0;
array_push($defaultColumns, $gridIndex);
}
$columns = array_merge($defaultColumns, $columns);
$repTabClassName = to_camel_case($data['REP_TAB_NAME']);
$repTabData = array(
'ADD_TAB_UID' => $data['REP_TAB_UID'],
'ADD_TAB_NAME' => $data['REP_TAB_NAME'],
'ADD_TAB_CLASS_NAME' => $repTabClassName,
'ADD_TAB_DESCRIPTION' => $data['REP_TAB_DSC'],
'ADD_TAB_PLG_UID' => '',
'DBS_UID' => $data['REP_TAB_CONNECTION'],
'PRO_UID' => $data['PRO_UID'],
'ADD_TAB_TYPE' => $data['REP_TAB_TYPE'],
'ADD_TAB_GRID' => $data['REP_TAB_GRID']
);
if ($data['REP_TAB_UID'] == '') { //new report table
/** validations **/
if(is_array($aNameTable)) {
throw new Exception('The table "' . $data['REP_TAB_NAME'] . '" already exits.');
}
if (in_array(strtoupper($data['REP_TAB_NAME']), $aReservedWords) ) {
throw new Exception('Could not create the table with the name "' . $data['REP_TAB_NAME'] . '" because it is a reserved word.');
}
//create record
$addTabUid = $oAdditionalTables->create($repTabData);
} else { //editing report table
$addTabUid = $data['REP_TAB_UID'];
//loading old data before update
$addTabBeforeData = $oAdditionalTables->load($addTabUid, true);
//updating record
$oAdditionalTables->update($repTabData);
//removing old data fields references
$oCriteria = new Criteria('workflow');
$oCriteria->add(ReportTablePeer::REP_TAB_NAME, $_POST['sTableName']);
$oDataset = ReportTablePeer::doSelectRS($oCriteria);
$oCriteria->add(FieldsPeer::ADD_TAB_UID, $data['REP_TAB_UID']);
$oCriteria->add(FieldsPeer::FLD_NAME, 'APP_UID', Criteria::NOT_EQUAL);
$oCriteria->add(FieldsPeer::FLD_NAME, 'ROW', Criteria::NOT_EQUAL);
FieldsPeer::doDelete($oCriteria);
//getting old fieldnames
$oldFields = array();
foreach ($addTabBeforeData['FIELDS'] as $field) {
if ($field['FLD_NAME'] == 'APP_UID' || $field['FLD_NAME'] == 'ROW') continue;
$oldFields[$field['FLD_UID']] = $field;
}
}
$aFields = array();
$fieldsList = array();
foreach ($columns as $i => $column) {
$field = array(
'FLD_UID' => $column->uid,
'FLD_INDEX' => $i,
'ADD_TAB_UID' => $addTabUid,
'FLD_NAME' => $column->field_name,
'FLD_DESCRIPTION' => $column->field_label,
'FLD_TYPE' => $column->field_type,
'FLD_SIZE' => $column->field_size,
'FLD_NULL' => isset($column->field_null) ? $column->field_null : 1,
'FLD_AUTO_INCREMENT' => 0,
'FLD_KEY' => isset($column->field_key) ? $column->field_key : 0,
'FLD_FOREIGN_KEY' => 0,
'FLD_FOREIGN_KEY_TABLE' => '',
'FLD_DYN_NAME' => $column->field_dyn,
'FLD_DYN_UID' => $column->field_uid,
'FLD_FILTER' => (isset($column->field_filter)? 1 : 0)
);
$fieldUid = $oFields->create($field);
array_push($fieldsList, $field);
if($data['REP_TAB_UID'] == '') { //new
$aFields[] = array(
'sType' => $column->field_type,
'iSize' => $column->field_size,
'sFieldName' => $column->field_name,
'bNull' => isset($column->field_null) ? $defaultColumns[1]->field_null : 1,
'bAI' => 0,
'bPrimaryKey' => isset($column->field_key) ? $defaultColumns[1]->field_key : 0
);
} else { //editing
$aFields[$fieldUid] = $field;
}
}
if ($data['REP_TAB_UID'] == '') { //create a new report table
$oAdditionalTables->createTable($data['REP_TAB_NAME'], $data['REP_TAB_CONNECTION'], $aFields);
} else { //editing
//print_R($aFields);
$oAdditionalTables->updateTable($data['REP_TAB_NAME'], $data['REP_TAB_CONNECTION'], $aFields, $oldFields);
}
$oAdditionalTables->createPropelClasses($data['REP_TAB_NAME'], $repTabClassName, $fieldsList, $addTabUid);
$oAdditionalTables->populateReportTable($data['REP_TAB_NAME'], $data['REP_TAB_CONNECTION'], $data['REP_TAB_TYPE'], $fieldsList, $data['PRO_UID'], $data['REP_TAB_GRID']);
$result->success = true;
} catch (Exception $e) {
$result->success = false;
$result->msg = $e->getMessage();
$result->trace = $e->getTraceAsString();
}
echo G::json_encode($result);
break;
case 'delete':
require_once 'classes/model/AdditionalTables.php';
G::LoadClass('reportTables');
$rows = G::json_decode($_REQUEST['rows']);
$rp = new reportTables();
$at = new AdditionalTables();
try {
foreach ($rows as $row ) {
if($row->type == 'CLASSIC') {
$rp->deleteReportTable($row->id);
} else {
$at->deleteAll($row->id);
}
}
$result->success = true;
} catch(Exception $e) {
$result->success = false;
$result->msg = $e->getMessage();
}
echo G::json_encode($result);
break;
case 'list':
require_once 'classes/model/AdditionalTables.php';
G::LoadClass('configuration');
G::LoadClass('processMap');
$configigurations = new Configurations();
$oProcessMap = new processMap();
$config = $configigurations->getConfiguration('additionalTablesList', 'pageSize','',$_SESSION['USER_LOGGED']);
$env = $configigurations->getConfiguration('ENVIRONMENT_SETTINGS', '');
$limit_size = isset($config['pageSize']) ? $config['pageSize'] : 20;
$start = isset($_REQUEST['start']) ? $_REQUEST['start'] : 0;
$limit = isset($_REQUEST['limit']) ? $_REQUEST['limit'] : $limit_size;
$filter = isset($_REQUEST['textFilter']) ? $_REQUEST['textFilter'] : '';
$pro_uid = isset($_REQUEST['pro_uid']) ? $_REQUEST['pro_uid'] : '';
$process = $pro_uid == '' ? array('not_equal'=>$pro_uid) : array('equal'=>$pro_uid);
$addTab = AdditionalTables::getAll($start, $limit, $filter, $process);
if ($pro_uid != '') {
$c = $oProcessMap->getReportTablesCriteria($pro_uid);
$oDataset = RoutePeer::doSelectRS($c);
$oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$reportTablesOldList = array();
while($oDataset->next()) {
$reportTablesOldList[] = $oDataset->getRow();
}
$addTab['count'] += count($reportTablesOldList);
foreach ($reportTablesOldList as $i => $oldRepTab) {
$addTab['rows'][] = array(
'ADD_TAB_UID' => $oldRepTab['REP_TAB_UID'],
'PRO_UID' => $oldRepTab['PRO_UID'],
'ADD_TAB_DESCRIPTION' => $oldRepTab['REP_TAB_TITLE'],
'ADD_TAB_NAME' => $oldRepTab['REP_TAB_NAME'],
'ADD_TAB_TYPE' => $oldRepTab['REP_TAB_TYPE'],
'TYPE' => 'CLASSIC'
);
}
}
echo G::json_encode($addTab);
break;
}
/**
* Translates a string with underscores into camel case (e.g. first_name -> firstName)
* @param string $str String in underscore format
* @param bool $capitalise_first_char If true, capitalise the first char in $str
* @return string $str translated into camel caps
*/
function to_camel_case($str, $capitalise_first_char = true) {
if($capitalise_first_char) {
$str[0] = strtoupper($str[0]);
}
$func = create_function('$c', 'return strtoupper($c[1]);');
return preg_replace_callback('/_([a-z])/', $func, $str);
}
function getDynafields($proUid, $type = 'xmlform')
{
require_once 'classes/model/Dynaform.php';
$fields = array();
$fieldsNames = array();
$oCriteria = new Criteria('workflow');
$oCriteria->addSelectColumn(DynaformPeer::DYN_FILENAME);
$oCriteria->add(DynaformPeer::PRO_UID, $proUid);
$oCriteria->add(DynaformPeer::DYN_TYPE, $type);
$oDataset = DynaformPeer::doSelectRS($oCriteria);
$oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$oDataset->next();
if ($aRow = $oDataset->getRow()) {
echo '0';
$excludeFieldsList = array('title', 'subtitle', 'link', 'file', 'button', 'reset', 'submit',
'listbox', 'checkgroup', 'grid', 'javascript');
$labelFieldsTypeList = array('dropdown', 'checkbox', 'radiogroup', 'yesno');
while ($aRow = $oDataset->getRow()) {
if (file_exists(PATH_DYNAFORM . PATH_SEP . $aRow['DYN_FILENAME'] . '.xml')) {
$G_FORM = new Form($aRow['DYN_FILENAME'], PATH_DYNAFORM, SYS_LANG);
if ($G_FORM->type == 'xmlform' || $G_FORM->type == '') {
foreach($G_FORM->fields as $fieldName => $fieldNode) {
if (!in_array($fieldNode->type, $excludeFieldsList) && !in_array($fieldName, $fieldsNames)) {
$fields[] = array('name' => $fieldName, 'type' => $fieldNode->type, 'label'=> $fieldNode->label);
$fieldsNames[] = $fieldName;
if (in_array($fieldNode->type, $labelFieldsTypeList) && !in_array($fieldName.'_label', $fieldsNames)) {
$fields[] = array('name' => $fieldName . '_label', 'type' => $fieldNode->type, 'label'=>$fieldNode->label . '_label');
$fieldsNames[] = $fieldName;
}
else {
echo '1';
}
break;
}
?>
}
}
}
$oDataset->next();
}
return $fields;
}
function getGridDynafields($proUid, $gridId)
{
$fields = array();
$fieldsNames = array();
$excludeFieldsList = array('title', 'subtitle', 'link', 'file', 'button', 'reset', 'submit',
'listbox', 'checkgroup', 'grid', 'javascript');
$labelFieldsTypeList = array('dropdown', 'checkbox', 'radiogroup', 'yesno');
$G_FORM = new Form($proUid . '/' . $gridId, PATH_DYNAFORM, SYS_LANG, false);
if ($G_FORM->type == 'grid') {
foreach($G_FORM->fields as $fieldName => $fieldNode) {
if (!in_array($fieldNode->type, $excludeFieldsList) && !in_array($fieldName, $fieldsNames)) {
$fields[] = array('name' => $fieldName, 'type' => $fieldNode->type, 'label'=> $fieldNode->label);
$fieldsNames[] = $fieldName;
if (in_array($fieldNode->type, $labelFieldsTypeList) && !in_array($fieldName.'_label', $fieldsNames)) {
$fields[] = array('name' => $fieldName . '_label', 'type' => $fieldNode->type, 'label'=>$fieldNode->label . '_label');
$fieldsNames[] = $fieldName;
}
}
}
}
return $fields;
}
function getGridFields($proUid)
{
$aFields = array();
$aFieldsNames = array();
require_once 'classes/model/Dynaform.php';
$oCriteria = new Criteria('workflow');
$oCriteria->addSelectColumn(DynaformPeer::DYN_FILENAME);
$oCriteria->add(DynaformPeer::PRO_UID, $proUid);
$oDataset = DynaformPeer::doSelectRS($oCriteria);
$oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$oDataset->next();
while ($aRow = $oDataset->getRow()) {
$G_FORM = new Form($aRow['DYN_FILENAME'], PATH_DYNAFORM, SYS_LANG);
if ($G_FORM->type == 'xmlform') {
foreach($G_FORM->fields as $k => $v) {
if ($v->type == 'grid') {
if (!in_array($k, $aFieldsNames)) {
$aFields[] = array('name' => $k, 'xmlform' => str_replace($proUid . '/', '', $v->xmlGrid));
$aFieldsNames[] = $k;
}
}
}
}
$oDataset->next();
}
return $aFields;
}
function getAllFields($filepath, $includeTypes=array(), $excludeTypes=array())
{
$G_FORM = new Form($filepath, PATH_DYNAFORM, SYS_LANG);
$fields = array();
$fieldsNames = array();
$labelFieldsTypeList = array('dropdown', 'checkbox', 'radiogroup', 'yesno');
if ($G_FORM->type == 'xmlform' || $G_FORM->type == '') {
foreach($G_FORM->fields as $fieldName => $fieldNode) {
if (!in_array($fieldNode->type, $excludeTypes)) {
continue;
}
if (count($includeTypes) > 0) {
if (in_array($fieldNode->type, $includeTypes) && !in_array($fieldName, $fieldsNames)) {
$fields[] = array('name' => $fieldName, 'type' => $fieldNode->type, 'label'=> $fieldNode->label);
$fieldsNames[] = $fieldName;
if (in_array($fieldNode->type, $labelFieldsTypeList) && !in_array($fieldName.'_label', $fieldsNames)) {
$fields[] = array('name' => $fieldName . '_label', 'type' => $fieldNode->type, 'label'=>$fieldNode->label . '_label');
$fieldsNames[] = $fieldName;
}
}
continue;
}
if (!in_array($fieldName, $fieldsNames)) {
$fields[] = array('name' => $fieldName, 'type' => $fieldNode->type, 'label'=> $fieldNode->label);
$fieldsNames[] = $fieldName;
if (in_array($fieldNode->type, $labelFieldsTypeList) && !in_array($fieldName.'_label', $fieldsNames)) {
$fields[] = array('name' => $fieldName . '_label', 'type' => $fieldNode->type, 'label'=>$fieldNode->label . '_label');
$fieldsNames[] = $fieldName;
}
}
}
}
return $fields;
}

View File

@@ -68,5 +68,5 @@ $_SESSION['_DBArray'] = $_DBArray;
$aFields['LANG'] = SYS_LANG;
$G_PUBLISH = new Publisher();
$G_PUBLISH->AddContent('xmlform', 'xmlform', 'reportTables/reportTables_Edit', '', $aFields, '../reportTables/reportTables_Save');
G::RenderPage('publish', 'raw');
G::RenderPage('publish', 'blank');
?>

View File

@@ -78,9 +78,9 @@ Ext.onReady(function(){
});
dataButton = new Ext.Action({
text: _('ID_DATA'),
text: '&nbsp;' + _('ID_DATA'),
iconCls: 'silk-add',
icon: '/images/cases-draft.png',
icon: '/images/icon-pmtables.png',
handler: PMTableData,
disabled: true
});
@@ -230,7 +230,7 @@ Ext.onReady(function(){
store: store,
cm: cmodel,
sm: smodel,
tbar:[newButton,'-', editButton, deleteButton,'-', dataButton,'-' , importButton, exportButton,{xtype: 'tbfill'},searchText,clearTextButton,searchButton],
tbar:[newButton, '-', editButton, deleteButton,'-', dataButton,'-' , importButton, exportButton,{xtype: 'tbfill'},searchText,clearTextButton,searchButton],
bbar: bbarpaging,
listeners: {
rowdblclick: PMTableData,
@@ -289,6 +289,10 @@ NewPMTable = function(){
location.href = 'additionalTablesNew';
};
newReportTable = function(){
location.href = '../reportTables/new';
};
//Load PM Table Edition Forms
EditPMTable = function(){
iGrid = Ext.getCmp('infoGrid');

View File

@@ -0,0 +1,69 @@
<html>
<header>
<style type="text/css">
/*!
* Ext JS Library 3.3.3
* Copyright(c) 2006-2011 Sencha Inc.
* licensing@sencha.com
* http://www.sencha.com/license
*/
.ext-ie .x-row-editor .x-form-text {
margin:0 !important;
}
.x-row-editor-header {
height:2px;
overflow:hidden;
background: transparent url(../images/row-editor-bg.gif) repeat-x 0 0;
}
.x-row-editor-footer {
height:2px;
overflow:hidden;
background: transparent url(../images/row-editor-bg.gif) repeat-x 0 -2px;
}
.ext-ie .x-row-editor-footer {
margin-top:-1px;
}
.x-row-editor-body {
overflow:hidden;
zoom:1;
background: #ebf2fb;
padding-top:2px;
}
.x-row-editor .x-btns {
position:absolute;
top:28px;
left:20px;
padding-left:5px;
background: transparent url(../images/row-editor-btns.gif) no-repeat 0 0;
}
.x-row-editor .x-btns .x-plain-bwrap {
padding-right:5px;
background: transparent url(../images/row-editor-btns.gif) no-repeat right -31px;
}
.x-row-editor .x-btns .x-plain-body {
background: transparent url(../images/row-editor-btns.gif) repeat-x 0 -62px;
height:31px;
}
.x-row-editor .x-btns .x-table-layout-cell {
padding:3px;
}
/* Fixes for IE6/7 trigger fields */
.ext-ie6 .x-row-editor .x-form-field-wrap .x-form-trigger, .ext-ie7 .x-row-editor .x-form-field-wrap .x-form-trigger {
top: 1px;
}
.ext-ie6 .x-row-editor .x-form-field-trigger-wrap, .ext-ie7 .x-row-editor .x-form-field-trigger-wrap {
margin-top: -1px;
}
.errorTip .x-tip-body ul{
list-style-type:disc;
margin-left:15px;
}
</style>
</header>
</html>

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,3 @@
<div style="padding: 15px">
<div id="list-panel"></div>
</div>

View File

@@ -0,0 +1,492 @@
/*
* @author: Qennix
* Jan 10th, 2011
*/
//Keyboard Events
new Ext.KeyMap(document, {
key: Ext.EventObject.F5,
fn: function(keycode, e) {
if (! e.ctrlKey) {
if (Ext.isIE) {
// IE6 doesn't allow cancellation of the F5 key, so trick it into
// thinking some other key was pressed (backspace in this case)
e.browserEvent.keyCode = 8;
}
e.stopEvent();
document.location = document.location;
}else{
Ext.Msg.alert('Refresh', 'You clicked: CTRL-F5');
}
}
});
var newButton;
var newReportTableButton;
var editButton;
var deleteButton;
var importButton;
var exportButton;
var dataButton;
var store;
var expander;
var cmodel;
var infoGrid;
var viewport;
var smodel;
var rowsSelected;
Ext.onReady(function(){
Ext.QuickTips.init();
pageSize = parseInt(CONFIG.pageSize);
newButton = new Ext.Action({
text: _('ID_NEW_ADD_TABLE'),
iconCls: 'button_menu_ext ss_sprite ss_add',
handler: NewPMTable
});
newReportTableButton = new Ext.Action({
text: 'New',
//iconCls: 'button_menu_ext ss_sprite ss_add',
icon: '/images/addc.png',
handler: newReportTable
});
editButton = new Ext.Action({
text: _('ID_EDIT'),
//iconCls: 'button_menu_ext ss_sprite ss_pencil',
icon: '/images/icon-edit.png',
handler: EditPMTable,
disabled: true
});
deleteButton = new Ext.Action({
text: _('ID_DELETE'),
//iconCls: 'button_menu_ext ss_sprite ss_delete',
icon: '/images/delete-16x16.gif',
handler: DeletePMTable,
disabled: true
});
importButton = new Ext.Action({
text: _('ID_IMPORT'),
iconCls: 'silk-add',
icon: '/images/import.gif',
handler: ImportPMTable
});
exportButton = new Ext.Action({
text: _('ID_EXPORT'),
iconCls: 'silk-add',
icon: '/images/export.png',
handler: ExportPMTable,
disabled: true
});
dataButton = new Ext.Action({
text: '&nbsp;' + _('ID_DATA'),
iconCls: 'silk-add',
icon: '/images/icon-pmtables.png',
handler: PMTableData,
disabled: true
});
searchButton = new Ext.Action({
text: _('ID_SEARCH'),
handler: DoSearch
});
contextMenu = new Ext.menu.Menu({
items: [
editButton,
deleteButton
//dataButton,'-',
//exportButton
]
});
searchText = new Ext.form.TextField ({
id: 'searchTxt',
ctCls:'pm_search_text_field',
allowBlank: true,
width: 150,
emptyText: _('ID_ENTER_SEARCH_TERM'),
listeners: {
specialkey: function(f,e){
if (e.getKey() == e.ENTER) {
DoSearch();
}
},
focus: function(f,e) {
var row = infoGrid.getSelectionModel().getSelected();
infoGrid.getSelectionModel().deselectRow(infoGrid.getStore().indexOf(row));
}
}
});
clearTextButton = new Ext.Action({
text: 'X',
ctCls:'pm_search_x_button',
handler: GridByDefault
});
clearTextButton1 = new Ext.Action({
text: 'X',
ctCls:'pm_search_x_button',
handler: GridByDefault1
});
storePageSize = new Ext.data.SimpleStore({
fields: ['size'],
data: [['20'],['30'],['40'],['50'],['100']],
autoLoad: true
});
comboPageSize = new Ext.form.ComboBox({
typeAhead : false,
mode : 'local',
triggerAction : 'all',
store: storePageSize,
valueField: 'size',
displayField: 'size',
width: 50,
editable: false,
listeners:{
select: function(c,d,i){
UpdatePageConfig(d.data['size']);
bbarpaging.pageSize = parseInt(d.data['size']);
bbarpaging.moveFirst();
}
}
});
comboPageSize.setValue(pageSize);
cmodelColumns = new Array();
cmodelColumns.push({id:'ADD_TAB_UID', dataIndex: 'ADD_TAB_UID', hidden:true, hideable:false});
cmodelColumns.push({header: _('ID_NAME'), dataIndex: 'ADD_TAB_NAME', width: 300, align:'left', renderer: function(v,p,r){
return r.get('TYPE') == 'CLASSIC'? v + '&nbsp<span style="font-size:9px; color:green">(old version)</font>' : v;
}});
cmodelColumns.push({header: _('ID_DESCRIPTION'), dataIndex: 'ADD_TAB_DESCRIPTION', width: 400, hidden:false, align:'left'});
if (PRO_UID === false) {
cmodelColumns.push({header: _('ID_PROCESS'), dataIndex: 'PRO_TITLE', width: 300, align:'left'});
}
cmodelColumns.push({header: _('ID_TYPE'), dataIndex: 'ADD_TAB_TYPE', width: 400, hidden:true, align:'left'});
cmodelColumns.push({header: _('ID_TYPE'), dataIndex: 'ADD_TAB_TYPE', width: 150, hidden:false, align:'left'});
cmodel = new Ext.grid.ColumnModel({
defaults: {
width: 50,
sortable: true
},
columns: cmodelColumns
});
store = new Ext.data.GroupingStore( {
proxy : new Ext.data.HttpProxy({
url: 'reportTables_Ajax?action=list' + (PRO_UID !== false ? '&pro_uid=' + PRO_UID : '')
}),
reader : new Ext.data.JsonReader({
root: 'rows',
totalProperty: 'count',
fields : [
{name : 'ADD_TAB_UID'},
{name : 'ADD_TAB_NAME'},
{name : 'ADD_TAB_DESCRIPTION'},
{name : 'PRO_TITLE'},
{name : 'TYPE'},
{name : 'ADD_TAB_TYPE'}
]
})
});
smodel = new Ext.grid.CheckboxSelectionModel({
listeners:{
selectionchange: function(sm){
var count_rows = sm.getCount();
switch(count_rows){
case 0:
editButton.disable();
deleteButton.disable();
exportButton.disable();
dataButton.disable();
break;
case 1:
editButton.enable();
deleteButton.enable();
exportButton.enable();
dataButton.enable();
break;
default:
editButton.disable();
deleteButton.enable();
exportButton.enable();
dataButton.disable();
break;
}
}
}
});
bbarpaging = new Ext.PagingToolbar({
pageSize: pageSize,
store: store,
displayInfo: true,
displayMsg: _('ID_GRID_PAGE_DISPLAYING_PMTABLES_MESSAGE') + '&nbsp; &nbsp; ',
emptyMsg: _('ID_GRID_PAGE_NO_PMTABLES_MESSAGE'),
items: ['-',_('ID_PAGE_SIZE')+':',comboPageSize]
});
processStore = new Ext.data.Store( {
autoLoad: true,
proxy : new Ext.data.HttpProxy({
url: '../reportTables/reportTables_Ajax',
method : 'POST'
}),
baseParams : {
action: 'getProcessList'
},
reader : new Ext.data.JsonReader( {
fields : [{name : 'PRO_UID'}, {name : 'PRO_TITLE'},{name : 'PRO_DESCRIPTION'}]
}),
listeners: {}
});
processComboBox = new Ext.form.ComboBox({
id: 'PROCESS',
fieldLabel : 'Process',
hiddenName : 'PRO_UID',
store : processStore,
emptyText: 'Select a process',
valueField : 'PRO_UID',
displayField : 'PRO_TITLE',
//width: 180,
editable : true,
typeAhead: true,
mode: 'local',
autocomplete: true,
triggerAction: 'all',
forceSelection: false,
listeners:{
select: doSearchByProcess
}
});
tbar = new Array();
tbar.push(newReportTableButton);
tbar.push('-');
tbar.push(editButton);
tbar.push(deleteButton)
tbar.push('-');
//dataButton,'-' ,
tbar.push({xtype: 'tbfill'})
if (PRO_UID === false) {
tbar.push('process');
tbar.push(processComboBox);
tbar.push(clearTextButton1);
}
tbar.push('-');
tbar.push(searchText);
tbar.push(clearTextButton);
tbar.push(searchButton);
infoGrid = new Ext.grid.GridPanel({
region: 'center',
layout: 'fit',
id: 'infoGrid',
height:100,
autoWidth : true,
title : _('ID_REPORT_TABLES'),
stateful : true,
stateId : 'grid',
enableColumnResize: true,
enableHdMenu: true,
frame:false,
columnLines: false,
viewConfig: {
forceFit:true
},
store: store,
cm: cmodel,
sm: smodel,
tbar: tbar,
bbar: bbarpaging,
listeners: {
rowdblclick: EditPMTable,
render: function(){
this.loadMask = new Ext.LoadMask(this.body, {msg:_('ID_LOADING_GRID')});
}
},
view: new Ext.grid.GroupingView({
forceFit:true,
groupTextTpl: '{text}'
})
});
infoGrid.on('rowcontextmenu',
function (grid, rowIndex, evt) {
var sm = grid.getSelectionModel();
sm.selectRow(rowIndex, sm.isSelected(rowIndex));
},
this
);
infoGrid.on('contextmenu', function(evt){evt.preventDefault();}, this);
infoGrid.addListener('rowcontextmenu',onMessageContextMenu, this);
infoGrid.store.load();
viewport = new Ext.Viewport({
layout: 'fit',
autoScroll: false,
items: [
infoGrid
]
});
});
//Funtion Handles Context Menu Opening
onMessageContextMenu = function (grid, rowIndex, e) {
e.stopEvent();
var coords = e.getXY();
contextMenu.showAt([coords[0], coords[1]]);
};
/////JS FUNCTIONS
//Capitalize String Function
capitalize = function(s){
s = s.toLowerCase();
return s.replace( /(^|\s)([a-z])/g , function(m,p1,p2){ return p1+p2.toUpperCase(); } );
};
//Do Nothing Function
DoNothing = function(){};
//Load New PM Table Forms
NewPMTable = function(){
location.href = 'additionalTablesNew';
};
newReportTable = function(){
if(PRO_UID !== false)
location.href = '../reportTables/edit?PRO_UID='+PRO_UID;
else
location.href = '../reportTables/edit';
};
//Load PM Table Edition Forms
EditPMTable = function(){
iGrid = Ext.getCmp('infoGrid');
row = iGrid.getSelectionModel().getSelected();
if (row.data.TYPE != 'CLASSIC') {
if(PRO_UID !== false)
location.href = 'edit?PRO_UID='+PRO_UID+'&id='+row.data.ADD_TAB_UID
else
location.href = 'edit?id='+row.data.ADD_TAB_UID
} else { //old rep tab
location.href = '../reportTables/reportTables_Edit?REP_TAB_UID='+row.data.ADD_TAB_UID
}
};
//Confirm PM Table Deletion Tasks
DeletePMTable = function(){
iGrid = Ext.getCmp('infoGrid');
rowsSelected = iGrid.getSelectionModel().getSelections();
var selections = new Array();
for(i=0; i<rowsSelected.length; i++){
selections[i] = {id: rowsSelected[i].get('ADD_TAB_UID'), type: rowsSelected[i].get('TYPE')};
}
Ext.Msg.confirm(_('ID_CONFIRM'), _('ID_CONFIRM_DELETE_PM_TABLE'),
function(btn, text){
if (btn=="yes"){
Ext.Ajax.request({
url: 'reportTables_Ajax',
params: {
action: 'delete',
rows: Ext.util.JSON.encode(selections)
},
success: function(resp){
result = Ext.util.JSON.decode(resp.responseText);
if (result.success) {
iGrid.getStore().reload();
PMExt.notify('DELETION SUCCESSFULLY', 'All records was deleted successfully!');
} else {
Ext.Msg.alert( _('ID_ERROR'), result.msg);
}
},
failure: function(obj, resp){
Ext.Msg.alert( _('ID_ERROR'), resp.result.msg);
}
});
}
});
};
//Load Import PM Table Form
ImportPMTable = function(){
location.href = 'additionalTablesToImport';
};
//Load Export PM Tables Form
ExportPMTable = function(){
iGrid = Ext.getCmp('infoGrid');
rowsSelected = iGrid.getSelectionModel().getSelections();
location.href = 'additionalTablesToExport?sUID='+RetrieveRowsID(rowsSelected)+'&rand='+Math.random();
};
//Load PM TAble Data
PMTableData = function(){
iGrid = Ext.getCmp('infoGrid');
rowsSelected = iGrid.getSelectionModel().getSelections();
location.href = 'additionalTablesData?sUID='+RetrieveRowsID(rowsSelected)+'&rand='+Math.random();
};
//Gets UIDs from a array of rows
RetrieveRowsID = function(rows){
var arrAux = new Array();
for(var c=0; c<rows.length; c++){
arrAux[c] = rows[c].get('ADD_TAB_UID');
}
return arrAux.join(',');
};
//Update Page Size Configuration
UpdatePageConfig = function(pageSize){
Ext.Ajax.request({
url: 'additionalTablesAjax',
params: {action:'updatePageSize', size: pageSize}
});
};
//Do Search Function
DoSearch = function(){
infoGrid.store.load({params: {textFilter: searchText.getValue()}});
};
//Do Search by process
doSearchByProcess = function(){
infoGrid.store.load({params: {pro_uid: Ext.getCmp('PROCESS').getValue()}});
};
//Load Grid By Default
GridByDefault = function(){
searchText.reset();
infoGrid.store.load();
};
GridByDefault1 = function(){
Ext.getCmp('PROCESS').setValue('');
infoGrid.store.load();
};

View File

@@ -0,0 +1,42 @@
<html>
<style>
.Footer{
font :normal 8pt sans-serif,Tahoma,MiscFixed !important;
color :#000 !important;
height :0px !important;
text-align :center !important;
}
.Footer .content{
color :black !important;
padding :0px !important;
}
</style>
<body onresize="autoResizeScreen()" onload="autoResizeScreen()">
<iframe name="frameMain" id="frameMain" src ="../reportTables/mainInit?PRO_UID=<?php echo $_GET['gui']?>" width="99%" height="200" frameborder="0">
<p>Your browser does not support iframes.</p>
</iframe>
</body>
<script>
oClientWinSize = getClientWindowSize();
h = getStyle(document.getElementById('pm_menu'),'top');
h = h.replace("px", "");
h = parseInt(h) + 18;
if ( document.getElementById('pm_submenu') )
document.getElementById('pm_submenu').style.display = 'none';
document.documentElement.style.overflowY = 'hidden';
function autoResizeScreen() {
oCasesFrame = document.getElementById('frameMain');
oClientWinSize = getClientWindowSize();
height = oClientWinSize.height-105;
oCasesFrame.style.height = height;
//oCasesSubFrame = oCasesFrame.contentWindow.document.getElementById('casesSubFrame');
//oCasesSubFrame.style.height = height-10;
}
function getStyle(targetElement,styleProp) {
if (targetElement) {
if (targetElement.currentStyle) return targetElement.currentStyle[styleProp];
else if (window.getComputedStyle) return document.defaultView.getComputedStyle(targetElement,null).getPropertyValue(styleProp);
}
}
</script>
</html>

View File

@@ -32,7 +32,7 @@ SELECT * FROM processFields
<en>Fields</en>
</FIELDS>
<BTN_CANCEL type="button" onclick="cancel();">
<BTN_CANCEL type="button" onclick="history.back();">
<en>Cancel</en>
</BTN_CANCEL>
@@ -89,6 +89,73 @@ function cancel(){
currentPopupWindow.remove();
}
//////
function reportTablesSave(form)
{
var bContinue = true;
if (getField('REP_TAB_TITLE').value == '') {
bContinue = false;
}
if (getField('REP_TAB_NAME').value == '') {
bContinue = false;
}
var j = 0;
if (getField('REP_TAB_TYPE').value == 'NORMAL') {
var i;
var oAux = getField('FIELDS');
var iMax = oAux.length;
for (i = 0; i < oAux.length; i++) {
if (oAux.options[i].selected) {
j++;
}
}
if ((j < 1) || (j > 80)) {
bContinue = false;
}
}
else {
if (getField('REP_TAB_GRID').value == '') {
bContinue = false;
}
}
if (bContinue) {
ajax_post(form.action, form, 'POST');
//currentPopupWindow.remove();
//@#PAGED_TABLE_ID.refresh();
history.back();
}
else {
if (getField('REP_TAB_TYPE').value == 'NORMAL') {
if (j == 0) {
new leimnud.module.app.alert().make({
label:'@G::LoadTranslation(ID_PLEASE_ENTER_REQUIRED_FIELDS)'
});
}
else {
new leimnud.module.app.alert().make({
label:'@G::LoadTranslation(ID_PLEASE_SELECT_MAX_X_FIELDS)'
});
}
}
else {
new leimnud.module.app.alert().make({
label:'@G::LoadTranslation(ID_PLEASE_ENTER_REQUIRED_FIELDS)'
});
}
}
}
function reportTablesDelete(sUID)
{
new leimnud.module.app.confirm().make({
label:'@G::LoadTranslation(ID_MSG_CONFIRM_DELETE_REPORT_TABLE)',
action:function()
{
ajax_function('@G::encryptlink(@#reportTablesDelete)', '', 'REP_TAB_UID=' + sUID, 'POST');
//@#PAGED_TABLE_ID.refresh();
}.extend(this)
});
}
]]></JS>
</dynaForm>

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<dynaForm sqlConnection="" menu="reportTables/reportTables_Options" width="100%" rowsPerPage="10">
<!--<dynaForm sqlConnection="" width="100%" rowsPerPage="10">-->
<REP_TAB_UID type="hidden" showInTable="0"/>
<REP_TAB_TITLE type="text" colWidth="350" titleAlign="left" align="left">

Binary file not shown.

After

Width:  |  Height:  |  Size: 437 B