Merged in marcoAntonioNina/processmaker/BUG-14636 (pull request #772)
BUG-14636 New Functionality - To allow set index in tables SOLVED
This commit is contained in:
@@ -182,7 +182,7 @@ class PmTable
|
||||
* Build the pmTable with all dependencies
|
||||
*/
|
||||
public function build ()
|
||||
{
|
||||
{
|
||||
$this->prepare();
|
||||
$this->preparePropelIniFile();
|
||||
$this->buildSchema();
|
||||
@@ -273,6 +273,10 @@ class PmTable
|
||||
break;
|
||||
}
|
||||
|
||||
$indexNode = $this->dom->createElement( 'index' );
|
||||
$indexNode->setAttribute( 'name', 'indexTable' );
|
||||
$flag = false;
|
||||
|
||||
foreach ($this->columns as $column) {
|
||||
|
||||
// create the column node
|
||||
@@ -296,9 +300,20 @@ class PmTable
|
||||
if ($column->field_autoincrement) {
|
||||
$columnNode->setAttribute( 'autoIncrement', "true" );
|
||||
}
|
||||
|
||||
// define the Index attribute if it is defined
|
||||
if ($column->field_index) {
|
||||
$columnNode->setAttribute( 'index', "true" );
|
||||
$indexColumnNode = $this->dom->createElement( 'index-column' );
|
||||
$indexColumnNode->setAttribute( 'name', $column->field_name );
|
||||
$indexNode->appendChild( $indexColumnNode );
|
||||
$flag = true;
|
||||
}
|
||||
$tableNode->appendChild( $columnNode );
|
||||
}
|
||||
|
||||
if ($flag) {
|
||||
$tableNode->appendChild( $indexNode );
|
||||
}
|
||||
$xpath = new DOMXPath( $this->dom );
|
||||
$xtable = $xpath->query( '/database/table[@name="' . $this->tableName . '"]' );
|
||||
|
||||
@@ -377,7 +392,7 @@ class PmTable
|
||||
* Save the xml schema for propel
|
||||
*/
|
||||
public function saveSchema ()
|
||||
{
|
||||
{
|
||||
$this->dom->save( $this->configDir . $this->schemaFilename );
|
||||
}
|
||||
|
||||
|
||||
@@ -97,6 +97,7 @@ class AdditionalTables extends BaseAdditionalTables
|
||||
$oCriteria->addSelectColumn(FieldsPeer::FLD_NULL);
|
||||
$oCriteria->addSelectColumn(FieldsPeer::FLD_AUTO_INCREMENT);
|
||||
$oCriteria->addSelectColumn(FieldsPeer::FLD_KEY);
|
||||
$oCriteria->addSelectColumn(FieldsPeer::FLD_TABLE_INDEX);
|
||||
$oCriteria->addSelectColumn(FieldsPeer::FLD_FOREIGN_KEY);
|
||||
$oCriteria->addSelectColumn(FieldsPeer::FLD_FOREIGN_KEY_TABLE);
|
||||
$oCriteria->addSelectColumn(FieldsPeer::FLD_DYN_NAME);
|
||||
|
||||
@@ -85,7 +85,9 @@ class FieldsMapBuilder
|
||||
|
||||
$tMap->addColumn('FLD_KEY', 'FldKey', 'int', CreoleTypes::TINYINT, true, null);
|
||||
|
||||
$tMap->addColumn('FLD_FOREIGN_KEY', 'FldForeignKey', 'int', CreoleTypes::TINYINT, true, null);
|
||||
$tMap->addColumn('FLD_TABLE_INDEX', 'FldTableIndex', 'int', CreoleTypes::TINYINT, true, null);
|
||||
|
||||
$tMap->addColumn('FLD_FOREIGN_KEY', 'FldForeignKey', 'int', CreoleTypes::TINYINT, false, null);
|
||||
|
||||
$tMap->addColumn('FLD_FOREIGN_KEY_TABLE', 'FldForeignKeyTable', 'string', CreoleTypes::VARCHAR, true, 32);
|
||||
|
||||
|
||||
@@ -87,6 +87,12 @@ abstract class BaseFields extends BaseObject implements Persistent
|
||||
*/
|
||||
protected $fld_key = 0;
|
||||
|
||||
/**
|
||||
* The value for the fld_table_index field.
|
||||
* @var int
|
||||
*/
|
||||
protected $fld_table_index = 0;
|
||||
|
||||
/**
|
||||
* The value for the fld_foreign_key field.
|
||||
* @var int
|
||||
@@ -241,6 +247,17 @@ abstract class BaseFields extends BaseObject implements Persistent
|
||||
return $this->fld_key;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the [fld_table_index] column value.
|
||||
*
|
||||
* @return int
|
||||
*/
|
||||
public function getFldTableIndex()
|
||||
{
|
||||
|
||||
return $this->fld_table_index;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the [fld_foreign_key] column value.
|
||||
*
|
||||
@@ -516,6 +533,28 @@ abstract class BaseFields extends BaseObject implements Persistent
|
||||
|
||||
} // setFldKey()
|
||||
|
||||
/**
|
||||
* Set the value of [fld_table_index] column.
|
||||
*
|
||||
* @param int $v new value
|
||||
* @return void
|
||||
*/
|
||||
public function setFldTableIndex($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_table_index !== $v || $v === 0) {
|
||||
$this->fld_table_index = $v;
|
||||
$this->modifiedColumns[] = FieldsPeer::FLD_TABLE_INDEX;
|
||||
}
|
||||
|
||||
} // setFldTableIndex()
|
||||
|
||||
/**
|
||||
* Set the value of [fld_foreign_key] column.
|
||||
*
|
||||
@@ -663,22 +702,24 @@ abstract class BaseFields extends BaseObject implements Persistent
|
||||
|
||||
$this->fld_key = $rs->getInt($startcol + 9);
|
||||
|
||||
$this->fld_foreign_key = $rs->getInt($startcol + 10);
|
||||
$this->fld_table_index = $rs->getInt($startcol + 10);
|
||||
|
||||
$this->fld_foreign_key_table = $rs->getString($startcol + 11);
|
||||
$this->fld_foreign_key = $rs->getInt($startcol + 11);
|
||||
|
||||
$this->fld_dyn_name = $rs->getString($startcol + 12);
|
||||
$this->fld_foreign_key_table = $rs->getString($startcol + 12);
|
||||
|
||||
$this->fld_dyn_uid = $rs->getString($startcol + 13);
|
||||
$this->fld_dyn_name = $rs->getString($startcol + 13);
|
||||
|
||||
$this->fld_filter = $rs->getInt($startcol + 14);
|
||||
$this->fld_dyn_uid = $rs->getString($startcol + 14);
|
||||
|
||||
$this->fld_filter = $rs->getInt($startcol + 15);
|
||||
|
||||
$this->resetModified();
|
||||
|
||||
$this->setNew(false);
|
||||
|
||||
// FIXME - using NUM_COLUMNS may be clearer.
|
||||
return $startcol + 15; // 15 = FieldsPeer::NUM_COLUMNS - FieldsPeer::NUM_LAZY_LOAD_COLUMNS).
|
||||
return $startcol + 16; // 16 = FieldsPeer::NUM_COLUMNS - FieldsPeer::NUM_LAZY_LOAD_COLUMNS).
|
||||
|
||||
} catch (Exception $e) {
|
||||
throw new PropelException("Error populating Fields object", $e);
|
||||
@@ -913,18 +954,21 @@ abstract class BaseFields extends BaseObject implements Persistent
|
||||
return $this->getFldKey();
|
||||
break;
|
||||
case 10:
|
||||
return $this->getFldForeignKey();
|
||||
return $this->getFldTableIndex();
|
||||
break;
|
||||
case 11:
|
||||
return $this->getFldForeignKeyTable();
|
||||
return $this->getFldForeignKey();
|
||||
break;
|
||||
case 12:
|
||||
return $this->getFldDynName();
|
||||
return $this->getFldForeignKeyTable();
|
||||
break;
|
||||
case 13:
|
||||
return $this->getFldDynUid();
|
||||
return $this->getFldDynName();
|
||||
break;
|
||||
case 14:
|
||||
return $this->getFldDynUid();
|
||||
break;
|
||||
case 15:
|
||||
return $this->getFldFilter();
|
||||
break;
|
||||
default:
|
||||
@@ -957,11 +1001,12 @@ abstract class BaseFields extends BaseObject implements Persistent
|
||||
$keys[7] => $this->getFldNull(),
|
||||
$keys[8] => $this->getFldAutoIncrement(),
|
||||
$keys[9] => $this->getFldKey(),
|
||||
$keys[10] => $this->getFldForeignKey(),
|
||||
$keys[11] => $this->getFldForeignKeyTable(),
|
||||
$keys[12] => $this->getFldDynName(),
|
||||
$keys[13] => $this->getFldDynUid(),
|
||||
$keys[14] => $this->getFldFilter(),
|
||||
$keys[10] => $this->getFldTableIndex(),
|
||||
$keys[11] => $this->getFldForeignKey(),
|
||||
$keys[12] => $this->getFldForeignKeyTable(),
|
||||
$keys[13] => $this->getFldDynName(),
|
||||
$keys[14] => $this->getFldDynUid(),
|
||||
$keys[15] => $this->getFldFilter(),
|
||||
);
|
||||
return $result;
|
||||
}
|
||||
@@ -1024,18 +1069,21 @@ abstract class BaseFields extends BaseObject implements Persistent
|
||||
$this->setFldKey($value);
|
||||
break;
|
||||
case 10:
|
||||
$this->setFldForeignKey($value);
|
||||
$this->setFldTableIndex($value);
|
||||
break;
|
||||
case 11:
|
||||
$this->setFldForeignKeyTable($value);
|
||||
$this->setFldForeignKey($value);
|
||||
break;
|
||||
case 12:
|
||||
$this->setFldDynName($value);
|
||||
$this->setFldForeignKeyTable($value);
|
||||
break;
|
||||
case 13:
|
||||
$this->setFldDynUid($value);
|
||||
$this->setFldDynName($value);
|
||||
break;
|
||||
case 14:
|
||||
$this->setFldDynUid($value);
|
||||
break;
|
||||
case 15:
|
||||
$this->setFldFilter($value);
|
||||
break;
|
||||
} // switch()
|
||||
@@ -1102,23 +1150,27 @@ abstract class BaseFields extends BaseObject implements Persistent
|
||||
}
|
||||
|
||||
if (array_key_exists($keys[10], $arr)) {
|
||||
$this->setFldForeignKey($arr[$keys[10]]);
|
||||
$this->setFldTableIndex($arr[$keys[10]]);
|
||||
}
|
||||
|
||||
if (array_key_exists($keys[11], $arr)) {
|
||||
$this->setFldForeignKeyTable($arr[$keys[11]]);
|
||||
$this->setFldForeignKey($arr[$keys[11]]);
|
||||
}
|
||||
|
||||
if (array_key_exists($keys[12], $arr)) {
|
||||
$this->setFldDynName($arr[$keys[12]]);
|
||||
$this->setFldForeignKeyTable($arr[$keys[12]]);
|
||||
}
|
||||
|
||||
if (array_key_exists($keys[13], $arr)) {
|
||||
$this->setFldDynUid($arr[$keys[13]]);
|
||||
$this->setFldDynName($arr[$keys[13]]);
|
||||
}
|
||||
|
||||
if (array_key_exists($keys[14], $arr)) {
|
||||
$this->setFldFilter($arr[$keys[14]]);
|
||||
$this->setFldDynUid($arr[$keys[14]]);
|
||||
}
|
||||
|
||||
if (array_key_exists($keys[15], $arr)) {
|
||||
$this->setFldFilter($arr[$keys[15]]);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1172,6 +1224,10 @@ abstract class BaseFields extends BaseObject implements Persistent
|
||||
$criteria->add(FieldsPeer::FLD_KEY, $this->fld_key);
|
||||
}
|
||||
|
||||
if ($this->isColumnModified(FieldsPeer::FLD_TABLE_INDEX)) {
|
||||
$criteria->add(FieldsPeer::FLD_TABLE_INDEX, $this->fld_table_index);
|
||||
}
|
||||
|
||||
if ($this->isColumnModified(FieldsPeer::FLD_FOREIGN_KEY)) {
|
||||
$criteria->add(FieldsPeer::FLD_FOREIGN_KEY, $this->fld_foreign_key);
|
||||
}
|
||||
@@ -1264,6 +1320,8 @@ abstract class BaseFields extends BaseObject implements Persistent
|
||||
|
||||
$copyObj->setFldKey($this->fld_key);
|
||||
|
||||
$copyObj->setFldTableIndex($this->fld_table_index);
|
||||
|
||||
$copyObj->setFldForeignKey($this->fld_foreign_key);
|
||||
|
||||
$copyObj->setFldForeignKeyTable($this->fld_foreign_key_table);
|
||||
|
||||
@@ -25,7 +25,7 @@ abstract class BaseFieldsPeer
|
||||
const CLASS_DEFAULT = 'classes.model.Fields';
|
||||
|
||||
/** The total number of columns. */
|
||||
const NUM_COLUMNS = 15;
|
||||
const NUM_COLUMNS = 16;
|
||||
|
||||
/** The number of lazy-loaded columns. */
|
||||
const NUM_LAZY_LOAD_COLUMNS = 0;
|
||||
@@ -61,6 +61,9 @@ abstract class BaseFieldsPeer
|
||||
/** the column name for the FLD_KEY field */
|
||||
const FLD_KEY = 'FIELDS.FLD_KEY';
|
||||
|
||||
/** the column name for the FLD_TABLE_INDEX field */
|
||||
const FLD_TABLE_INDEX = 'FIELDS.FLD_TABLE_INDEX';
|
||||
|
||||
/** the column name for the FLD_FOREIGN_KEY field */
|
||||
const FLD_FOREIGN_KEY = 'FIELDS.FLD_FOREIGN_KEY';
|
||||
|
||||
@@ -87,10 +90,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', '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, )
|
||||
BasePeer::TYPE_PHPNAME => array ('FldUid', 'AddTabUid', 'FldIndex', 'FldName', 'FldDescription', 'FldType', 'FldSize', 'FldNull', 'FldAutoIncrement', 'FldKey', 'FldTableIndex', '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_TABLE_INDEX, 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_TABLE_INDEX', '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, 15, )
|
||||
);
|
||||
|
||||
/**
|
||||
@@ -100,10 +103,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, '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, )
|
||||
BasePeer::TYPE_PHPNAME => array ('FldUid' => 0, 'AddTabUid' => 1, 'FldIndex' => 2, 'FldName' => 3, 'FldDescription' => 4, 'FldType' => 5, 'FldSize' => 6, 'FldNull' => 7, 'FldAutoIncrement' => 8, 'FldKey' => 9, 'FldTableIndex' => 10, 'FldForeignKey' => 11, 'FldForeignKeyTable' => 12, 'FldDynName' => 13, 'FldDynUid' => 14, 'FldFilter' => 15, ),
|
||||
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_TABLE_INDEX => 10, FieldsPeer::FLD_FOREIGN_KEY => 11, FieldsPeer::FLD_FOREIGN_KEY_TABLE => 12, FieldsPeer::FLD_DYN_NAME => 13, FieldsPeer::FLD_DYN_UID => 14, FieldsPeer::FLD_FILTER => 15, ),
|
||||
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_TABLE_INDEX' => 10, 'FLD_FOREIGN_KEY' => 11, 'FLD_FOREIGN_KEY_TABLE' => 12, 'FLD_DYN_NAME' => 13, 'FLD_DYN_UID' => 14, 'FLD_FILTER' => 15, ),
|
||||
BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, )
|
||||
);
|
||||
|
||||
/**
|
||||
@@ -224,6 +227,8 @@ abstract class BaseFieldsPeer
|
||||
|
||||
$criteria->addSelectColumn(FieldsPeer::FLD_KEY);
|
||||
|
||||
$criteria->addSelectColumn(FieldsPeer::FLD_TABLE_INDEX);
|
||||
|
||||
$criteria->addSelectColumn(FieldsPeer::FLD_FOREIGN_KEY);
|
||||
|
||||
$criteria->addSelectColumn(FieldsPeer::FLD_FOREIGN_KEY_TABLE);
|
||||
|
||||
@@ -348,7 +348,7 @@ abstract class BaseHolidayPeer
|
||||
$criteria = $values->buildCriteria(); // build Criteria from Holiday object
|
||||
}
|
||||
|
||||
$criteria->remove(HolidayPeer::HLD_UID); // remove pkey col since this table uses auto-increment
|
||||
//$criteria->remove(HolidayPeer::HLD_UID); // remove pkey col since this table uses auto-increment
|
||||
|
||||
|
||||
// Set the correct dbName
|
||||
|
||||
@@ -2171,21 +2171,22 @@
|
||||
<parameter name="Create_options" value=""/>
|
||||
<parameter name="Comment" value=""/>
|
||||
</vendor>
|
||||
<column name="FLD_UID" type="VARCHAR" size="32" required="true" primaryKey="true" default=""/>
|
||||
<column name="ADD_TAB_UID" type="VARCHAR" size="32" required="true" default=""/>
|
||||
<column name="FLD_INDEX" type="INTEGER" required="true" default="1"/>
|
||||
<column name="FLD_NAME" type="VARCHAR" size="60" required="true" default=""/>
|
||||
<column name="FLD_DESCRIPTION" type="LONGVARCHAR" required="true"/>
|
||||
<column name="FLD_TYPE" type="VARCHAR" size="20" required="true" default=""/>
|
||||
<column name="FLD_SIZE" type="INTEGER" required="false" default="0"/>
|
||||
<column name="FLD_NULL" type="TINYINT" required="true" default="1"/>
|
||||
<column name="FLD_AUTO_INCREMENT" type="TINYINT" required="true" default="0"/>
|
||||
<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"/>
|
||||
<column name="FLD_UID" type="VARCHAR" size="32" required="true" primaryKey="true" default=""/>
|
||||
<column name="ADD_TAB_UID" type="VARCHAR" size="32" required="true" default=""/>
|
||||
<column name="FLD_INDEX" type="INTEGER" required="true" default="1"/>
|
||||
<column name="FLD_NAME" type="VARCHAR" size="60" required="true" default=""/>
|
||||
<column name="FLD_DESCRIPTION" type="LONGVARCHAR" required="true"/>
|
||||
<column name="FLD_TYPE" type="VARCHAR" size="20" required="true" default=""/>
|
||||
<column name="FLD_SIZE" type="INTEGER" required="false" default="0"/>
|
||||
<column name="FLD_NULL" type="TINYINT" required="true" default="1"/>
|
||||
<column name="FLD_AUTO_INCREMENT" type="TINYINT" required="true" default="0"/>
|
||||
<column name="FLD_KEY" type="TINYINT" required="true" default="0"/>
|
||||
<column name="FLD_TABLE_INDEX" type="TINYINT" required="true" default="0"/>
|
||||
<column name="FLD_FOREIGN_KEY" type="TINYINT" required="false" 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">
|
||||
|
||||
@@ -311,7 +311,23 @@ class pmTablesProxy extends HttpProxyController
|
||||
|
||||
// Updating pmtable fields
|
||||
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 == '' ? null : $column->field_size,'FLD_NULL' => $column->field_null ? 1 : 0,'FLD_AUTO_INCREMENT' => $column->field_autoincrement ? 1 : 0,'FLD_KEY' => $column->field_key ? 1 : 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 ) && $column->field_filter) ? 1 : 0
|
||||
$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 == '' ? null : $column->field_size,
|
||||
'FLD_NULL' => $column->field_null ? 1 : 0,
|
||||
'FLD_AUTO_INCREMENT' => $column->field_autoincrement ? 1 : 0,
|
||||
'FLD_KEY' => $column->field_key ? 1 : 0,
|
||||
'FLD_TABLE_INDEX' => $column->field_index ? 1 : 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 ) && $column->field_filter) ? 1 : 0
|
||||
);
|
||||
$oFields->create( $field );
|
||||
}
|
||||
|
||||
@@ -160,6 +160,12 @@ Ext.onReady(function(){
|
||||
hidden: true,
|
||||
hideable:false
|
||||
},
|
||||
{
|
||||
id: 'field_index',
|
||||
dataIndex: 'field_index',
|
||||
hidden: true,
|
||||
hideable:false
|
||||
},
|
||||
{
|
||||
id: 'field_null',
|
||||
dataIndex: 'field_null',
|
||||
@@ -238,10 +244,11 @@ Ext.onReady(function(){
|
||||
|
||||
var fieldNull = Ext.getCmp("field_null");
|
||||
var fieldPrimaryKey = Ext.getCmp("field_primary_key");
|
||||
var fieldIndex = Ext.getCmp("field_index");
|
||||
var fieldInc = Ext.getCmp("field_incre");
|
||||
var sizeEdit = Ext.getCmp("sizeEdit");
|
||||
|
||||
editorFieldsEnableDisable(selCombo, fieldNull, fieldPrimaryKey, fieldInc, sizeEdit);
|
||||
editorFieldsEnableDisable(selCombo, fieldNull, fieldPrimaryKey, fieldIndex, fieldInc, sizeEdit);
|
||||
|
||||
flagShowMessageError = 1;
|
||||
}
|
||||
@@ -297,6 +304,20 @@ Ext.onReady(function(){
|
||||
disabled: true,
|
||||
inputValue: 'always'
|
||||
}
|
||||
}, {
|
||||
xtype: 'booleancolumn',
|
||||
header: _('ID_INDEX'),
|
||||
dataIndex: 'field_index',
|
||||
align: 'center',
|
||||
width: 80,
|
||||
trueText: _('ID_YES'),
|
||||
falseText: _('ID_NO'),
|
||||
editor: {
|
||||
xtype: 'checkbox',
|
||||
id: 'field_index',
|
||||
disabled: true,
|
||||
inputValue: 'always'
|
||||
}
|
||||
}
|
||||
];
|
||||
|
||||
@@ -331,6 +352,7 @@ Ext.onReady(function(){
|
||||
{name: 'uid', type: 'string'},
|
||||
{name: 'field_uid', type: 'string'},
|
||||
{name: 'field_key', type: 'string'},
|
||||
{name: 'field_index', type: 'string'},
|
||||
{name: 'field_name', type: 'string'},
|
||||
{name: 'field_label', type: 'string'},
|
||||
{name: 'field_type'},
|
||||
@@ -393,10 +415,11 @@ Ext.onReady(function(){
|
||||
var fieldTypeValue = Ext.getCmp("fieldType").getValue();
|
||||
var fieldNull = Ext.getCmp("field_null");
|
||||
var fieldPrimaryKey = Ext.getCmp("field_primary_key");
|
||||
var fieldIndex = Ext.getCmp("field_index");
|
||||
var fieldInc = Ext.getCmp("field_incre");
|
||||
var sizeEdit = Ext.getCmp("sizeEdit");
|
||||
|
||||
editorFieldsEnableDisable(fieldTypeValue, fieldNull, fieldPrimaryKey, fieldInc, sizeEdit);
|
||||
editorFieldsEnableDisable(fieldTypeValue, fieldNull, fieldPrimaryKey, fieldIndex, fieldInc, sizeEdit);
|
||||
},
|
||||
250
|
||||
);
|
||||
@@ -407,7 +430,10 @@ Ext.onReady(function(){
|
||||
//if a column was set as PK so can't be null
|
||||
if (row.get('field_key') == true) {
|
||||
row.data.field_null = false;
|
||||
}
|
||||
|
||||
if (row.get('field_index') == true) {
|
||||
row.data.field_null = false;
|
||||
}
|
||||
row.commit();
|
||||
}
|
||||
@@ -838,6 +864,10 @@ function createReportTable()
|
||||
return false;
|
||||
}
|
||||
|
||||
if (row.data['field_index']) {
|
||||
hasSomeIndex = true;
|
||||
}
|
||||
|
||||
if (row.data['field_key']) {
|
||||
hasSomePrimaryKey = true;
|
||||
}
|
||||
@@ -939,6 +969,7 @@ function addColumn() {
|
||||
field_type : '',
|
||||
field_size : '',
|
||||
field_key : 0,
|
||||
field_index : 0,
|
||||
field_null : 1
|
||||
});
|
||||
var len = assignedGrid.getStore().data.length;
|
||||
@@ -968,18 +999,20 @@ function removeColumn()
|
||||
});
|
||||
}
|
||||
|
||||
function editorFieldsEnableDisable(fieldTypeValue, fieldNull, fieldPrimaryKey, fieldInc, sizeEdit)
|
||||
function editorFieldsEnableDisable(fieldTypeValue, fieldNull, fieldPrimaryKey, fieldIndex, fieldInc, sizeEdit)
|
||||
{
|
||||
var swSize = 1; //Enable
|
||||
var swNull = 1;
|
||||
var swPK = 1;
|
||||
var swAI = 1;
|
||||
var swI = 1;
|
||||
|
||||
//Date
|
||||
if (fieldTypeValue == "DATE" || fieldTypeValue == "DATETIME" || fieldTypeValue == "TIME") {
|
||||
swSize = 0; //Disable
|
||||
swPK = 0;
|
||||
swAI = 0;
|
||||
swI = 0;
|
||||
}
|
||||
|
||||
//Numbers
|
||||
@@ -994,12 +1027,14 @@ function editorFieldsEnableDisable(fieldTypeValue, fieldNull, fieldPrimaryKey, f
|
||||
if (fieldTypeValue == "DECIMAL" || fieldTypeValue == "FLOAT") {
|
||||
swPK = 0;
|
||||
swAI = 0;
|
||||
swI = 0;
|
||||
}
|
||||
|
||||
if (fieldTypeValue == "DOUBLE" || fieldTypeValue == "REAL") {
|
||||
swSize = 0;
|
||||
swPK = 0;
|
||||
swAI = 0;
|
||||
swI = 0;
|
||||
}
|
||||
|
||||
//String
|
||||
@@ -1010,6 +1045,7 @@ function editorFieldsEnableDisable(fieldTypeValue, fieldNull, fieldPrimaryKey, f
|
||||
if (fieldTypeValue == "LONGVARCHAR") {
|
||||
swPK = 0;
|
||||
swAI = 0;
|
||||
swI = 0;
|
||||
}
|
||||
|
||||
//Boolean
|
||||
@@ -1018,6 +1054,7 @@ function editorFieldsEnableDisable(fieldTypeValue, fieldNull, fieldPrimaryKey, f
|
||||
swNull = 0;
|
||||
swPK = 0;
|
||||
swAI = 0;
|
||||
swI = 0;
|
||||
}
|
||||
|
||||
//Set enable/disable
|
||||
@@ -1035,6 +1072,13 @@ function editorFieldsEnableDisable(fieldTypeValue, fieldNull, fieldPrimaryKey, f
|
||||
fieldPrimaryKey.setValue(false);
|
||||
}
|
||||
|
||||
if (swI == 1) {
|
||||
fieldIndex.enable();
|
||||
} else {
|
||||
fieldIndex.disable();
|
||||
fieldIndex.setValue(false);
|
||||
}
|
||||
|
||||
if (swAI == 1) {
|
||||
fieldInc.enable();
|
||||
} else {
|
||||
@@ -1067,14 +1111,15 @@ AssignFieldsAction = function(){
|
||||
var meta = mapPMFieldType(records[i].data['FIELD_UID']);
|
||||
var row = new PMRow({
|
||||
uid : '',
|
||||
field_uid : records[i].data['FIELD_UID'],
|
||||
field_dyn : records[i].data['FIELD_NAME'],
|
||||
field_name : records[i].data['FIELD_NAME'].toUpperCase(),
|
||||
field_label : records[i].data['FIELD_NAME'].toUpperCase(),
|
||||
field_type : meta.type,
|
||||
field_size : meta.size,
|
||||
field_key : 0,
|
||||
field_null : 1
|
||||
field_uid : records[i].data['FIELD_UID'],
|
||||
field_dyn : records[i].data['FIELD_NAME'],
|
||||
field_name : records[i].data['FIELD_NAME'].toUpperCase(),
|
||||
field_label : records[i].data['FIELD_NAME'].toUpperCase(),
|
||||
field_type : meta.type,
|
||||
field_size : meta.size,
|
||||
field_key : 0,
|
||||
field_index : 0,
|
||||
field_null : 1
|
||||
});
|
||||
|
||||
store.add(row);
|
||||
@@ -1124,6 +1169,7 @@ AssignAllFieldsAction = function(){
|
||||
field_type : meta.type,
|
||||
field_size : meta.size,
|
||||
field_key : 0,
|
||||
field_index : 0,
|
||||
field_null : 1
|
||||
});
|
||||
|
||||
@@ -1207,6 +1253,7 @@ var DDLoadFields = function(){
|
||||
field_type : meta.type,
|
||||
field_size : meta.size,
|
||||
field_key : 0,
|
||||
field_index : 0,
|
||||
field_null : 1
|
||||
});
|
||||
|
||||
@@ -1223,25 +1270,25 @@ var DDLoadFields = function(){
|
||||
|
||||
function loadTableRowsFromArray(records)
|
||||
{
|
||||
var PMRow = assignedGrid.getStore().recordType;
|
||||
if (records.length == 0) return;
|
||||
|
||||
for (i=0;i<records.length; i++) {
|
||||
var row = new PMRow({
|
||||
uid : records[i].FLD_UID,
|
||||
field_uid : records[i].FLD_DYN_UID,
|
||||
field_dyn : records[i].FLD_DYN_NAME,
|
||||
field_name : records[i].FLD_NAME,
|
||||
field_label: records[i].FLD_DESCRIPTION,
|
||||
field_type : records[i].FLD_TYPE,
|
||||
field_size : records[i].FLD_SIZE,
|
||||
field_key : records[i].FLD_KEY == '1' ? true : false,
|
||||
field_null : records[i].FLD_NULL == '1' ? true : false,
|
||||
field_autoincrement : records[i].FLD_AUTO_INCREMENT == '1' ? true : false,
|
||||
field_filter: records[i].FLD_FILTER == '1' ? true : false
|
||||
});
|
||||
store.add(row);
|
||||
}
|
||||
var PMRow = assignedGrid.getStore().recordType;
|
||||
if (records.length == 0) return;
|
||||
for (i=0;i<records.length; i++) {
|
||||
var row = new PMRow({
|
||||
uid : records[i].FLD_UID,
|
||||
field_uid : records[i].FLD_DYN_UID,
|
||||
field_dyn : records[i].FLD_DYN_NAME,
|
||||
field_name : records[i].FLD_NAME,
|
||||
field_label : records[i].FLD_DESCRIPTION,
|
||||
field_type : records[i].FLD_TYPE,
|
||||
field_size : records[i].FLD_SIZE,
|
||||
field_key : records[i].FLD_KEY == '1' ? true : false,
|
||||
field_index : records[i].FLD_TABLE_INDEX == '1' ? true : false,
|
||||
field_null : records[i].FLD_NULL == '1' ? true : false,
|
||||
field_autoincrement : records[i].FLD_AUTO_INCREMENT == '1' ? true : false,
|
||||
field_filter : records[i].FLD_FILTER == '1' ? true : false
|
||||
});
|
||||
store.add(row);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -262,125 +262,138 @@ Ext.onReady(function(){
|
||||
});
|
||||
|
||||
|
||||
//columns for table columns grid
|
||||
var cmColumns = [
|
||||
{
|
||||
id: 'uid',
|
||||
dataIndex: 'uid',
|
||||
hidden: true,
|
||||
hideable:false
|
||||
},
|
||||
{
|
||||
dataIndex: '_index',
|
||||
hidden: true,
|
||||
hideable:false
|
||||
},
|
||||
{
|
||||
dataIndex: '_isset',
|
||||
hidden: true,
|
||||
hideable:false
|
||||
},
|
||||
{
|
||||
id: 'field_uid',
|
||||
dataIndex: 'field_uid',
|
||||
hidden: true,
|
||||
hideable:false
|
||||
},
|
||||
{
|
||||
id: 'field_key',
|
||||
dataIndex: 'field_key',
|
||||
hidden: true,
|
||||
hideable:false
|
||||
},
|
||||
{
|
||||
id: 'field_null',
|
||||
dataIndex: 'field_null',
|
||||
hidden: true,
|
||||
hideable:false
|
||||
},
|
||||
{
|
||||
id: 'field_dyn',
|
||||
header: _("ID_DYNAFORM_FIELD"),
|
||||
dataIndex: 'field_dyn',
|
||||
width: 220,
|
||||
// use shorthand alias defined above
|
||||
editor: {
|
||||
xtype: 'displayfield',
|
||||
style: 'font-size:11px; padding-left:7px'
|
||||
}
|
||||
}, {
|
||||
id: 'field_name',
|
||||
header: _("ID_FIELD_NAME"),
|
||||
dataIndex: 'field_name',
|
||||
width: 220,
|
||||
editor: {
|
||||
xtype: 'textfield',
|
||||
allowBlank: true,
|
||||
listeners:{
|
||||
change: function(f,e){
|
||||
this.setValue(this.getValue().toUpperCase());
|
||||
//columns for table columns grid
|
||||
var cmColumns = [
|
||||
{
|
||||
id: 'uid',
|
||||
dataIndex: 'uid',
|
||||
hidden: true,
|
||||
hideable:false
|
||||
},
|
||||
{
|
||||
dataIndex: '_index',
|
||||
hidden: true,
|
||||
hideable:false
|
||||
},
|
||||
{
|
||||
dataIndex: '_isset',
|
||||
hidden: true,
|
||||
hideable:false
|
||||
},
|
||||
{
|
||||
id: 'field_uid',
|
||||
dataIndex: 'field_uid',
|
||||
hidden: true,
|
||||
hideable:false
|
||||
},
|
||||
{
|
||||
id: 'field_key',
|
||||
dataIndex: 'field_key',
|
||||
hidden: true,
|
||||
hideable:false
|
||||
},
|
||||
{
|
||||
id: 'field_index',
|
||||
dataIndex: 'field_index',
|
||||
hidden: true,
|
||||
hideable:false
|
||||
},
|
||||
{
|
||||
id: 'field_null',
|
||||
dataIndex: 'field_null',
|
||||
hidden: true,
|
||||
hideable:false
|
||||
},
|
||||
{
|
||||
id: 'field_dyn',
|
||||
header: _("ID_DYNAFORM_FIELD"),
|
||||
dataIndex: 'field_dyn',
|
||||
width: 220,
|
||||
// use shorthand alias defined above
|
||||
editor: {
|
||||
xtype: 'displayfield',
|
||||
style: 'font-size:11px; padding-left:7px'
|
||||
}
|
||||
}, {
|
||||
id: 'field_name',
|
||||
header: _("ID_FIELD_NAME"),
|
||||
dataIndex: 'field_name',
|
||||
width: 220,
|
||||
editor: {
|
||||
xtype: 'textfield',
|
||||
allowBlank: true,
|
||||
listeners:{
|
||||
change: function(f,e){
|
||||
this.setValue(this.getValue().toUpperCase());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}, {
|
||||
id: 'field_label',
|
||||
header: _("ID_FIELD_LABEL"),
|
||||
dataIndex: 'field_label',
|
||||
width: 220,
|
||||
editor:{
|
||||
xtype: 'textfield',
|
||||
allowBlank: true
|
||||
}
|
||||
}, {
|
||||
id: 'field_type',
|
||||
header: _("ID_TYPE"),
|
||||
dataIndex: 'field_type',
|
||||
width: 105,
|
||||
editor: new fm.ComboBox({
|
||||
typeAhead: true,
|
||||
triggerAction: 'all',
|
||||
editable: false,
|
||||
lazyRender: true,
|
||||
mode: 'local',
|
||||
displayField:'type',
|
||||
valueField:'type_id',
|
||||
store: new Ext.data.SimpleStore({
|
||||
fields: ['type_id', 'type'],
|
||||
//data : [['VARCHAR',_("ID_VARCHAR")],['TEXT',_("ID_TEXT")],['DATE',_("ID_DATE")],['INT',_("ID_INT")],['FLOAT',_("ID_FLOAT")]],
|
||||
data: columnsTypes,
|
||||
sortInfo: {field:'type_id', direction:'ASC'}
|
||||
}),
|
||||
listeners: {
|
||||
beforerender: function (combo)
|
||||
{
|
||||
if (combo.getValue() == "" && combo.store.getAt(0)) {
|
||||
combo.setValue(combo.store.getAt(0).get(combo.valueField));
|
||||
}
|
||||
},
|
||||
beforeshow: function (combo)
|
||||
{
|
||||
if (combo.getValue() == "" && combo.store.getAt(0)) {
|
||||
combo.setValue(combo.store.getAt(0).get(combo.valueField));
|
||||
}
|
||||
},
|
||||
'select': function(combo, row, index) {
|
||||
if (cm && cm instanceof Ext.grid.ColumnModel) {
|
||||
}, {
|
||||
id: 'field_label',
|
||||
header: _("ID_FIELD_LABEL"),
|
||||
dataIndex: 'field_label',
|
||||
width: 220,
|
||||
editor:{
|
||||
xtype: 'textfield',
|
||||
allowBlank: true
|
||||
}
|
||||
}, {
|
||||
id: 'field_type',
|
||||
header: _("ID_TYPE"),
|
||||
dataIndex: 'field_type',
|
||||
width: 105,
|
||||
editor: new fm.ComboBox({
|
||||
typeAhead: true,
|
||||
triggerAction: 'all',
|
||||
editable: false,
|
||||
lazyRender: true,
|
||||
mode: 'local',
|
||||
displayField:'type',
|
||||
valueField:'type_id',
|
||||
store: new Ext.data.SimpleStore({
|
||||
fields: ['type_id', 'type'],
|
||||
//data : [['VARCHAR',_("ID_VARCHAR")],['TEXT',_("ID_TEXT")],['DATE',_("ID_DATE")],['INT',_("ID_INT")],['FLOAT',_("ID_FLOAT")]],
|
||||
data: columnsTypes,
|
||||
sortInfo: {field:'type_id', direction:'ASC'}
|
||||
}),
|
||||
listeners: {
|
||||
beforerender: function (combo)
|
||||
{
|
||||
if (combo.getValue() == "" && combo.store.getAt(0)) {
|
||||
combo.setValue(combo.store.getAt(0).get(combo.valueField));
|
||||
}
|
||||
},
|
||||
beforeshow: function (combo)
|
||||
{
|
||||
if (combo.getValue() == "" && combo.store.getAt(0)) {
|
||||
combo.setValue(combo.store.getAt(0).get(combo.valueField));
|
||||
}
|
||||
},
|
||||
'select': function(combo, row, index) {
|
||||
if (cm && cm instanceof Ext.grid.ColumnModel) {
|
||||
var valueCombo = combo.getValue();
|
||||
var changeValue = !(valueCombo === assignedGrid.getSelectionModel().getSelected().get('field_type'));
|
||||
validateFieldSizeAutoincrement(valueCombo, changeValue);
|
||||
var fieldTypeValue = combo.getValue();
|
||||
var fieldIndex = Ext.getCmp("field_index");
|
||||
var fieldInc = Ext.getCmp("field_incre");
|
||||
var sizeEdit = Ext.getCmp("sizeEdit");
|
||||
|
||||
editorFieldsEnableDisable(fieldTypeValue, fieldIndex, fieldInc, sizeEdit);
|
||||
|
||||
flagShowMessageError = 1;
|
||||
}
|
||||
}//select
|
||||
}
|
||||
})
|
||||
}, {
|
||||
id: 'field_size',
|
||||
header: _("ID_SIZE"),
|
||||
dataIndex: 'field_size',
|
||||
width: 50,
|
||||
align: 'right',
|
||||
editor: sizeField
|
||||
}, {
|
||||
}
|
||||
}//select
|
||||
}
|
||||
})
|
||||
}, {
|
||||
id: 'field_size',
|
||||
header: _("ID_SIZE"),
|
||||
dataIndex: 'field_size',
|
||||
width: 50,
|
||||
align: 'right',
|
||||
editor: sizeField
|
||||
}, {
|
||||
|
||||
xtype: 'booleancolumn',
|
||||
header: _('ID_AUTO_INCREMENT'),
|
||||
@@ -395,7 +408,21 @@ Ext.onReady(function(){
|
||||
disabled: true,
|
||||
inputValue: 'always'
|
||||
}
|
||||
}
|
||||
}, {
|
||||
xtype: 'booleancolumn',
|
||||
header: _('ID_INDEX'),
|
||||
dataIndex: 'field_index',
|
||||
align: 'center',
|
||||
width: 80,
|
||||
trueText: _('ID_YES'),
|
||||
falseText: _('ID_NO'),
|
||||
editor: {
|
||||
xtype: 'checkbox',
|
||||
id: 'field_index',
|
||||
disabled: true,
|
||||
inputValue: 'always'
|
||||
}
|
||||
}
|
||||
];
|
||||
|
||||
function validateFieldSizeAutoincrement(valueType, defaultValue) {
|
||||
@@ -470,6 +497,7 @@ function validateFieldSizeAutoincrement(valueType, defaultValue) {
|
||||
{name: '_isset'},
|
||||
{name: 'field_uid', type: 'string'},
|
||||
{name: 'field_key', type: 'string'},
|
||||
{name: 'field_index', type: 'string'},
|
||||
{name: 'field_name', type: 'string'},
|
||||
{name: 'field_label', type: 'string'},
|
||||
{name: 'field_type'},
|
||||
@@ -528,11 +556,23 @@ function validateFieldSizeAutoincrement(valueType, defaultValue) {
|
||||
//
|
||||
},
|
||||
beforeedit: function(roweditor, rowIndex) {
|
||||
row = assignedGrid.getSelectionModel().getSelected();
|
||||
if (row.get('field_name') == 'APP_UID' || row.get('field_name') == 'APP_NUMBER' || row.get('field_name') == 'ROW') {
|
||||
editor.stopEditing();
|
||||
return false;
|
||||
}
|
||||
row = assignedGrid.getSelectionModel().getSelected();
|
||||
if (row.get('field_name') == 'APP_UID' || row.get('field_name') == 'APP_NUMBER' || row.get('field_name') == 'ROW') {
|
||||
editor.stopEditing();
|
||||
return false;
|
||||
}
|
||||
setTimeout(
|
||||
function ()
|
||||
{
|
||||
var fieldTypeValue = row.get('field_type');
|
||||
var fieldIndex = Ext.getCmp("field_index");
|
||||
var fieldInc = Ext.getCmp("field_incre");
|
||||
var sizeEdit = Ext.getCmp("sizeEdit");
|
||||
|
||||
editorFieldsEnableDisable(fieldTypeValue, fieldIndex, fieldInc, sizeEdit);
|
||||
},
|
||||
250
|
||||
);
|
||||
}
|
||||
});
|
||||
|
||||
@@ -1169,14 +1209,15 @@ function addColumn()
|
||||
|
||||
var PMRow = assignedGrid.getStore().recordType;
|
||||
var row = new PMRow({
|
||||
uid : '',
|
||||
field_uid : '',
|
||||
field_dyn : '',
|
||||
uid : '',
|
||||
field_uid : '',
|
||||
field_dyn : '',
|
||||
field_name : '',
|
||||
field_label : '',
|
||||
field_type : '',
|
||||
field_size : '',
|
||||
field_key : 0,
|
||||
field_index : 0,
|
||||
field_null : 1
|
||||
});
|
||||
var len = assignedGrid.getStore().data.length;
|
||||
@@ -1196,6 +1237,93 @@ function removeColumn()
|
||||
});
|
||||
}
|
||||
|
||||
function editorFieldsEnableDisable(fieldTypeValue, fieldIndex, fieldInc, sizeEdit)
|
||||
{
|
||||
var swSize = 1; //Enable
|
||||
var swNull = 1;
|
||||
var swPK = 1;
|
||||
var swAI = 1;
|
||||
var swI = 1;
|
||||
|
||||
//Date
|
||||
if (fieldTypeValue == "DATE" || fieldTypeValue == "DATETIME" || fieldTypeValue == "TIME") {
|
||||
swSize = 0; //Disable
|
||||
swPK = 0;
|
||||
swAI = 0;
|
||||
swI = 0;
|
||||
}
|
||||
|
||||
//Numbers
|
||||
if (fieldTypeValue == "INTEGER" || fieldTypeValue == "BIGINT") {
|
||||
//Enable All
|
||||
}
|
||||
|
||||
if (fieldTypeValue == "TINYINT" || fieldTypeValue == "SMALLINT") {
|
||||
swSize = 0;
|
||||
}
|
||||
|
||||
if (fieldTypeValue == "DECIMAL" || fieldTypeValue == "FLOAT") {
|
||||
swPK = 0;
|
||||
swAI = 0;
|
||||
swI = 0;
|
||||
}
|
||||
|
||||
if (fieldTypeValue == "DOUBLE" || fieldTypeValue == "REAL") {
|
||||
swSize = 0;
|
||||
swPK = 0;
|
||||
swAI = 0;
|
||||
swI = 0;
|
||||
}
|
||||
|
||||
//String
|
||||
if (fieldTypeValue == "CHAR" || fieldTypeValue == "VARCHAR") {
|
||||
swAI = 0;
|
||||
}
|
||||
|
||||
if (fieldTypeValue == "LONGVARCHAR") {
|
||||
swPK = 0;
|
||||
swAI = 0;
|
||||
swI = 0;
|
||||
}
|
||||
|
||||
//Boolean
|
||||
if (fieldTypeValue == "BOOLEAN") {
|
||||
swSize = 0;
|
||||
swNull = 0;
|
||||
swPK = 0;
|
||||
swAI = 0;
|
||||
swI = 0;
|
||||
}
|
||||
|
||||
if (swI == 1) {
|
||||
fieldIndex.enable();
|
||||
} else {
|
||||
fieldIndex.disable();
|
||||
fieldIndex.setValue(false);
|
||||
}
|
||||
|
||||
if (swAI == 1) {
|
||||
fieldInc.enable();
|
||||
} else {
|
||||
fieldInc.disable();
|
||||
fieldInc.setValue(false);
|
||||
}
|
||||
|
||||
if (swSize == 1) {
|
||||
sizeEdit.enable();
|
||||
|
||||
if (fieldTypeValue == "CHAR" || fieldTypeValue == "VARCHAR" || fieldTypeValue == "LONGVARCHAR") {
|
||||
sizeEdit.setMaxValue(((fieldTypeValue == "CHAR") ? 255 : 999));
|
||||
sizeEdit.getEl().dom.maxLength = 3;
|
||||
} else {
|
||||
sizeEdit.setMaxValue(99);
|
||||
sizeEdit.getEl().dom.maxLength = 2;
|
||||
}
|
||||
} else {
|
||||
sizeEdit.disable();
|
||||
sizeEdit.setValue("");
|
||||
}
|
||||
}
|
||||
////ASSIGNBUTON FUNCTIONALITY
|
||||
AssignFieldsAction = function(){
|
||||
records = Ext.getCmp('availableGrid').getSelectionModel().getSelections();
|
||||
@@ -1342,18 +1470,19 @@ function setReportFields(records) {
|
||||
typeField = 'INTEGER';
|
||||
}
|
||||
var row = new PMRow({
|
||||
uid : '',
|
||||
_index : records[i].data['_index'] !== '' ? records[i].data['_index'] : records[i].data['FIELD_DYN'],
|
||||
field_uid : records[i].data['FIELD_UID'],
|
||||
field_dyn : records[i].data['FIELD_NAME'],
|
||||
field_name : records[i].data['FIELD_NAME'].toUpperCase(),
|
||||
field_label : records[i].data['FIELD_NAME'].toUpperCase(),
|
||||
field_type : typeField,
|
||||
field_size : sizeField,
|
||||
field_key : 0,
|
||||
field_null : 1,
|
||||
field_filter: 0,
|
||||
field_autoincrement : 0
|
||||
uid : '',
|
||||
_index : records[i].data['_index'] !== '' ? records[i].data['_index'] : records[i].data['FIELD_DYN'],
|
||||
field_uid : records[i].data['FIELD_UID'],
|
||||
field_dyn : records[i].data['FIELD_NAME'],
|
||||
field_name : records[i].data['FIELD_NAME'].toUpperCase(),
|
||||
field_label : records[i].data['FIELD_NAME'].toUpperCase(),
|
||||
field_type : typeField,
|
||||
field_size : sizeField,
|
||||
field_key : 0,
|
||||
field_index : 0,
|
||||
field_null : 1,
|
||||
field_filter : 0,
|
||||
field_autoincrement : 0
|
||||
});
|
||||
|
||||
store.add(row);
|
||||
@@ -1464,18 +1593,19 @@ function loadTableRowsFromArray(records)
|
||||
}
|
||||
|
||||
var row = new PMRow({
|
||||
uid : records[i].FLD_UID,
|
||||
field_uid : records[i].FLD_DYN_UID,
|
||||
field_dyn : records[i].FLD_DYN_NAME,
|
||||
field_name : records[i].FLD_NAME,
|
||||
field_label: records[i].FLD_DESCRIPTION,
|
||||
field_type : records[i].FLD_TYPE,
|
||||
field_size : records[i].FLD_SIZE,
|
||||
field_key : records[i].FLD_KEY,
|
||||
field_null : records[i].FLD_NULL,
|
||||
field_autoincrement : records[i].FLD_AUTO_INCREMENT == '1' ? true : false,
|
||||
field_filter: records[i].FLD_FILTER == '1' ? true : false,
|
||||
_index : ''
|
||||
uid : records[i].FLD_UID,
|
||||
field_uid : records[i].FLD_DYN_UID,
|
||||
field_dyn : records[i].FLD_DYN_NAME,
|
||||
field_name : records[i].FLD_NAME,
|
||||
field_label : records[i].FLD_DESCRIPTION,
|
||||
field_type : records[i].FLD_TYPE,
|
||||
field_size : records[i].FLD_SIZE,
|
||||
field_key : records[i].FLD_KEY,
|
||||
field_index : records[i].FLD_TABLE_INDEX == '1' ? true : false,
|
||||
field_null : records[i].FLD_NULL,
|
||||
field_autoincrement : records[i].FLD_AUTO_INCREMENT == '1' ? true : false,
|
||||
field_filter : records[i].FLD_FILTER == '1' ? true : false,
|
||||
_index : ''
|
||||
});
|
||||
|
||||
store.add(row);
|
||||
|
||||
Reference in New Issue
Block a user