diff --git a/database/factories/AdditionalTablesFactory.php b/database/factories/AdditionalTablesFactory.php
new file mode 100644
index 000000000..03325eeb7
--- /dev/null
+++ b/database/factories/AdditionalTablesFactory.php
@@ -0,0 +1,28 @@
+define(\ProcessMaker\Model\AdditionalTables::class, function(Faker $faker) {
+ return [
+ 'ADD_TAB_UID' => G::generateUniqueID(),
+ 'ADD_TAB_NAME' => $faker->name,
+ 'ADD_TAB_CLASS_NAME' => $faker->name,
+ 'ADD_TAB_DESCRIPTION' => $faker->text,
+ 'ADD_TAB_SDW_LOG_INSERT' => 0,
+ 'ADD_TAB_SDW_LOG_UPDATE' => 0,
+ 'ADD_TAB_SDW_LOG_DELETE' => 0,
+ 'ADD_TAB_SDW_LOG_SELECT' => 0,
+ 'ADD_TAB_SDW_MAX_LENGTH' => 0,
+ 'ADD_TAB_SDW_AUTO_DELETE' => 0,
+ 'ADD_TAB_PLG_UID' => '',
+ 'DBS_UID' => 'workflow',
+ 'PRO_UID' => function() {
+ return factory(\ProcessMaker\Model\Process::class)->create()->PRO_UID;
+ },
+ 'ADD_TAB_TYPE' => '',
+ 'ADD_TAB_GRID' => '',
+ 'ADD_TAB_TAG' => '',
+ 'ADD_TAB_OFFLINE' => 0,
+ 'ADD_TAB_UPDATE_DATE' => $faker->dateTime()
+ ];
+});
diff --git a/tests/unit/workflow/engine/classes/model/AdditionalTablesTest.php b/tests/unit/workflow/engine/classes/model/AdditionalTablesTest.php
new file mode 100644
index 000000000..fbfa82cba
--- /dev/null
+++ b/tests/unit/workflow/engine/classes/model/AdditionalTablesTest.php
@@ -0,0 +1,109 @@
+ "",
+ "ADD_TAB_NAME" => "PMT_TEST11",
+ "ADD_TAB_CLASS_NAME" => "PmtTest11",
+ "ADD_TAB_DESCRIPTION" => "",
+ "ADD_TAB_PLG_UID" => "",
+ "DBS_UID" => "workflow",
+ "PRO_UID" => "",
+ "ADD_TAB_TYPE" => "",
+ "ADD_TAB_GRID" => "",
+ "ADD_TAB_OFFLINE" => false,
+ "ADD_TAB_UPDATE_DATE" => "2019-10-22 19:52:52"
+ ];
+
+ $additionalTables = new AdditionalTables();
+ $result = $additionalTables->create($data);
+
+ $additionalTablesModel = AdditionalTablesModel::where('ADD_TAB_UID', '=', $result)
+ ->get()
+ ->first();
+ $actual = $additionalTablesModel->toArray();
+ unset($data["ADD_TAB_UID"]);
+
+ $this->assertArraySubset($data, $actual);
+ }
+
+ /**
+ * This attempts to create a PMTable without correct data to cause an exception.
+ * @test
+ * @covers \AdditionalTables::create()
+ */
+ public function it_should_create_without_data()
+ {
+ $data = [
+ ];
+ $additionalTables = new AdditionalTables();
+ $this->expectException(Exception::class);
+ $additionalTables->create($data);
+ }
+
+ /**
+ * This updates the data of a PMTable.
+ * @test
+ * @covers \AdditionalTables::update()
+ */
+ public function it_should_update()
+ {
+ $additionalTables = factory(AdditionalTablesModel::class)->create();
+
+ $expected = [
+ "ADD_TAB_UID" => $additionalTables->ADD_TAB_UID,
+ "ADD_TAB_NAME" => "PMT_TEST11",
+ "ADD_TAB_CLASS_NAME" => "PmtTest11",
+ "DBS_UID" => "workflow",
+ "ADD_TAB_OFFLINE" => false,
+ "ADD_TAB_UPDATE_DATE" => "2019-10-22 19:53:11"
+ ];
+ $additionalTables = new AdditionalTables();
+ $additionalTables->update($expected);
+
+ $additionalTables = AdditionalTablesModel::where('ADD_TAB_UID', '=', $expected['ADD_TAB_UID'])
+ ->get()
+ ->first();
+
+ $this->assertEquals($expected["ADD_TAB_NAME"], $additionalTables->ADD_TAB_NAME);
+ $this->assertEquals($expected["ADD_TAB_CLASS_NAME"], $additionalTables->ADD_TAB_CLASS_NAME);
+ }
+
+ /**
+ * It tries to update the data of a non-existent "PMTable".
+ * @test
+ * @covers \AdditionalTables::update()
+ */
+ public function it_should_update_if_registry_not_exist()
+ {
+ $expected = [
+ "ADD_TAB_UID" => G::generateUniqueID(),
+ "ADD_TAB_NAME" => "PMT_TEST11",
+ "ADD_TAB_CLASS_NAME" => "PmtTest11",
+ "DBS_UID" => "workflow",
+ "ADD_TAB_OFFLINE" => false,
+ "ADD_TAB_UPDATE_DATE" => "2019-10-22 19:53:11"
+ ];
+
+ $this->expectException(Exception::class);
+ $additionalTables = new AdditionalTables();
+ $additionalTables->update($expected);
+ }
+}
diff --git a/workflow/engine/classes/model/AdditionalTables.php b/workflow/engine/classes/model/AdditionalTables.php
index 1eefa6356..d896ee0b7 100644
--- a/workflow/engine/classes/model/AdditionalTables.php
+++ b/workflow/engine/classes/model/AdditionalTables.php
@@ -1086,6 +1086,7 @@ class AdditionalTables extends BaseAdditionalTables
$criteria->addSelectColumn(AdditionalTablesPeer::ADD_TAB_DESCRIPTION);
$criteria->addSelectColumn(AdditionalTablesPeer::ADD_TAB_TYPE);
$criteria->addSelectColumn(AdditionalTablesPeer::ADD_TAB_TAG);
+ $criteria->addSelectColumn(AdditionalTablesPeer::ADD_TAB_OFFLINE);
$criteria->addSelectColumn(AdditionalTablesPeer::PRO_UID);
$criteria->addSelectColumn(AdditionalTablesPeer::DBS_UID);
diff --git a/workflow/engine/classes/model/map/AdditionalTablesMapBuilder.php b/workflow/engine/classes/model/map/AdditionalTablesMapBuilder.php
index 10e79dff7..a9e72fb72 100644
--- a/workflow/engine/classes/model/map/AdditionalTablesMapBuilder.php
+++ b/workflow/engine/classes/model/map/AdditionalTablesMapBuilder.php
@@ -97,6 +97,10 @@ class AdditionalTablesMapBuilder
$tMap->addColumn('ADD_TAB_TAG', 'AddTabTag', 'string', CreoleTypes::VARCHAR, false, 256);
+ $tMap->addColumn('ADD_TAB_OFFLINE', 'AddTabOffline', 'int', CreoleTypes::TINYINT, true, null);
+
+ $tMap->addColumn('ADD_TAB_UPDATE_DATE', 'AddTabUpdateDate', 'int', CreoleTypes::TIMESTAMP, true, null);
+
} // doBuild()
} // AdditionalTablesMapBuilder
diff --git a/workflow/engine/classes/model/om/BaseAdditionalTables.php b/workflow/engine/classes/model/om/BaseAdditionalTables.php
index 256e33890..187add267 100644
--- a/workflow/engine/classes/model/om/BaseAdditionalTables.php
+++ b/workflow/engine/classes/model/om/BaseAdditionalTables.php
@@ -123,6 +123,18 @@ abstract class BaseAdditionalTables extends BaseObject implements Persistent
*/
protected $add_tab_tag = '';
+ /**
+ * The value for the add_tab_offline field.
+ * @var int
+ */
+ protected $add_tab_offline = 0;
+
+ /**
+ * The value for the add_tab_update_date field.
+ * @var int
+ */
+ protected $add_tab_update_date;
+
/**
* Flag to prevent endless save loop, if this object is referenced
* by another object which falls in this transaction.
@@ -313,6 +325,49 @@ abstract class BaseAdditionalTables extends BaseObject implements Persistent
return $this->add_tab_tag;
}
+ /**
+ * Get the [add_tab_offline] column value.
+ *
+ * @return int
+ */
+ public function getAddTabOffline()
+ {
+
+ return $this->add_tab_offline;
+ }
+
+ /**
+ * Get the [optionally formatted] [add_tab_update_date] column value.
+ *
+ * @param string $format The date/time format string (either date()-style or strftime()-style).
+ * If format is NULL, then the integer unix timestamp will be returned.
+ * @return mixed Formatted date/time value as string or integer unix timestamp (if format is NULL).
+ * @throws PropelException - if unable to convert the date/time to timestamp.
+ */
+ public function getAddTabUpdateDate($format = 'Y-m-d H:i:s')
+ {
+
+ if ($this->add_tab_update_date === null || $this->add_tab_update_date === '') {
+ return null;
+ } elseif (!is_int($this->add_tab_update_date)) {
+ // a non-timestamp value was set externally, so we convert it
+ $ts = strtotime($this->add_tab_update_date);
+ if ($ts === -1 || $ts === false) {
+ throw new PropelException("Unable to parse value of [add_tab_update_date] as date/time value: " .
+ var_export($this->add_tab_update_date, true));
+ }
+ } else {
+ $ts = $this->add_tab_update_date;
+ }
+ if ($format === null) {
+ return $ts;
+ } elseif (strpos($format, '%') !== false) {
+ return strftime($format, $ts);
+ } else {
+ return date($format, $ts);
+ }
+ }
+
/**
* Set the value of [add_tab_uid] column.
*
@@ -665,6 +720,57 @@ abstract class BaseAdditionalTables extends BaseObject implements Persistent
} // setAddTabTag()
+ /**
+ * Set the value of [add_tab_offline] column.
+ *
+ * @param int $v new value
+ * @return void
+ */
+ public function setAddTabOffline($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->add_tab_offline !== $v || $v === 0) {
+ $this->add_tab_offline = $v;
+ $this->modifiedColumns[] = AdditionalTablesPeer::ADD_TAB_OFFLINE;
+ }
+
+ } // setAddTabOffline()
+
+ /**
+ * Set the value of [add_tab_update_date] column.
+ *
+ * @param int $v new value
+ * @return void
+ */
+ public function setAddTabUpdateDate($v)
+ {
+
+ if ($v !== null && !is_int($v)) {
+ $ts = strtotime($v);
+ //Date/time accepts null values
+ if ($v == '') {
+ $ts = null;
+ }
+ if ($ts === -1 || $ts === false) {
+ throw new PropelException("Unable to parse date/time value for [add_tab_update_date] from input: " .
+ var_export($v, true));
+ }
+ } else {
+ $ts = $v;
+ }
+ if ($this->add_tab_update_date !== $ts) {
+ $this->add_tab_update_date = $ts;
+ $this->modifiedColumns[] = AdditionalTablesPeer::ADD_TAB_UPDATE_DATE;
+ }
+
+ } // setAddTabUpdateDate()
+
/**
* Hydrates (populates) the object variables with values from the database resultset.
*
@@ -714,12 +820,16 @@ abstract class BaseAdditionalTables extends BaseObject implements Persistent
$this->add_tab_tag = $rs->getString($startcol + 15);
+ $this->add_tab_offline = $rs->getInt($startcol + 16);
+
+ $this->add_tab_update_date = $rs->getTimestamp($startcol + 17, null);
+
$this->resetModified();
$this->setNew(false);
// FIXME - using NUM_COLUMNS may be clearer.
- return $startcol + 16; // 16 = AdditionalTablesPeer::NUM_COLUMNS - AdditionalTablesPeer::NUM_LAZY_LOAD_COLUMNS).
+ return $startcol + 18; // 18 = AdditionalTablesPeer::NUM_COLUMNS - AdditionalTablesPeer::NUM_LAZY_LOAD_COLUMNS).
} catch (Exception $e) {
throw new PropelException("Error populating AdditionalTables object", $e);
@@ -971,6 +1081,12 @@ abstract class BaseAdditionalTables extends BaseObject implements Persistent
case 15:
return $this->getAddTabTag();
break;
+ case 16:
+ return $this->getAddTabOffline();
+ break;
+ case 17:
+ return $this->getAddTabUpdateDate();
+ break;
default:
return null;
break;
@@ -1007,6 +1123,8 @@ abstract class BaseAdditionalTables extends BaseObject implements Persistent
$keys[13] => $this->getAddTabType(),
$keys[14] => $this->getAddTabGrid(),
$keys[15] => $this->getAddTabTag(),
+ $keys[16] => $this->getAddTabOffline(),
+ $keys[17] => $this->getAddTabUpdateDate(),
);
return $result;
}
@@ -1086,6 +1204,12 @@ abstract class BaseAdditionalTables extends BaseObject implements Persistent
case 15:
$this->setAddTabTag($value);
break;
+ case 16:
+ $this->setAddTabOffline($value);
+ break;
+ case 17:
+ $this->setAddTabUpdateDate($value);
+ break;
} // switch()
}
@@ -1173,6 +1297,14 @@ abstract class BaseAdditionalTables extends BaseObject implements Persistent
$this->setAddTabTag($arr[$keys[15]]);
}
+ if (array_key_exists($keys[16], $arr)) {
+ $this->setAddTabOffline($arr[$keys[16]]);
+ }
+
+ if (array_key_exists($keys[17], $arr)) {
+ $this->setAddTabUpdateDate($arr[$keys[17]]);
+ }
+
}
/**
@@ -1248,6 +1380,14 @@ abstract class BaseAdditionalTables extends BaseObject implements Persistent
$criteria->add(AdditionalTablesPeer::ADD_TAB_TAG, $this->add_tab_tag);
}
+ if ($this->isColumnModified(AdditionalTablesPeer::ADD_TAB_OFFLINE)) {
+ $criteria->add(AdditionalTablesPeer::ADD_TAB_OFFLINE, $this->add_tab_offline);
+ }
+
+ if ($this->isColumnModified(AdditionalTablesPeer::ADD_TAB_UPDATE_DATE)) {
+ $criteria->add(AdditionalTablesPeer::ADD_TAB_UPDATE_DATE, $this->add_tab_update_date);
+ }
+
return $criteria;
}
@@ -1332,6 +1472,10 @@ abstract class BaseAdditionalTables extends BaseObject implements Persistent
$copyObj->setAddTabTag($this->add_tab_tag);
+ $copyObj->setAddTabOffline($this->add_tab_offline);
+
+ $copyObj->setAddTabUpdateDate($this->add_tab_update_date);
+
$copyObj->setNew(true);
diff --git a/workflow/engine/classes/model/om/BaseAdditionalTablesPeer.php b/workflow/engine/classes/model/om/BaseAdditionalTablesPeer.php
index 688e4d01a..bdf8b61a6 100644
--- a/workflow/engine/classes/model/om/BaseAdditionalTablesPeer.php
+++ b/workflow/engine/classes/model/om/BaseAdditionalTablesPeer.php
@@ -25,7 +25,7 @@ abstract class BaseAdditionalTablesPeer
const CLASS_DEFAULT = 'classes.model.AdditionalTables';
/** The total number of columns. */
- const NUM_COLUMNS = 16;
+ const NUM_COLUMNS = 18;
/** The number of lazy-loaded columns. */
const NUM_LAZY_LOAD_COLUMNS = 0;
@@ -79,6 +79,12 @@ abstract class BaseAdditionalTablesPeer
/** the column name for the ADD_TAB_TAG field */
const ADD_TAB_TAG = 'ADDITIONAL_TABLES.ADD_TAB_TAG';
+ /** the column name for the ADD_TAB_OFFLINE field */
+ const ADD_TAB_OFFLINE = 'ADDITIONAL_TABLES.ADD_TAB_OFFLINE';
+
+ /** the column name for the ADD_TAB_UPDATE_DATE field */
+ const ADD_TAB_UPDATE_DATE = 'ADDITIONAL_TABLES.ADD_TAB_UPDATE_DATE';
+
/** The PHP to DB Name Mapping */
private static $phpNameMap = null;
@@ -90,10 +96,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', 'ProUid', 'AddTabType', 'AddTabGrid', 'AddTabTag', ),
- 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, AdditionalTablesPeer::ADD_TAB_TAG, ),
- 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', 'ADD_TAB_TAG', ),
- BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, )
+ BasePeer::TYPE_PHPNAME => array ('AddTabUid', 'AddTabName', 'AddTabClassName', 'AddTabDescription', 'AddTabSdwLogInsert', 'AddTabSdwLogUpdate', 'AddTabSdwLogDelete', 'AddTabSdwLogSelect', 'AddTabSdwMaxLength', 'AddTabSdwAutoDelete', 'AddTabPlgUid', 'DbsUid', 'ProUid', 'AddTabType', 'AddTabGrid', 'AddTabTag', 'AddTabOffline', 'AddTabUpdateDate', ),
+ 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, AdditionalTablesPeer::ADD_TAB_TAG, AdditionalTablesPeer::ADD_TAB_OFFLINE, AdditionalTablesPeer::ADD_TAB_UPDATE_DATE, ),
+ 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', 'ADD_TAB_TAG', 'ADD_TAB_OFFLINE', 'ADD_TAB_UPDATE_DATE', ),
+ BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, )
);
/**
@@ -103,10 +109,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, 'ProUid' => 12, 'AddTabType' => 13, 'AddTabGrid' => 14, 'AddTabTag' => 15, ),
- 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, AdditionalTablesPeer::ADD_TAB_TAG => 15, ),
- 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, 'ADD_TAB_TAG' => 15, ),
- BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, )
+ 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, 'AddTabTag' => 15, 'AddTabOffline' => 16, 'AddTabUpdateDate' => 17, ),
+ 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, AdditionalTablesPeer::ADD_TAB_TAG => 15, AdditionalTablesPeer::ADD_TAB_OFFLINE => 16, AdditionalTablesPeer::ADD_TAB_UPDATE_DATE => 17, ),
+ 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, 'ADD_TAB_TAG' => 15, 'ADD_TAB_OFFLINE' => 16, 'ADD_TAB_UPDATE_DATE' => 17, ),
+ BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, )
);
/**
@@ -239,6 +245,10 @@ abstract class BaseAdditionalTablesPeer
$criteria->addSelectColumn(AdditionalTablesPeer::ADD_TAB_TAG);
+ $criteria->addSelectColumn(AdditionalTablesPeer::ADD_TAB_OFFLINE);
+
+ $criteria->addSelectColumn(AdditionalTablesPeer::ADD_TAB_UPDATE_DATE);
+
}
const COUNT = 'COUNT(ADDITIONAL_TABLES.ADD_TAB_UID)';
diff --git a/workflow/engine/config/schema.xml b/workflow/engine/config/schema.xml
index a9b23a22b..348415bde 100644
--- a/workflow/engine/config/schema.xml
+++ b/workflow/engine/config/schema.xml
@@ -2522,6 +2522,8 @@
+
+
diff --git a/workflow/engine/content/translations/english/processmaker.en.po b/workflow/engine/content/translations/english/processmaker.en.po
index 9a3f2ffd0..a3d18f9fb 100644
--- a/workflow/engine/content/translations/english/processmaker.en.po
+++ b/workflow/engine/content/translations/english/processmaker.en.po
@@ -2749,6 +2749,18 @@ msgstr "AVAILABLE GROUPS"
msgid "AVAILABLE MEMBERS"
msgstr "AVAILABLE MEMBERS"
+# TRANSLATION
+# LABEL/ID_AVAILABLE_OFFLINE
+#: LABEL/ID_AVAILABLE_OFFLINE
+msgid "Available offline"
+msgstr "Available offline"
+
+# TRANSLATION
+# LABEL/ID_AVAILABLE_OFFLINE_THE_MOBILE_APPLICATIONS
+#: LABEL/ID_AVAILABLE_OFFLINE_THE_MOBILE_APPLICATIONS
+msgid "Available offline, the mobile applications will download this table for offline use"
+msgstr "Available offline, the mobile applications will download this table for offline use"
+
# TRANSLATION
# LABEL/ID_AVAILABLE_PERMISSIONS
#: LABEL/ID_AVAILABLE_PERMISSIONS
diff --git a/workflow/engine/data/mysql/insert.sql b/workflow/engine/data/mysql/insert.sql
index 20e077737..fa026df32 100644
--- a/workflow/engine/data/mysql/insert.sql
+++ b/workflow/engine/data/mysql/insert.sql
@@ -57260,6 +57260,8 @@ INSERT INTO TRANSLATION (TRN_CATEGORY,TRN_ID,TRN_LANG,TRN_VALUE,TRN_UPDATE_DATE
( 'LABEL','ID_AVAILABLE_FIELDS','en','Available Fields','2014-01-15') ,
( 'LABEL','ID_AVAILABLE_GROUPS','en','AVAILABLE GROUPS','2014-01-15') ,
( 'LABEL','ID_AVAILABLE_MEMBERS','en','AVAILABLE MEMBERS','2014-01-15') ,
+( 'LABEL','ID_AVAILABLE_OFFLINE','en','Available offline','2019-10-15') ,
+( 'LABEL','ID_AVAILABLE_OFFLINE_THE_MOBILE_APPLICATIONS','en','Available offline, the mobile applications will download this table for offline use','2019-10-15') ,
( 'LABEL','ID_AVAILABLE_PERMISSIONS','en','AVAILABLE PERMISSIONS','2014-01-15') ,
( 'LABEL','ID_AVAILABLE_TRIGGERS','en','Available Triggers','2014-01-15') ,
( 'LABEL','ID_AVAILABLE_USERS','en','AVAILABLE USERS','2014-01-15') ,
diff --git a/workflow/engine/data/mysql/schema.sql b/workflow/engine/data/mysql/schema.sql
index 0d2445581..eb0682aad 100644
--- a/workflow/engine/data/mysql/schema.sql
+++ b/workflow/engine/data/mysql/schema.sql
@@ -1162,6 +1162,8 @@ CREATE TABLE `ADDITIONAL_TABLES`
`ADD_TAB_TYPE` VARCHAR(32) default '',
`ADD_TAB_GRID` VARCHAR(256) default '',
`ADD_TAB_TAG` VARCHAR(256) default '',
+ `ADD_TAB_OFFLINE` TINYINT default 0 NOT NULL,
+ `ADD_TAB_UPDATE_DATE` DATETIME NOT NULL,
PRIMARY KEY (`ADD_TAB_UID`),
KEY `indexAdditionalProcess`(`PRO_UID`)
)ENGINE=InnoDB DEFAULT CHARSET='utf8';
diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/ReportTable.php b/workflow/engine/src/ProcessMaker/BusinessModel/ReportTable.php
index e50f4a47e..10a292ff7 100644
--- a/workflow/engine/src/ProcessMaker/BusinessModel/ReportTable.php
+++ b/workflow/engine/src/ProcessMaker/BusinessModel/ReportTable.php
@@ -486,7 +486,9 @@ class ReportTable
'DBS_UID' => ($arrayData['REP_TAB_CONNECTION']) ? $arrayData['REP_TAB_CONNECTION'] : 'workflow',
'PRO_UID' => $arrayData['PRO_UID'],
'ADD_TAB_TYPE' => $arrayData['REP_TAB_TYPE'],
- 'ADD_TAB_GRID' => $arrayData['REP_TAB_GRID']
+ 'ADD_TAB_GRID' => $arrayData['REP_TAB_GRID'],
+ 'ADD_TAB_OFFLINE' => !empty($arrayData['REP_TAB_OFFLINE']) ?? 0,
+ 'ADD_TAB_UPDATE_DATE' => date('Y-m-d H:i:s'),
];
if ($arrayData['REP_TAB_UID'] == '' || (isset($arrayData['forceUid']) && $arrayData['forceUid'])) {
@@ -806,6 +808,8 @@ class ReportTable
$tableData->REP_TAB_CONNECTION = $contentSchema['DBS_UID'];
$tableData->REP_TAB_TYPE = (isset($contentSchema['ADD_TAB_TYPE'])) ? $contentSchema['ADD_TAB_TYPE'] : '';
$tableData->REP_TAB_GRID = (isset($contentSchema['ADD_TAB_GRID'])) ? $contentSchema['ADD_TAB_GRID'] : '';
+ $tableData->REP_TAB_OFFLINE = (isset($contentSchema['ADD_TAB_OFFLINE'])) ? $contentSchema['ADD_TAB_OFFLINE'] : '0';
+ $tableData->REP_TAB_UPDATE_DATE = date('Y-m-d H:i:s');
$tableData->columns = G::json_encode($columns);
$tableData->forceUid = true;
diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/Table.php b/workflow/engine/src/ProcessMaker/BusinessModel/Table.php
index 7f85689d6..7ce212479 100644
--- a/workflow/engine/src/ProcessMaker/BusinessModel/Table.php
+++ b/workflow/engine/src/ProcessMaker/BusinessModel/Table.php
@@ -87,6 +87,7 @@ class Table
$tabData['PMT_UID'] = $tab_uid;
$tabData['PMT_TAB_NAME'] = $table['ADD_TAB_NAME'];
$tabData['PMT_TAB_DESCRIPTION'] = $table['ADD_TAB_DESCRIPTION'];
+ $tabData['PMT_TAB_OFFLINE'] = $table['ADD_TAB_OFFLINE'];
$tabData['PMT_TAB_CLASS_NAME'] = $table['ADD_TAB_CLASS_NAME'];
$tabData['PMT_NUM_ROWS'] = $tableData['count'];
}
@@ -384,6 +385,8 @@ class Table
'ADD_TAB_NAME' => $dataValidate['REP_TAB_NAME'],
'ADD_TAB_CLASS_NAME' => $repTabClassName,
'ADD_TAB_DESCRIPTION' => $dataValidate['REP_TAB_DSC'],
+ 'ADD_TAB_OFFLINE' => 0,
+ 'ADD_TAB_UPDATE_DATE' => date('Y-m-d H:i:s'),
'ADD_TAB_PLG_UID' => '',
'DBS_UID' => ($dataValidate['REP_TAB_CONNECTION'] ? $dataValidate['REP_TAB_CONNECTION'] : 'workflow'),
'PRO_UID' => $dataValidate['PRO_UID'],
@@ -396,6 +399,8 @@ class Table
'ADD_TAB_NAME' => $dataValidate['PMT_TAB_NAME'],
'ADD_TAB_CLASS_NAME' => $repTabClassName,
'ADD_TAB_DESCRIPTION' => $dataValidate['PMT_TAB_DSC'],
+ 'ADD_TAB_OFFLINE' => !empty($dataValidate['PMT_TAB_OFFLINE']) ?? 0,
+ 'ADD_TAB_UPDATE_DATE' => date('Y-m-d H:i:s'),
'ADD_TAB_PLG_UID' => '',
'DBS_UID' => ($dataValidate['PMT_TAB_CONNECTION'] ? $dataValidate['PMT_TAB_CONNECTION'] : 'workflow'),
'PRO_UID' => '',
@@ -549,6 +554,11 @@ class Table
$dataValidate['rep_tab_dsc'] = $tableData['pmt_tab_dsc'];
$tableDsc = true;
}
+ if (!empty($tableData['pmt_tab_offline'])) {
+ $dataValidate['rep_tab_offline'] = $tableData['pmt_tab_offline'];
+ $tableDsc = true;
+ }
+ $dataValidate['rep_tab_update_date'] = date('Y-m-d H:i:s');
}
if (!empty($tableData['fields'])) {
$dataValidate['fields'] = $tableData['fields'];
diff --git a/workflow/engine/src/ProcessMaker/Model/AdditionalTables.php b/workflow/engine/src/ProcessMaker/Model/AdditionalTables.php
new file mode 100644
index 000000000..31cf40a78
--- /dev/null
+++ b/workflow/engine/src/ProcessMaker/Model/AdditionalTables.php
@@ -0,0 +1,12 @@
+
") {
+ Ext.msgBoxSlider.msgTopCenter("error", _("ID_ERROR"), msg, 3);
}
- return false;
+ flagShowMessageError = 0;
}
- });
+ },
+ listeners: {
+ canceledit: function (grid, obj) {
+ if (grid.record.data.field_label == '' && grid.record.data.field_name == '') {
+ store.remove(grid.record);
+ }
- if (valid) {
- flagShowMessageError = 1;
+ flagShowMessageError = 1;
+ }
}
+ });
- return valid;
- },
- showTooltip: function (msg)
- {
- if (flagShowMessageError == 1) {
- if (msg != "" && msg != "") {
- Ext.msgBoxSlider.msgTopCenter("error", _("ID_ERROR"), msg, 3);
+ editor.on({
+ beforeedit: function (roweditor, rowIndex)
+ {
+ setTimeout(
+ 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, fieldIndex, fieldInc, sizeEdit);
+ },
+ 250
+ );
+ },
+ afteredit: function (roweditor, changes, r, rowIndex)
+ {
+ row = assignedGrid.getSelectionModel().getSelected();
+ //if a column was set as PK so can't be null
+ if (row.get('field_key') == true) {
+ row.data.field_null = false;
}
- flagShowMessageError = 0;
- }
- },
- listeners: {
- canceledit: function(grid,obj){
- if ( grid.record.data.field_label == '' && grid.record.data.field_name == '') {
- store.remove(grid.record);
+ if (row.get('field_index') == true) {
+ row.data.field_null = false;
+ }
+ row.commit();
}
+ });
- flagShowMessageError = 1;
- }
- }
- });
-
- editor.on({
- beforeedit: function(roweditor, rowIndex)
- {
- setTimeout(
- function ()
+ //table columns grid
+ assignedGrid = new Ext.grid.GridPanel({
+ //title: 'Columns',
+ region: 'center',
+ id: 'assignedGrid',
+ ddGroup: 'availableGridDDGroup',
+ enableDragDrop: true,
+ enableColumnResize: true,
+ enableColumnMove: false,
+ viewConfig: {forceFit: true},
+ cm: cm,
+ sm: sm,
+ store: store,
+ plugins: [editor, checkColumn],
+ tbar: [
{
- 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");
+ icon: '/images/add-row-after.png',
+ text: _("ID_ADD_FIELD"),
+ handler: addColumn
+ }, {
+ id: 'editColumn',
+ icon: '/images/edit-row.png',
+ text: _("ID_EDIT_FIELD"),
+ disabled: true,
+ handler: editColumn
+ }, {
+ id: 'removeColumn',
+ icon: '/images/delete-row.png',
+ text: _("ID_REMOVE_FIELD"),
+ disabled: true,
+ handler: removeColumn
+ }
+ ],
- editorFieldsEnableDisable(fieldTypeValue, fieldNull, fieldPrimaryKey, fieldIndex, fieldInc, sizeEdit);
+ border: false,
+
+ listeners: {
+ render: function (grid) {
+ var ddrow = new Ext.dd.DropTarget(grid.getView().mainBody, {
+ ddGroup: 'availableGridDDGroup',
+ copy: false,
+ notifyDrop: function (dd, e, data) {
+ var ds = grid.store;
+ var sm = grid.getSelectionModel();
+ var rows = sm.getSelections();
+ if (dd.getDragData(e)) {
+ var cindex = dd.getDragData(e).rowIndex;
+ //skipping primary keys, we can't reorder
+ if (store.data.items[cindex].data.field_key)
+ return;
+
+ if (typeof (cindex) != "undefined") {
+ for (var i = 0; i < rows.length; i++) {
+ //skipping primary keys, we can't reorder
+ if (rows[i].data.field_key)
+ continue;
+
+ var srcIndex = ds.indexOfId(rows[i].id);
+ ds.remove(ds.getById(rows[i].id));
+ if (i > 0 && cindex < srcIndex) {
+ cindex++;
+ }
+ ds.insert(cindex, rows[i]);
+ }
+ sm.selectRecords(rows);
+ }
+ }
+ }
+ });
+ }
+ }
+ });
+
+ assignedGrid.getSelectionModel().on('selectionchange', function (sm) {
+ //alert('s');
+ });
+
+ // (vertical) selection buttons
+ buttonsPanel = new Ext.Panel({
+ width: 40,
+ layout: {
+ type: 'vbox',
+ padding: '0',
+ pack: 'center',
+ align: 'center'
+ },
+ defaults: {margins: '0 0 35 0'},
+ items: [
+ {xtype: 'button', text: '>',
+ handler: AssignFieldsAction,
+ id: 'assignButton', disabled: true
},
- 250
- );
- },
- afteredit: function(roweditor, changes, r, rowIndex)
- {
- row = assignedGrid.getSelectionModel().getSelected();
- //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();
- }
- });
-
- //table columns grid
- assignedGrid = new Ext.grid.GridPanel({
- //title: 'Columns',
- region: 'center',
- id: 'assignedGrid',
- ddGroup : 'availableGridDDGroup',
- enableDragDrop : true,
- enableColumnResize : true,
- enableColumnMove: false,
- viewConfig : {forceFit:true},
- cm: cm,
- sm: sm,
- store: store,
- plugins: [editor, checkColumn],
- tbar: [
- {
- icon: '/images/add-row-after.png',
- text: _("ID_ADD_FIELD"),
- handler: addColumn
- }, {
- id: 'editColumn',
- icon: '/images/edit-row.png',
- text: _("ID_EDIT_FIELD"),
- disabled: true,
- handler: editColumn
- }, {
- id: 'removeColumn',
- icon: '/images/delete-row.png',
- text: _("ID_REMOVE_FIELD"),
- disabled: true,
- handler: removeColumn
- }
- ],
-
- border: false,
-
- listeners: {
- render: function(grid) {
- var ddrow = new Ext.dd.DropTarget(grid.getView().mainBody, {
- ddGroup: 'availableGridDDGroup',
- copy: false,
- notifyDrop: function(dd, e, data) {
- var ds = grid.store;
- var sm = grid.getSelectionModel();
- var rows = sm.getSelections();
- if (dd.getDragData(e)) {
- var cindex = dd.getDragData(e).rowIndex;
- //skipping primary keys, we can't reorder
- if (store.data.items[cindex].data.field_key)
- return;
-
- if (typeof(cindex) != "undefined") {
- for(var i = 0; i < rows.length; i++) {
- //skipping primary keys, we can't reorder
- if (rows[i].data.field_key )
- continue;
-
- var srcIndex = ds.indexOfId(rows[i].id);
- ds.remove(ds.getById(rows[i].id));
- if (i > 0 && cindex < srcIndex) {
- cindex++;
- }
- ds.insert(cindex, rows[i]);
- }
- sm.selectRecords(rows);
- }
+ {xtype: 'button', text: '<',
+ handler: RemoveFieldsAction,
+ id: 'removeButton', disabled: true
+ },
+ {xtype: 'button', text: '>>',
+ handler: AssignAllFieldsAction,
+ id: 'assignButtonAll', disabled: false},
+ {xtype: 'button', text: '<<',
+ handler: RemoveAllFieldsAction,
+ id: 'removeButtonAll', disabled: false
}
- }
- });
- }
- }
- });
+ ]
- assignedGrid.getSelectionModel().on('selectionchange', function(sm){
- //alert('s');
- });
-
- // (vertical) selection buttons
- buttonsPanel = new Ext.Panel({
- width : 40,
- layout : {
- type:'vbox',
- padding:'0',
- pack:'center',
- align:'center'
- },
- defaults:{margins:'0 0 35 0'},
- items:[
- { xtype:'button',text: '>',
- handler: AssignFieldsAction,
- id: 'assignButton', disabled: true
- },
- { xtype:'button',text: '<',
- handler: RemoveFieldsAction,
- id: 'removeButton', disabled: true
- },
- { xtype:'button',text: '>>',
- handler: AssignAllFieldsAction,
- id: 'assignButtonAll', disabled: false},
- { xtype:'button',text: '<<',
- handler: RemoveAllFieldsAction,
- id: 'removeButtonAll', disabled: false
- }
- ]
-
- });
+ });
- FieldsPanel = new Ext.Panel({
- //title: _('ID_FIELDS'),
- region : 'center',
- //autoWidth : true,
- width: 150,
- layout : 'hbox',
- defaults : { flex : 1 }, //auto stretch
- layoutConfig : { align : 'stretch' },
- items : [assignedGrid],
- viewConfig : {forceFit:true}
+ FieldsPanel = new Ext.Panel({
+ //title: _('ID_FIELDS'),
+ region: 'center',
+ //autoWidth : true,
+ width: 150,
+ layout: 'hbox',
+ defaults: {flex: 1}, //auto stretch
+ layoutConfig: {align: 'stretch'},
+ items: [assignedGrid],
+ viewConfig: {forceFit: true}
- });
+ });
- searchTextA = new Ext.form.TextField ({
+ searchTextA = new Ext.form.TextField({
id: 'searchTextA',
- ctCls:'pm_search_text_field',
+ ctCls: 'pm_search_text_field',
allowBlank: true,
width: 110,
emptyText: _('ID_EMPTY_SEARCH'),
listeners: {
- specialkey: function(f,e){
- if (e.getKey() == e.ENTER) {
- DoSearchA();
+ specialkey: function (f, e) {
+ if (e.getKey() == e.ENTER) {
+ DoSearchA();
+ }
}
- }
}
});
- searchTextP = new Ext.form.TextField ({
+ searchTextP = new Ext.form.TextField({
id: 'searchTextP',
- ctCls:'pm_search_text_field',
+ ctCls: 'pm_search_text_field',
allowBlank: true,
width: 110,
emptyText: _('ID_EMPTY_SEARCH'),
listeners: {
- specialkey: function(f,e){
- if (e.getKey() == e.ENTER) {
- DoSearchP();
+ specialkey: function (f, e) {
+ if (e.getKey() == e.ENTER) {
+ DoSearchP();
+ }
}
- }
}
});
- var types = new Ext.data.SimpleStore({
- fields: ['REP_TAB_TYPE', 'type'],
- data : [['NORMAL',_("ID_GLOBAL")],['GRID',_("ID_GRID")]]
- });
+ var types = new Ext.data.SimpleStore({
+ fields: ['REP_TAB_TYPE', 'type'],
+ data: [['NORMAL', _("ID_GLOBAL")], ['GRID', _("ID_GRID")]]
+ });
- comboReport = new Ext.form.ComboBox({
- id : 'REP_TAB_TYPE',
- name: 'type',
- fieldLabel: 'Type',
- hiddenName : 'REP_TAB_TYPE',
- mode: 'local',
- store: types,
- displayField:'type',
- valueField:'REP_TAB_TYPE',
- width: 120,
- typeAhead: true,
- triggerAction: 'all',
- editable:false,
- lazyRender: true,
- value: typeof TABLE.ADD_TAB_TYPE != 'undefined'? TABLE.ADD_TAB_TYPE : 'NORMAL',
- listeners: {
- select: function(combo,record,index){
- if (this.getValue()=='NORMAL') {
- Ext.getCmp('REP_TAB_GRID').setVisible(false);
- loadFieldNormal();
- } else {
- Ext.getCmp('availableGrid').store.removeAll();
- Ext.getCmp('REP_TAB_GRID').setVisible(true);
- Ext.getCmp('REP_TAB_GRID').setValue('');
- gridsListStore.reload({params:{PRO_UID : PRO_UID !== false ? PRO_UID : Ext.getCmp('PROCESS').getValue()}});
- }
- }
- }
- });
-
- dbConnectionsStore = new Ext.data.Store({
- autoLoad: false,
- proxy : new Ext.data.HttpProxy({
- url: '../pmTablesProxy/getDbConnectionsList',
- method : 'POST'
- }),
- baseParams : {
- PRO_UID : ''
- },
- reader : new Ext.data.JsonReader( {
- fields : [{name : 'DBS_UID'}, {name : 'DBS_NAME'}]
- }),
- listeners: {
- load: function() {
- if (TABLE !== false) { // is editing
- // set current editing process combobox
- var i = this.findExact('DBS_UID', TABLE.DBS_UID, 0);
- if (i > -1){
- comboDbConnections.setValue(this.getAt(i).data.DBS_UID);
- comboDbConnections.setRawValue(this.getAt(i).data.DBS_NAME);
- comboDbConnections.setDisabled(true);
- } else {
- // DB COnnection deleted
- Ext.Msg.alert( _('ID_ERROR'), _('ID_DB_CONNECTION_NOT_EXIST') );
- }
- } else {
- comboDbConnections.setValue('rp');
- }
- }
- }
- });
-
- comboDbConnections = new Ext.form.ComboBox({
- id: 'REP_TAB_CONNECTION',
- fieldLabel : _("ID_DB_CONNECTION"),
- hiddenName : 'DBS_UID',
- store : dbConnectionsStore,
- //value: 'rp',
- valueField : 'DBS_UID',
- displayField : 'DBS_NAME',
- triggerAction : 'all',
- editable : false,
- mode:'local'
- });
-
- var tbar = new Array();
- var items = new Array();
-
- items.push({
- id: 'REP_TAB_NAME',
- fieldLabel: _("ID_TABLE_NAME") + ' ('+_("ID_AUTO_PREFIX") + ' "PMT_")',
- xtype:'textfield',
- emptyText: _("ID_SET_A_TABLE_NAME"),
- width: 250,
- autoCreate: {tag: "input", type: "text", autocomplete: "off", maxlength: sizeTableName },
- stripCharsRe: /(\W+)/g,
- listeners:{
- change: function(){
- this.setValue(this.getValue().toUpperCase());
- }
- }
- });
- items.push({
- id: 'REP_TAB_DSC',
- fieldLabel: _("ID_DESCRIPTION"),
- xtype:'textarea',
- emptyText: _("ID_SET_TABLE_DESCRIPTION"),
- width: 250,
- height: 40,
- allowBlank: true
- });
-
- items.push(
- {
- layout: "column",
- style: "margin-left: 255px;",
- hidden: (dataNumRows > 0)? false : true,
- items: [
- {
- xtype: "checkbox",
- id: "chkKeepData",
- name: "chkKeepData",
- checked : true,
- boxLabel: _("ID_PMTABLE_DATA_KEEP")
- }
- ]
- }
- );
-
- //items.push(comboDbConnections);
-
- var frmDetails = new Ext.FormPanel({
- id :'frmDetails',
- region : 'north',
- labelWidth: 250,
- labelAlign :'right',
- title : ADD_TAB_UID ? _('ID_PMTABLE') : _('ID_NEW_PMTABLE'),
- bodyStyle :'padding:10px',
- frame : true,
- height: 170,
- items : items,
- //tbar : tbar,
- waitMsgTarget : true,
- defaults: {
- allowBlank : false,
- msgTarget : 'side',
- align :'center'
- }
- });
-
-
- southPanel = new Ext.FormPanel({
- region: 'south',
- buttons:[
- {
- text: TABLE === false ? _("ID_CREATE") : _("ID_UPDATE"),
- handler: function() {
- if (TABLE === false || dataNumRows == 0 || Ext.getCmp("chkKeepData").checked == true) {
- if (TABLE !== false && TABLE.ADD_TAB_NAME !== Ext.getCmp('REP_TAB_NAME').getValue().trim()) {
- PMExt.confirm(_('ID_CONFIRM'), _('ID_THE_NAME_CHANGE_MAY_CAUSE_DATA_LOSS'), createReportTable);
- } else {
- createReportTable();
+ comboReport = new Ext.form.ComboBox({
+ id: 'REP_TAB_TYPE',
+ name: 'type',
+ fieldLabel: 'Type',
+ hiddenName: 'REP_TAB_TYPE',
+ mode: 'local',
+ store: types,
+ displayField: 'type',
+ valueField: 'REP_TAB_TYPE',
+ width: 120,
+ typeAhead: true,
+ triggerAction: 'all',
+ editable: false,
+ lazyRender: true,
+ value: typeof TABLE.ADD_TAB_TYPE != 'undefined' ? TABLE.ADD_TAB_TYPE : 'NORMAL',
+ listeners: {
+ select: function (combo, record, index) {
+ if (this.getValue() == 'NORMAL') {
+ Ext.getCmp('REP_TAB_GRID').setVisible(false);
+ loadFieldNormal();
+ } else {
+ Ext.getCmp('availableGrid').store.removeAll();
+ Ext.getCmp('REP_TAB_GRID').setVisible(true);
+ Ext.getCmp('REP_TAB_GRID').setValue('');
+ gridsListStore.reload({params: {PRO_UID: PRO_UID !== false ? PRO_UID : Ext.getCmp('PROCESS').getValue()}});
+ }
}
- }
- else {
- PMExt.confirm(_('ID_CONFIRM'), _('ID_PMTABLE_SAVE_AND_DATA_LOST'), createReportTable);
- }
}
- }, {
- text:_("ID_CANCEL"),
- handler: function() {
- proParam = PRO_UID !== false ? '?PRO_UID='+PRO_UID : '';
- location.href = '../pmTables' + proParam;
+ });
+
+ dbConnectionsStore = new Ext.data.Store({
+ autoLoad: false,
+ proxy: new Ext.data.HttpProxy({
+ url: '../pmTablesProxy/getDbConnectionsList',
+ method: 'POST'
+ }),
+ baseParams: {
+ PRO_UID: ''
+ },
+ reader: new Ext.data.JsonReader({
+ fields: [{name: 'DBS_UID'}, {name: 'DBS_NAME'}]
+ }),
+ listeners: {
+ load: function () {
+ if (TABLE !== false) { // is editing
+ // set current editing process combobox
+ var i = this.findExact('DBS_UID', TABLE.DBS_UID, 0);
+ if (i > -1) {
+ comboDbConnections.setValue(this.getAt(i).data.DBS_UID);
+ comboDbConnections.setRawValue(this.getAt(i).data.DBS_NAME);
+ comboDbConnections.setDisabled(true);
+ } else {
+ // DB COnnection deleted
+ Ext.Msg.alert(_('ID_ERROR'), _('ID_DB_CONNECTION_NOT_EXIST'));
+ }
+ } else {
+ comboDbConnections.setValue('rp');
+ }
+ }
}
- }
- ]
- });
+ });
- var viewport = new Ext.Viewport({
- layout: 'border',
- autoScroll: false,
- items:[frmDetails, FieldsPanel, southPanel]
- });
+ comboDbConnections = new Ext.form.ComboBox({
+ id: 'REP_TAB_CONNECTION',
+ fieldLabel: _("ID_DB_CONNECTION"),
+ hiddenName: 'DBS_UID',
+ store: dbConnectionsStore,
+ //value: 'rp',
+ valueField: 'DBS_UID',
+ displayField: 'DBS_NAME',
+ triggerAction: 'all',
+ editable: false,
+ mode: 'local'
+ });
- /*** Editing routines ***/
- if (TABLE !== false) {
- Ext.getCmp('REP_TAB_NAME').setValue(TABLE.ADD_TAB_NAME);
- Ext.getCmp('REP_TAB_NAME').setDisabled(false);
- Ext.getCmp('REP_TAB_DSC').setValue(TABLE.ADD_TAB_DESCRIPTION);
+ var tbar = new Array();
+ var items = new Array();
- loadTableRowsFromArray(TABLE.FIELDS);
- }
+ items.push({
+ id: 'REP_TAB_NAME',
+ fieldLabel: _("ID_TABLE_NAME") + ' (' + _("ID_AUTO_PREFIX") + ' "PMT_")',
+ xtype: 'textfield',
+ emptyText: _("ID_SET_A_TABLE_NAME"),
+ width: 250,
+ autoCreate: {tag: "input", type: "text", autocomplete: "off", maxlength: sizeTableName},
+ stripCharsRe: /(\W+)/g,
+ listeners: {
+ change: function () {
+ this.setValue(this.getValue().toUpperCase());
+ }
+ }
+ });
+ items.push({
+ id: 'REP_TAB_DSC',
+ fieldLabel: _("ID_DESCRIPTION"),
+ xtype: 'textarea',
+ emptyText: _("ID_SET_TABLE_DESCRIPTION"),
+ width: 250,
+ height: 40,
+ allowBlank: true
+ });
+ items.push({
+ layout: "column",
+ style: "margin-left: 255px;",
+ hidden: (dataNumRows > 0) ? false : true,
+ items: [
+ {
+ xtype: "checkbox",
+ id: "chkKeepData",
+ name: "chkKeepData",
+ checked: true,
+ boxLabel: _("ID_PMTABLE_DATA_KEEP")
+ }
+ ]
+ });
+ items.push({
+ layout: "column",
+ style: "margin-left: 255px;",
+ hidden: false,
+ items: [
+ {
+ xtype: "checkbox",
+ id: "checkboxAvailableOffline",
+ name: "checkboxAvailableOffline",
+ checked: false,
+ boxLabel: _("ID_AVAILABLE_OFFLINE_THE_MOBILE_APPLICATIONS")
+ }
+ ]
+ });
- var newEl,
- tpl = new Ext.Template(
- ''
- );
+ //items.push(comboDbConnections);
+
+ var frmDetails = new Ext.FormPanel({
+ id: 'frmDetails',
+ region: 'north',
+ labelWidth: 250,
+ labelAlign: 'right',
+ title: ADD_TAB_UID ? _('ID_PMTABLE') : _('ID_NEW_PMTABLE'),
+ bodyStyle: 'padding:10px',
+ frame: true,
+ height: 170,
+ items: items,
+ //tbar : tbar,
+ waitMsgTarget: true,
+ defaults: {
+ allowBlank: false,
+ msgTarget: 'side',
+ align: 'center'
+ }
+ });
+
+
+ southPanel = new Ext.FormPanel({
+ region: 'south',
+ buttons: [
+ {
+ text: TABLE === false ? _("ID_CREATE") : _("ID_UPDATE"),
+ handler: function () {
+ if (TABLE === false || dataNumRows == 0 || Ext.getCmp("chkKeepData").checked == true) {
+ if (TABLE !== false && TABLE.ADD_TAB_NAME !== Ext.getCmp('REP_TAB_NAME').getValue().trim()) {
+ PMExt.confirm(_('ID_CONFIRM'), _('ID_THE_NAME_CHANGE_MAY_CAUSE_DATA_LOSS'), createReportTable);
+ } else {
+ createReportTable();
+ }
+ } else {
+ PMExt.confirm(_('ID_CONFIRM'), _('ID_PMTABLE_SAVE_AND_DATA_LOST'), createReportTable);
+ }
+ }
+ }, {
+ text: _("ID_CANCEL"),
+ handler: function () {
+ proParam = PRO_UID !== false ? '?PRO_UID=' + PRO_UID : '';
+ location.href = '../pmTables' + proParam;
+ }
+ }
+ ]
+ });
+
+ var viewport = new Ext.Viewport({
+ layout: 'border',
+ autoScroll: false,
+ items: [frmDetails, FieldsPanel, southPanel]
+ });
+
+ /*** Editing routines ***/
+ if (TABLE !== false) {
+ Ext.getCmp('REP_TAB_NAME').setValue(TABLE.ADD_TAB_NAME);
+ Ext.getCmp('REP_TAB_NAME').setDisabled(false);
+ Ext.getCmp('REP_TAB_DSC').setValue(TABLE.ADD_TAB_DESCRIPTION);
+ Ext.getCmp('checkboxAvailableOffline').setValue(TABLE.ADD_TAB_OFFLINE === 1);
+ loadTableRowsFromArray(TABLE.FIELDS);
+ }
+
+ var newEl,
+ tpl = new Ext.Template(
+ ''
+ );
Ext.getCmp("chkKeepData").on('check', function () {
- if (dataNumRows > 0 && Ext.getCmp("chkKeepData").checked === false) {
- newEl = tpl.insertFirst(document.getElementById('assignedGrid'));
- Ext.fly('hideWarning').on('click', function() {
- Ext.fly(newEl).slideOut('t', {useDisplay:true});
- });
- Ext.fly(newEl).slideIn();
- } else if (Ext.getCmp("chkKeepData").checked === true) {
- Ext.fly(newEl).slideOut('t', {useDisplay:true});
- }
+ if (dataNumRows > 0 && Ext.getCmp("chkKeepData").checked === false) {
+ newEl = tpl.insertFirst(document.getElementById('assignedGrid'));
+ Ext.fly('hideWarning').on('click', function () {
+ Ext.fly(newEl).slideOut('t', {useDisplay: true});
+ });
+ Ext.fly(newEl).slideIn();
+ } else if (Ext.getCmp("chkKeepData").checked === true) {
+ Ext.fly(newEl).slideOut('t', {useDisplay: true});
+ }
});
});
@@ -838,210 +852,211 @@ Ext.onReady(function(){
function createReportTable()
{
- var tableName = Ext.getCmp('REP_TAB_NAME').getValue().trim();
- var tableDescription = Ext.getCmp('REP_TAB_DSC').getValue().trim();
+ var tableName = Ext.getCmp('REP_TAB_NAME').getValue().trim();
+ var tableDescription = Ext.getCmp('REP_TAB_DSC').getValue().trim();
- //validate table name
- if (tableName == '') {
- Ext.getCmp('REP_TAB_NAME').focus();
- PMExt.error(_('ID_ERROR'), _('ID_TABLE_NAME_IS_REQUIRED'), function(){
- Ext.getCmp('REP_TAB_NAME').focus();
- });
- return false;
- }
-
- // validate table name length
- if(tableName.length < 4) {
- PMExt.error(_('ID_ERROR'), _('ID_TABLE_NAME_TOO_SHORT'), function(){
- Ext.getCmp('REP_TAB_NAME').focus();
- });
- return false;
- }
-
- var allRows = assignedGrid.getStore();
- var columns = new Array();
- var hasSomePrimaryKey = false;
-
- //validate columns count
- if(allRows.getCount() == 0) {
- PMExt.error(_('ID_ERROR'), _('ID_PMTABLES_ALERT7'));
- return false;
- }
- var fieldsNames = new Array();
- // Reserved Words
- var reservedWords = new Array('DESC');
-
-
- for (var i = 0; i < allRows.getCount(); i++) {
- row = allRows.getAt(i);
-
- if (in_array(row.data['field_name'], fieldsNames)) {
- PMExt.error(_('ID_ERROR'),_('ID_PMTABLES_ALERT1') + ' ' + row.data['field_name']+'');
- return false;
- }
-
- for (j=0; j < reservedWords.length; j++) {
- if (row.data['field_name'] == reservedWords[j]) {
- PMExt.error(_('ID_ERROR'), _('ID_PMTABLES_RESERVED_FIELDNAME_WARNING', reservedWords[j]));
+ //validate table name
+ if (tableName == '') {
+ Ext.getCmp('REP_TAB_NAME').focus();
+ PMExt.error(_('ID_ERROR'), _('ID_TABLE_NAME_IS_REQUIRED'), function () {
+ Ext.getCmp('REP_TAB_NAME').focus();
+ });
return false;
- }
}
- // validate that fieldname is not empty
- if(row.data['field_name'].trim() == '') {
- PMExt.error(_('ID_ERROR'), _('ID_PMTABLES_ALERT2'));
- return false;
+ // validate table name length
+ if (tableName.length < 4) {
+ PMExt.error(_('ID_ERROR'), _('ID_TABLE_NAME_TOO_SHORT'), function () {
+ Ext.getCmp('REP_TAB_NAME').focus();
+ });
+ return false;
}
- if(row.data['field_label'].trim() == '') {
- PMExt.error(_('ID_ERROR'), _('ID_PMTABLES_ALERT3'));
- return false;
+ var allRows = assignedGrid.getStore();
+ var columns = new Array();
+ var hasSomePrimaryKey = false;
+
+ //validate columns count
+ if (allRows.getCount() == 0) {
+ PMExt.error(_('ID_ERROR'), _('ID_PMTABLES_ALERT7'));
+ return false;
}
+ var fieldsNames = new Array();
+ // Reserved Words
+ var reservedWords = new Array('DESC');
- if (row.data['field_type'] == '') {
- PMExt.error(_('ID_ERROR'), _('ID_PMTABLES_ALERT4') + ' '+row.data['field_name']+'');
- return false;
- }
- // validate field size for varchar & int column types
- if ((row.data['field_type'] == 'VARCHAR' || row.data['field_type'] == 'INTEGER') && row.data['field_size'] == '') {
- PMExt.error(_('ID_ERROR'), _('ID_PMTABLES_ALERT5')+' '+row.data['field_name']+' ('+row.data['field_type']+').');
- return false;
- }
+ for (var i = 0; i < allRows.getCount(); i++) {
+ row = allRows.getAt(i);
- if (row.data['field_index']) {
- hasSomeIndex = true;
- }
-
- if (row.data['field_key']) {
- hasSomePrimaryKey = true;
- }
- fieldsNames.push(row.data['field_name']);
- columns.push(row.data);
- }
-
- if (!hasSomePrimaryKey) {
- PMExt.error(_('ID_ERROR'), _('ID_PMTABLES_ALERT6'));
- return;
- }
-
- Ext.Msg.show({
- title : '',
- msg : TABLE !== false ? _('ID_UPDATING_TABLE') : _('ID_CREATING_TABLE'),
- wait:true,
- waitConfig: {interval:500}
- });
-
- var p = {
- REP_TAB_UID: (TABLE !== false)? TABLE.ADD_TAB_UID : "",
- PRO_UID: "",
- REP_TAB_NAME: (TABLE !== false)? tableName : "PMT_" + tableName,
- REP_TAB_NAME_OLD_NAME: "PMT_" + ((TABLE !== false) ? TABLE.ADD_TAB_NAME : tableName),
- REP_TAB_DSC: tableDescription,
- REP_TAB_CONNECTION: "workflow",
- REP_TAB_TYPE: "",
- REP_TAB_GRID: "",
- columns: Ext.util.JSON.encode(columns)
- };
-
- if (dataNumRows > 0) {
- p.keepData = (Ext.getCmp("chkKeepData").checked == true)? 1 : 0;
- }
-
- Ext.Ajax.request({
- url: '../pmTablesProxy/save',
- params: p,
- success: function(resp){
- try {
- result = Ext.util.JSON.decode(resp.responseText);
- Ext.MessageBox.hide();
- if (result.success) {
- proParam = PRO_UID !== false ? '?PRO_UID='+PRO_UID : '';
- location.href = '../pmTables' + proParam; //history.back();
- } else {
- PMExt.error(_('ID_ERROR'), result.type +': '+result.msg);
- if (window.console && window.console.firebug) {
- window.console.log(result.msg);
- window.console.log(result.trace);
- }
+ if (in_array(row.data['field_name'], fieldsNames)) {
+ PMExt.error(_('ID_ERROR'), _('ID_PMTABLES_ALERT1') + ' ' + row.data['field_name'] + '');
+ return false;
}
- } catch (e) {
- if (dbg) {
- _showDebugWin(resp.responseText);
- } else {
- PMExt.error( _('ID_ERROR'), _('ID_SOMETHING_WRONG'));
+
+ for (j = 0; j < reservedWords.length; j++) {
+ if (row.data['field_name'] == reservedWords[j]) {
+ PMExt.error(_('ID_ERROR'), _('ID_PMTABLES_RESERVED_FIELDNAME_WARNING', reservedWords[j]));
+ return false;
+ }
}
- }
- },
- failure: function(obj, resp){
- Ext.Msg.alert( _('ID_ERROR'), resp.result.msg);
+
+ // validate that fieldname is not empty
+ if (row.data['field_name'].trim() == '') {
+ PMExt.error(_('ID_ERROR'), _('ID_PMTABLES_ALERT2'));
+ return false;
+ }
+
+ if (row.data['field_label'].trim() == '') {
+ PMExt.error(_('ID_ERROR'), _('ID_PMTABLES_ALERT3'));
+ return false;
+ }
+
+ if (row.data['field_type'] == '') {
+ PMExt.error(_('ID_ERROR'), _('ID_PMTABLES_ALERT4') + ' ' + row.data['field_name'] + '');
+ return false;
+ }
+
+ // validate field size for varchar & int column types
+ if ((row.data['field_type'] == 'VARCHAR' || row.data['field_type'] == 'INTEGER') && row.data['field_size'] == '') {
+ PMExt.error(_('ID_ERROR'), _('ID_PMTABLES_ALERT5') + ' ' + row.data['field_name'] + ' (' + row.data['field_type'] + ').');
+ return false;
+ }
+
+ if (row.data['field_index']) {
+ hasSomeIndex = true;
+ }
+
+ if (row.data['field_key']) {
+ hasSomePrimaryKey = true;
+ }
+ fieldsNames.push(row.data['field_name']);
+ columns.push(row.data);
}
- });
+
+ if (!hasSomePrimaryKey) {
+ PMExt.error(_('ID_ERROR'), _('ID_PMTABLES_ALERT6'));
+ return;
+ }
+
+ Ext.Msg.show({
+ title: '',
+ msg: TABLE !== false ? _('ID_UPDATING_TABLE') : _('ID_CREATING_TABLE'),
+ wait: true,
+ waitConfig: {interval: 500}
+ });
+
+ var p = {
+ REP_TAB_UID: (TABLE !== false) ? TABLE.ADD_TAB_UID : "",
+ PRO_UID: "",
+ REP_TAB_NAME: (TABLE !== false) ? tableName : "PMT_" + tableName,
+ REP_TAB_NAME_OLD_NAME: "PMT_" + ((TABLE !== false) ? TABLE.ADD_TAB_NAME : tableName),
+ REP_TAB_DSC: tableDescription,
+ REP_TAB_CONNECTION: "workflow",
+ REP_TAB_TYPE: "",
+ REP_TAB_GRID: "",
+ REP_TAB_OFFLINE: Ext.getCmp("checkboxAvailableOffline").checked === true ? "1" : "0",
+ columns: Ext.util.JSON.encode(columns)
+ };
+
+ if (dataNumRows > 0) {
+ p.keepData = (Ext.getCmp("chkKeepData").checked == true) ? 1 : 0;
+ }
+
+ Ext.Ajax.request({
+ url: '../pmTablesProxy/save',
+ params: p,
+ success: function (resp) {
+ try {
+ result = Ext.util.JSON.decode(resp.responseText);
+ Ext.MessageBox.hide();
+ if (result.success) {
+ proParam = PRO_UID !== false ? '?PRO_UID=' + PRO_UID : '';
+ location.href = '../pmTables' + proParam; //history.back();
+ } else {
+ PMExt.error(_('ID_ERROR'), result.type + ': ' + result.msg);
+ if (window.console && window.console.firebug) {
+ window.console.log(result.msg);
+ window.console.log(result.trace);
+ }
+ }
+ } catch (e) {
+ if (dbg) {
+ _showDebugWin(resp.responseText);
+ } else {
+ PMExt.error(_('ID_ERROR'), _('ID_SOMETHING_WRONG'));
+ }
+ }
+ },
+ failure: function (obj, resp) {
+ Ext.Msg.alert(_('ID_ERROR'), resp.result.msg);
+ }
+ });
}
//end createReportTable
function _showDebugWin(content)
{
- dbgWin = new Ext.Window({
- title: '',
- id: 'dbgWin',
- layout: 'fit',
- width: 570,
- height: 400,
- modal: false,
- autoScroll: true,
- maximizable: true,
- //closeAction: 'hide',
- maximizable : false,
- items: [],
- x: 0,
- y: 0,
- html: '' + content + '
'
- });
+ dbgWin = new Ext.Window({
+ title: '',
+ id: 'dbgWin',
+ layout: 'fit',
+ width: 570,
+ height: 400,
+ modal: false,
+ autoScroll: true,
+ maximizable: true,
+ //closeAction: 'hide',
+ maximizable: false,
+ items: [],
+ x: 0,
+ y: 0,
+ html: '' + content + '
'
+ });
- dbgWin.show();
+ dbgWin.show();
}
function addColumn() {
- var PMRow = assignedGrid.getStore().recordType;
- //var meta = mapPMFieldType(records[i].data['FIELD_UID']);
- var row = new PMRow({
- 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;
+ var PMRow = assignedGrid.getStore().recordType;
+ //var meta = mapPMFieldType(records[i].data['FIELD_UID']);
+ var row = new PMRow({
+ 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;
- editor.stopEditing();
- store.insert(len, row);
- assignedGrid.getView().refresh();
- assignedGrid.getSelectionModel().selectRow(len);
- editor.startEditing(len);
+ editor.stopEditing();
+ store.insert(len, row);
+ assignedGrid.getView().refresh();
+ assignedGrid.getSelectionModel().selectRow(len);
+ editor.startEditing(len);
}
function editColumn()
{
- var row = Ext.getCmp('assignedGrid').getSelectionModel().getSelected();
- var selIndex = store.indexOfId(row.id);
- editor.stopEditing();
- assignedGrid.getView().refresh();
- assignedGrid.getSelectionModel().selectRow(selIndex);
- editor.startEditing(selIndex);
+ var row = Ext.getCmp('assignedGrid').getSelectionModel().getSelected();
+ var selIndex = store.indexOfId(row.id);
+ editor.stopEditing();
+ assignedGrid.getView().refresh();
+ assignedGrid.getSelectionModel().selectRow(selIndex);
+ editor.startEditing(selIndex);
}
function removeColumn()
{
- PMExt.confirm(_('ID_CONFIRM'), _('ID_CONFIRM_REMOVE_FIELD'), function(){
- var records = Ext.getCmp('assignedGrid').getSelectionModel().getSelections();
- Ext.each(records, Ext.getCmp('assignedGrid').store.remove, Ext.getCmp('assignedGrid').store);
- });
+ PMExt.confirm(_('ID_CONFIRM'), _('ID_CONFIRM_REMOVE_FIELD'), function () {
+ var records = Ext.getCmp('assignedGrid').getSelectionModel().getSelections();
+ Ext.each(records, Ext.getCmp('assignedGrid').store.remove, Ext.getCmp('assignedGrid').store);
+ });
}
function editorFieldsEnableDisable(fieldTypeValue, fieldNull, fieldPrimaryKey, fieldIndex, fieldInc, sizeEdit)
@@ -1062,11 +1077,11 @@ function editorFieldsEnableDisable(fieldTypeValue, fieldNull, fieldPrimaryKey, f
//Numbers
if (fieldTypeValue == "INTEGER" || fieldTypeValue == "BIGINT") {
- //Enable All
+ //Enable All
}
if (fieldTypeValue == "TINYINT" || fieldTypeValue == "SMALLINT") {
- swSize = 0;
+ swSize = 0;
}
if (fieldTypeValue == "DECIMAL" || fieldTypeValue == "FLOAT") {
@@ -1076,10 +1091,10 @@ function editorFieldsEnableDisable(fieldTypeValue, fieldNull, fieldPrimaryKey, f
}
if (fieldTypeValue == "DOUBLE" || fieldTypeValue == "REAL") {
- swSize = 0;
- swPK = 0;
- swAI = 0;
- swI = 0;
+ swSize = 0;
+ swPK = 0;
+ swAI = 0;
+ swI = 0;
}
//String
@@ -1150,189 +1165,192 @@ function editorFieldsEnableDisable(fieldTypeValue, fieldNull, fieldPrimaryKey, f
}
////ASSIGNBUTON FUNCTIONALITY
-AssignFieldsAction = function(){
- records = Ext.getCmp('availableGrid').getSelectionModel().getSelections();
+AssignFieldsAction = function () {
+ var records, i;
- for(i=0; i < records.length; i++){
- var PMRow = assignedGrid.getStore().recordType;
- 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_index : 0,
- field_null : 1
- });
+ records = Ext.getCmp('availableGrid').getSelectionModel().getSelections();
- store.add(row);
- }
+ for (i = 0; i < records.length; i++) {
+ var PMRow = assignedGrid.getStore().recordType;
+ 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_index: 0,
+ field_null: 1
+ });
- //remove from source grid
- Ext.each(records, Ext.getCmp('availableGrid').store.remove, Ext.getCmp('availableGrid').store);
+ store.add(row);
+ }
+
+ //remove from source grid
+ Ext.each(records, Ext.getCmp('availableGrid').store.remove, Ext.getCmp('availableGrid').store);
};
//RemoveButton Functionality
-RemoveFieldsAction = function(){
+RemoveFieldsAction = function () {
- records = Ext.getCmp('assignedGrid').getSelectionModel().getSelections();
- var PMRow = availableGrid.getStore().recordType;
- for(i=0; i < records.length; i++){
- if (records[i].data['field_dyn'] != '' && records[i].data['field_name'] != 'APP_UID' && records[i].data['field_name'] != 'APP_NUMBER' && records[i].data['field_name'] != 'ROW') {
- var row = new PMRow({
- FIELD_UID : records[i].data['field_uid'],
- FIELD_NAME : records[i].data['field_dyn']
- });
- availableGrid.getStore().add(row);
- } else {
- records[i] = null;
+ records = Ext.getCmp('assignedGrid').getSelectionModel().getSelections();
+ var PMRow = availableGrid.getStore().recordType;
+ for (i = 0; i < records.length; i++) {
+ if (records[i].data['field_dyn'] != '' && records[i].data['field_name'] != 'APP_UID' && records[i].data['field_name'] != 'APP_NUMBER' && records[i].data['field_name'] != 'ROW') {
+ var row = new PMRow({
+ FIELD_UID: records[i].data['field_uid'],
+ FIELD_NAME: records[i].data['field_dyn']
+ });
+ availableGrid.getStore().add(row);
+ } else {
+ records[i] = null;
+ }
}
- }
- //remove from source grid
- Ext.each(records, Ext.getCmp('assignedGrid').store.remove, Ext.getCmp('assignedGrid').store);
+ //remove from source grid
+ Ext.each(records, Ext.getCmp('assignedGrid').store.remove, Ext.getCmp('assignedGrid').store);
};
//AssignALLButton Functionality
-AssignAllFieldsAction = function(){
- var available = Ext.getCmp('availableGrid');
- var allRows = available.getStore();
- var arrAux = new Array();
- records = new Array()
+AssignAllFieldsAction = function () {
+ var available = Ext.getCmp('availableGrid');
+ var allRows = available.getStore();
+ var arrAux = new Array();
+ records = new Array()
- if (allRows.getCount() > 0){
- var PMRow = assignedGrid.getStore().recordType;
- for (i=0; i < allRows.getCount(); i++){
- records[i] = allRows.getAt(i);
- 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_index : 0,
- field_null : 1
- });
+ if (allRows.getCount() > 0) {
+ var PMRow = assignedGrid.getStore().recordType;
+ for (i = 0; i < allRows.getCount(); i++) {
+ records[i] = allRows.getAt(i);
+ 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_index: 0,
+ field_null: 1
+ });
- store.add(row);
+ store.add(row);
+ }
+ //remove from source grid
+ Ext.each(records, Ext.getCmp('availableGrid').store.remove, Ext.getCmp('availableGrid').store);
}
- //remove from source grid
- Ext.each(records, Ext.getCmp('availableGrid').store.remove, Ext.getCmp('availableGrid').store);
- }
};
//RevomeALLButton Functionality
-RemoveAllFieldsAction = function(){
- var allRows = Ext.getCmp('assignedGrid').getStore();
- var records = new Array();
- if (allRows.getCount() > 0) {
- var PMRow = availableGrid.getStore().recordType;
- for (var i=0; i < allRows.getCount(); i++){
- records[i] = allRows.getAt(i);
- if (records[i].data['field_dyn'] != '' && records[i].data['field_name'] != 'APP_UID' && records[i].data['field_name'] != 'APP_NUMBER' && records[i].data['field_name'] != 'ROW') {
- var row = new PMRow({
- FIELD_UID : records[i].data['field_uid'],
- FIELD_NAME : records[i].data['field_dyn']
- });
- availableGrid.getStore().add(row);
- } else {
- records[i] = null;
- }
+RemoveAllFieldsAction = function () {
+ var allRows = Ext.getCmp('assignedGrid').getStore();
+ var records = new Array();
+ if (allRows.getCount() > 0) {
+ var PMRow = availableGrid.getStore().recordType;
+ for (var i = 0; i < allRows.getCount(); i++) {
+ records[i] = allRows.getAt(i);
+ if (records[i].data['field_dyn'] != '' && records[i].data['field_name'] != 'APP_UID' && records[i].data['field_name'] != 'APP_NUMBER' && records[i].data['field_name'] != 'ROW') {
+ var row = new PMRow({
+ FIELD_UID: records[i].data['field_uid'],
+ FIELD_NAME: records[i].data['field_dyn']
+ });
+ availableGrid.getStore().add(row);
+ } else {
+ records[i] = null;
+ }
+ }
+ //remove from source grid
+ Ext.each(records, Ext.getCmp('assignedGrid').store.remove, Ext.getCmp('assignedGrid').store);
}
- //remove from source grid
- Ext.each(records, Ext.getCmp('assignedGrid').store.remove, Ext.getCmp('assignedGrid').store);
- }
};
// drag & drop handler
-var DDLoadFields = function(){
- var availableGridDropTargetEl = availableGrid.getView().scroller.dom;
- var availableGridDropTarget = new Ext.dd.DropTarget(availableGridDropTargetEl, {
- ddGroup : 'availableGridDDGroup',
- notifyDrop : function(ddSource, e, data){
+var DDLoadFields = function () {
+ var availableGridDropTargetEl = availableGrid.getView().scroller.dom;
+ var availableGridDropTarget = new Ext.dd.DropTarget(availableGridDropTargetEl, {
+ ddGroup: 'availableGridDDGroup',
+ notifyDrop: function (ddSource, e, data) {
- var records = ddSource.dragData.selections;
- var PMRow = availableGrid.getStore().recordType;
+ var records = ddSource.dragData.selections;
+ var PMRow = availableGrid.getStore().recordType;
- for (i=0; i < records.length; i++){
- if (records[i].data['field_dyn'] != '' && records[i].data['field_name'] != 'APP_UID' && records[i].data['field_name'] != 'APP_NUMBER' && records[i].data['field_name'] != 'ROW') {
- var row = new PMRow({
- FIELD_UID: records[i].data['field_uid'],
- FIELD_NAME: records[i].data['field_dyn']
- });
- availableGrid.getStore().add(row);
- } else if (records[i].data['field_dyn'] != '') {
- records[i] = null;
+ for (i = 0; i < records.length; i++) {
+ if (records[i].data['field_dyn'] != '' && records[i].data['field_name'] != 'APP_UID' && records[i].data['field_name'] != 'APP_NUMBER' && records[i].data['field_name'] != 'ROW') {
+ var row = new PMRow({
+ FIELD_UID: records[i].data['field_uid'],
+ FIELD_NAME: records[i].data['field_dyn']
+ });
+ availableGrid.getStore().add(row);
+ } else if (records[i].data['field_dyn'] != '') {
+ records[i] = null;
+ }
+ }
+
+ Ext.each(records, ddSource.grid.store.remove, ddSource.grid.store);
+ return true;
}
- }
+ });
- Ext.each(records, ddSource.grid.store.remove, ddSource.grid.store);
- return true;
- }
- });
+ //droptarget on grid forassignment
+ var assignedGridDropTargetEl = assignedGrid.getView().scroller.dom;
+ var assignedGridDropTarget = new Ext.dd.DropTarget(assignedGridDropTargetEl, {
+ ddGroup: 'assignedGridDDGroup',
+ notifyDrop: function (ddSource, e, data) {
- //droptarget on grid forassignment
- var assignedGridDropTargetEl = assignedGrid.getView().scroller.dom;
- var assignedGridDropTarget = new Ext.dd.DropTarget(assignedGridDropTargetEl, {
- ddGroup : 'assignedGridDDGroup',
- notifyDrop : function(ddSource, e, data){
+ var records = ddSource.dragData.selections;
+ var PMRow = assignedGrid.getStore().recordType;
- var records = ddSource.dragData.selections;
- var PMRow = assignedGrid.getStore().recordType;
+ //add on target grid
+ for (i = 0; i < records.length; i++) {
+ //arrAux[r] = records[r].data['FIELD_UID'];
+ 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_index: 0,
+ field_null: 1
+ });
- //add on target grid
- for (i=0; i < records.length; i++){
- //arrAux[r] = records[r].data['FIELD_UID'];
- 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_index : 0,
- field_null : 1
- });
+ store.add(row);
+ }
+ //remove from source grid
+ Ext.each(records, availableGrid.store.remove, availableGrid.store);
- store.add(row);
- }
- //remove from source grid
- Ext.each(records, availableGrid.store.remove, availableGrid.store);
-
- return true;
- }
- });
- //sw_func_groups = true;
+ return true;
+ }
+ });
+ //sw_func_groups = true;
};
function loadTableRowsFromArray(records)
{
var PMRow = assignedGrid.getStore().recordType;
- if (records.length == 0) return;
- for (i=0;i('+ _('ID_OLD_VERSION') +')' : v;
- }});
- cmodelColumns.push({header: _('ID_DESCRIPTION'), dataIndex: 'ADD_TAB_DESCRIPTION', sortable: true, width: 400, hidden: false, align: 'left', renderer: function (v, p, r) {
- if (r.get('ADD_TAB_TAG')) {
- tag = r.get('ADD_TAB_TAG').replace('plugin@', '');
- tag = tag.charAt(0).toUpperCase() + tag.slice(1);
- switch(tag.toLowerCase()){
- case 'simplereport':
- tag = _('ID_SIMPLE_REPORT');
- break;
+ cmodelColumns.push({id: 'ADD_TAB_UID', dataIndex: 'ADD_TAB_UID', hidden: true, hideable: false});
+ cmodelColumns.push({dataIndex: 'ADD_TAB_TAG', 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 + ' (' + _('ID_OLD_VERSION') + ')' : v;
}
- }
-
- v = Ext.util.Format.htmlEncode(v);
+ });
+ cmodelColumns.push({header: _('ID_DESCRIPTION'), dataIndex: 'ADD_TAB_DESCRIPTION', sortable: true, width: 400, hidden: false, align: 'left', renderer: function (v, p, r) {
+ if (r.get('ADD_TAB_TAG')) {
+ tag = r.get('ADD_TAB_TAG').replace('plugin@', '');
+ tag = tag.charAt(0).toUpperCase() + tag.slice(1);
+ switch (tag.toLowerCase()) {
+ case 'simplereport':
+ tag = _('ID_SIMPLE_REPORT');
+ break;
+ }
+ }
- return r.get("ADD_TAB_TAG") ? "" + tag + ": "+ v : v;
- }});
- cmodelColumns.push({header: _('ID_TABLE_TYPE'), dataIndex: 'PRO_UID', width: 120, align:'left', renderer: function(v,p,r){
- color = r.get('PRO_UID') ? 'blue' : 'green';
- value = r.get('PRO_UID') ? _('ID_REPORT_TABLE') : _('ID_PMTABLE');
- return ''+value+' ';
- }});
+ v = Ext.util.Format.htmlEncode(v);
+
+ return r.get("ADD_TAB_TAG") ? "" + tag + ": " + v : v;
+ }
+ });
+ cmodelColumns.push({header: _('ID_TABLE_TYPE'), dataIndex: 'PRO_UID', width: 120, align: 'left', renderer: function (v, p, r) {
+ color = r.get('PRO_UID') ? 'blue' : 'green';
+ value = r.get('PRO_UID') ? _('ID_REPORT_TABLE') : _('ID_PMTABLE');
+ return '' + value + ' ';
+ }
+ });
cmodelColumns.push({dataIndex: "DBS_UID", hidden: true, hideable: false});
- cmodelColumns.push({header: _('ID_RECORDS'), dataIndex: 'NUM_ROWS', width: 90, align:'left', renderer: function (v, p, r) {
- return '' + v + '
';
- }});
+ cmodelColumns.push({header: _('ID_RECORDS'), dataIndex: 'NUM_ROWS', width: 90, align: 'left', renderer: function (v, p, r) {
+ return '' + v + '
';
+ }
+ });
if (PRO_UID === false) {
- cmodelColumns.push({header: _('ID_PROCESS'), dataIndex: 'PRO_TITLE', width: 180, align:'left'});
+ cmodelColumns.push({header: _('ID_PROCESS'), dataIndex: 'PRO_TITLE', width: 180, 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: 400, hidden: true, align: 'left'});
+
+ cmodelColumns.push({header: _('ID_AVAILABLE_OFFLINE'), dataIndex: 'ADD_TAB_OFFLINE', width: 400, align: 'left', renderer: function (value) {
+ return value === "1" ? _('ID_YES') : _('ID_NO');
+ }
+ });
cmodel = new Ext.grid.ColumnModel({
- defaults: {
- width: 50,
- sortable: true
- },
- columns: cmodelColumns
+ defaults: {
+ width: 50,
+ sortable: true
+ },
+ columns: cmodelColumns
});
bbarpaging = new Ext.PagingToolbar({
@@ -327,53 +336,53 @@ Ext.onReady(function(){
pageSize: pageSize,
store: store,
displayInfo: true,
- displayMsg: (PRO_UID? _('ID_GRID_PAGE_DISPLAYING_REPORTABLES_MESSAGE') : _('ID_GRID_PAGE_DISPLAYING_PMTABLES_MESSAGE')) + ' ',
+ displayMsg: (PRO_UID ? _('ID_GRID_PAGE_DISPLAYING_REPORTABLES_MESSAGE') : _('ID_GRID_PAGE_DISPLAYING_PMTABLES_MESSAGE')) + ' ',
emptyMsg: _('ID_GRID_PAGE_NO_PMTABLES_MESSAGE'),
- items: ['-',_('ID_PAGE_SIZE')+':',comboPageSize]
+ items: ['-', _('ID_PAGE_SIZE') + ':', comboPageSize]
});
infoGrid = new Ext.grid.GridPanel({
- region: 'center',
- layout: 'fit',
- id: 'infoGrid',
- height:100,
- autoWidth : true,
- title : (PRO_UID? _('ID_REPORT_TABLES') : _('ID_PMTABLE')),
- stateful : true,
- stateId : 'gridList',
- enableColumnResize: true,
- enableHdMenu: true,
- frame:false,
- columnLines: false,
- viewConfig: {
- forceFit:true
- },
- store: store,
- loadMask: true,
- cm: cmodel,
- sm: chkSelModel,
- tbar: [
- newButton,
- editButton,
- deleteButton,'-',
- dataButton,'-' ,
- importButton,
- exportButton,
- '->',
- searchText,
- clearTextButton,
- searchButton],
- 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}'
- })
+ region: 'center',
+ layout: 'fit',
+ id: 'infoGrid',
+ height: 100,
+ autoWidth: true,
+ title: (PRO_UID ? _('ID_REPORT_TABLES') : _('ID_PMTABLE')),
+ stateful: true,
+ stateId: 'gridList',
+ enableColumnResize: true,
+ enableHdMenu: true,
+ frame: false,
+ columnLines: false,
+ viewConfig: {
+ forceFit: true
+ },
+ store: store,
+ loadMask: true,
+ cm: cmodel,
+ sm: chkSelModel,
+ tbar: [
+ newButton,
+ editButton,
+ deleteButton, '-',
+ dataButton, '-',
+ importButton,
+ exportButton,
+ '->',
+ searchText,
+ clearTextButton,
+ searchButton],
+ 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) {
@@ -397,17 +406,19 @@ Ext.onReady(function(){
} else {
externalOption.setDisabled(true);
}
- externalOption.setHidden((rowsSelected[0].get("TYPE") != "CLASSIC" && rowsSelected[0].get("DBS_UID") == "workflow")? false : true);
+ externalOption.setHidden((rowsSelected[0].get("TYPE") != "CLASSIC" && rowsSelected[0].get("DBS_UID") == "workflow") ? false : true);
}
- },this);
+ }, this);
- infoGrid.on('contextmenu', function(evt){evt.preventDefault();}, this);
- infoGrid.addListener('rowcontextmenu',onMessageContextMenu, this);
+ infoGrid.on('contextmenu', function (evt) {
+ evt.preventDefault();
+ }, this);
+ infoGrid.addListener('rowcontextmenu', onMessageContextMenu, this);
viewport = new Ext.Viewport({
- layout: 'fit',
- autoScroll: false,
- items: [infoGrid]
+ layout: 'fit',
+ autoScroll: false,
+ items: [infoGrid]
});
infoGrid.store.load();
@@ -423,526 +434,527 @@ onMessageContextMenu = function (grid, rowIndex, e) {
/////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(); } );
+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(){};
+DoNothing = function () {};
//Load New PM Table Forms
-NewReportTable = function() {
- if(PRO_UID !== false) {
- location.href = 'pmTables/edit?PRO_UID='+PRO_UID+'&tableType=report&flagProcessmap='+flagProcessmap;
+NewReportTable = function () {
+ if (PRO_UID !== false) {
+ location.href = 'pmTables/edit?PRO_UID=' + PRO_UID + '&tableType=report&flagProcessmap=' + flagProcessmap;
} else {
- location.href = 'pmTables/edit?tableType=report&flagProcessmap='+flagProcessmap;
+ location.href = 'pmTables/edit?tableType=report&flagProcessmap=' + flagProcessmap;
}
};
-NewReportTableOld = function(){
- //location.href = 'reportTables/edit?PRO_UID='+PRO_UID+'&tableType=report';
- //parent.reportTables2();
- //parent.Pm.data.render.buildingBlocks.injector('reportTables2');
- location.href = 'reportTables/reportTables_Edit?PRO_UID='+PRO_UID;
+NewReportTableOld = function () {
+ //location.href = 'reportTables/edit?PRO_UID='+PRO_UID+'&tableType=report';
+ //parent.reportTables2();
+ //parent.Pm.data.render.buildingBlocks.injector('reportTables2');
+ location.href = 'reportTables/reportTables_Edit?PRO_UID=' + PRO_UID;
};
-newPMTable = function(){
- location.href = 'pmTables/edit?tableType=table';
+newPMTable = function () {
+ location.href = 'pmTables/edit?tableType=table';
};
-EditPMTable = function(){
- var row = Ext.getCmp('infoGrid').getSelectionModel().getSelected();
+EditPMTable = function () {
+ var row = Ext.getCmp('infoGrid').getSelectionModel().getSelected();
if (row.data.TYPE != 'CLASSIC') {
- tableType = row.data.PRO_UID ? 'report' : 'table';
- proParam = PRO_UID !== false ? '&PRO_UID='+PRO_UID : '';
- location.href = 'pmTables/edit?id='+row.data.ADD_TAB_UID+'&flagProcessmap='+flagProcessmap+'&tableType=' + tableType + proParam;
- }
- else { //edit old report table
- location.href = 'reportTables/reportTables_Edit?REP_TAB_UID='+row.data.ADD_TAB_UID
+ tableType = row.data.PRO_UID ? 'report' : 'table';
+ proParam = PRO_UID !== false ? '&PRO_UID=' + PRO_UID : '';
+ location.href = 'pmTables/edit?id=' + row.data.ADD_TAB_UID + '&flagProcessmap=' + flagProcessmap + '&tableType=' + tableType + proParam;
+ } else { //edit old report table
+ location.href = 'reportTables/reportTables_Edit?REP_TAB_UID=' + row.data.ADD_TAB_UID
}
};
//Confirm PM Table Deletion Tasks
-DeletePMTable = function() {
- var rows = Ext.getCmp('infoGrid').getSelectionModel().getSelections();
- var selections = new Array();
+DeletePMTable = function () {
+ var rows = Ext.getCmp('infoGrid').getSelectionModel().getSelections();
+ var selections = new Array();
- for(var i=0; i' + _('ID_IMPORTING_ERROR') + '' + result.message,
- items: [],
+ if (result.success) {
+ PMExt.notify('', result.message);
+ } else {
+ win = new Ext.Window({
+ id: 'windowImportingError',
+ applyTo: 'hello-win',
+ layout: 'fit',
+ width: 500,
+ height: 300,
+ closeAction: 'hide',
+ plain: true,
+ html: '' + _('ID_IMPORTING_ERROR') + '
' + result.message,
+ items: [],
- buttons: [{
- text: 'Close',
- handler: function () {
- win.hide();
+ buttons: [{
+ text: 'Close',
+ handler: function () {
+ win.hide();
+ }
+ }]
+ });
+ win.show(this);
}
- }]
- });
- win.show(this);
- }
- w.close();
- infoGrid.store.reload();
- },
- failure: function (o, resp) {
- w.close();
- infoGrid.store.reload();
-
- var result = Ext.util.JSON.decode(resp.response.responseText);
- if (result.errorType == 'warning') {
- Ext.MessageBox.show({
- title: _('ID_WARNING_PMTABLES'),
- width: 510,
- height: 300,
- msg: "" + result.message.replace(/\n/g, '
') + "
",
- buttons: Ext.MessageBox.OK,
- animEl: 'mb9',
- fn: function () {
+ w.close();
+ infoGrid.store.reload();
},
- icon: Ext.MessageBox.INFO
- });
- } else {
- if (result.errorType == 'notice') {
- Ext.MessageBox.alert(_("ID_ERROR"), result.message);
- } else {
- if (result.fromAdmin) { /* from admin tab */
- aOverwrite = result.arrayOverwrite;
- aRelated = result.arrayRelated;
- aMessage = result.arrayMessage;
- pmtablesErrors(aOverwrite, aRelated, aMessage);
- } else { /* from designer tab */
- aOverwrite = result.arrayOverwrite;
- aRelated = result.arrayRelated;
- aMessage = result.arrayMessage;
- pmtablesErrors(aOverwrite, aRelated, aMessage);
+ failure: function (o, resp) {
+ w.close();
+ infoGrid.store.reload();
+
+ var result = Ext.util.JSON.decode(resp.response.responseText);
+ if (result.errorType == 'warning') {
+ Ext.MessageBox.show({
+ title: _('ID_WARNING_PMTABLES'),
+ width: 510,
+ height: 300,
+ msg: "" + result.message.replace(/\n/g, '
') + "
",
+ buttons: Ext.MessageBox.OK,
+ animEl: 'mb9',
+ fn: function () {
+ },
+ icon: Ext.MessageBox.INFO
+ });
+ } else {
+ if (result.errorType == 'notice') {
+ Ext.MessageBox.alert(_("ID_ERROR"), result.message);
+ } else {
+ if (result.fromAdmin) { /* from admin tab */
+ aOverwrite = result.arrayOverwrite;
+ aRelated = result.arrayRelated;
+ aMessage = result.arrayMessage;
+ pmtablesErrors(aOverwrite, aRelated, aMessage);
+ } else { /* from designer tab */
+ aOverwrite = result.arrayOverwrite;
+ aRelated = result.arrayRelated;
+ aMessage = result.arrayMessage;
+ pmtablesErrors(aOverwrite, aRelated, aMessage);
+ }
+ }
+ }
}
- }
+ });
}
+ } else {
+ Ext.MessageBox.alert(_("ID_ERROR"), _("ID_FILE_UPLOAD_INCORRECT_EXTENSION"));
}
- });
- }
- } else {
- Ext.MessageBox.alert(_("ID_ERROR"), _("ID_FILE_UPLOAD_INCORRECT_EXTENSION"));
- }
- }
- },{
- id: 'importPMTableButtonCancel',
- text: TRANSLATIONS.ID_CANCEL,
- handler: function(){
- w.close();
- }
- }]
- })
- ]
- });
- w.show();
+ }
+ }, {
+ id: 'importPMTableButtonCancel',
+ text: TRANSLATIONS.ID_CANCEL,
+ handler: function () {
+ w.close();
+ }
+ }]
+ })
+ ]
+ });
+ w.show();
}
//Load Export PM Tables Form
-ExportPMTable = function(){
- var rows = Ext.getCmp('infoGrid').getSelectionModel().getSelections();
- var toExportRows = new Array();
+ExportPMTable = function () {
+ var rows = Ext.getCmp('infoGrid').getSelectionModel().getSelections();
+ var toExportRows = new Array();
- for(var i=0; i