PMC-1308 New attributes in the PMTables editions

This commit is contained in:
Roly Rudy Gutierrez Pinto
2019-10-30 16:28:21 -04:00
parent f74ee6a600
commit 53e1100576
15 changed files with 2153 additions and 1782 deletions

View File

@@ -0,0 +1,28 @@
<?php
use Faker\Generator as Faker;
$factory->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()
];
});

View File

@@ -0,0 +1,109 @@
<?php
namespace Tests\unit\workflow\engine\classes\model;
use AdditionalTables;
use Exception;
use G;
use ProcessMaker\Model\AdditionalTables as AdditionalTablesModel;
use Tests\TestCase;
class AdditionalTablesTest extends TestCase
{
/**
* This tests the creation of a PMTable.
* @test
* @covers \AdditionalTables::create()
*/
public function it_should_create()
{
$data = [
"ADD_TAB_UID" => "",
"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);
}
}

View File

@@ -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);

View File

@@ -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

View File

@@ -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);

View File

@@ -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)';

View File

@@ -2522,6 +2522,8 @@
<column name="ADD_TAB_TYPE" type="VARCHAR" size="32" required="false" default=""/>
<column name="ADD_TAB_GRID" type="VARCHAR" size="256" required="false" default=""/>
<column name="ADD_TAB_TAG" type="VARCHAR" size="256" required="false" default=""/>
<column name="ADD_TAB_OFFLINE" type="TINYINT" required="true" default="0"/>
<column name="ADD_TAB_UPDATE_DATE" type="TIMESTAMP" required="true"/>
<index name="indexAdditionalProcess">
<index-column name="PRO_UID"/>
</index>

View File

@@ -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

View File

@@ -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') ,

View File

@@ -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';

View File

@@ -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;

View File

@@ -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'];

View File

@@ -0,0 +1,12 @@
<?php
namespace ProcessMaker\Model;
use Illuminate\Database\Eloquent\Model;
class AdditionalTables extends Model
{
protected $table = 'ADDITIONAL_TABLES';
public $timestamps = false;
}

File diff suppressed because it is too large Load Diff

View File

@@ -19,20 +19,19 @@ var externalPermissions;
var currentSelectedRow = -1;
var extensionPmt = 'pmt';
Ext.onReady(function(){
Ext.onReady(function () {
///Keyboard Events
new Ext.KeyMap(document, {
key: Ext.EventObject.F5,
fn: function(keycode, e) {
if (! e.ctrlKey) {
fn: function (keycode, e) {
if (!e.ctrlKey) {
if (Ext.isIE) {
e.browserEvent.keyCode = 8;
}
e.stopEvent();
document.location = document.location;
}
else{
Ext.Msg.alert( _('ID_REFRESH_LABEL') , _('ID_REFRESH_MESSAGE') );
} else {
Ext.Msg.alert(_('ID_REFRESH_LABEL'), _('ID_REFRESH_MESSAGE'));
}
}
});
@@ -61,7 +60,7 @@ Ext.onReady(function(){
});
}
var flagProcessmap = (typeof('flagProcessmap') != 'undefined') ? flagProcessmap : 0;
var flagProcessmap = (typeof ('flagProcessmap') != 'undefined') ? flagProcessmap : 0;
/*if (PRO_UID !== false) {
newMenuOptions.push({
@@ -136,9 +135,9 @@ Ext.onReady(function(){
if (_PLUGIN_SIMPLEREPORTS !== false) {
externalOption = new Ext.Action({
text:'',
text: '',
iconCls: 'x-btn-text button_menu_ext ss_sprite ss_report_picture',
handler: function() {
handler: function () {
updateTag('plugin@simplereport');
},
disabled: false
@@ -146,7 +145,7 @@ Ext.onReady(function(){
externalPermissions = new Ext.Action({
text: _('ID_PERMISSIONS'),
iconCls: 'x-btn-text button_menu_ext ss_sprite ss_key_add',
handler: function() {
handler: function () {
updateTagPermissions('plugin@simplereport');
},
disabled: false
@@ -160,19 +159,19 @@ Ext.onReady(function(){
items: contextMenuItems
});
searchText = new Ext.form.TextField ({
searchText = new Ext.form.TextField({
id: 'searchTxt',
ctCls:'pm_search_text_field',
ctCls: 'pm_search_text_field',
allowBlank: true,
width: 150,
emptyText: _('ID_EMPTY_SEARCH'),
listeners: {
specialkey: function(f,e){
specialkey: function (f, e) {
if (e.getKey() == e.ENTER) {
DoSearch();
}
},
focus: function(f,e) {
focus: function (f, e) {
var row = infoGrid.getSelectionModel().getSelected();
infoGrid.getSelectionModel().deselectRow(infoGrid.getStore().indexOf(row));
}
@@ -182,28 +181,28 @@ Ext.onReady(function(){
clearTextButton = new Ext.Action({
id: 'clearTextButton',
text: 'X',
ctCls:'pm_search_x_button',
ctCls: 'pm_search_x_button',
handler: GridByDefault
});
storePageSize = new Ext.data.SimpleStore({
fields: ['size'],
data: [['20'],['30'],['40'],['50'],['100']],
data: [['20'], ['30'], ['40'], ['50'], ['100']],
autoLoad: true
});
comboPageSize = new Ext.form.ComboBox({
id: 'comboPageSize',
typeAhead : false,
mode : 'local',
triggerAction : 'all',
typeAhead: false,
mode: 'local',
triggerAction: 'all',
store: storePageSize,
valueField: 'size',
displayField: 'size',
width: 50,
editable: false,
listeners:{
select: function(c,d,i){
listeners: {
select: function (c, d, i) {
UpdatePageConfig(d.data['size']);
bbarpaging.pageSize = parseInt(d.data['size']);
bbarpaging.moveFirst();
@@ -213,30 +212,31 @@ Ext.onReady(function(){
comboPageSize.setValue(pageSize);
store = new Ext.data.GroupingStore( {
store = new Ext.data.GroupingStore({
autoLoad: false,
remoteSort: true,
proxy : new Ext.data.HttpProxy({
url: 'pmTablesProxy/getList' + (PRO_UID? '?pro_uid='+PRO_UID: '')
proxy: new Ext.data.HttpProxy({
url: 'pmTablesProxy/getList' + (PRO_UID ? '?pro_uid=' + PRO_UID : '')
}),
reader : new Ext.data.JsonReader( {
reader: new Ext.data.JsonReader({
root: 'rows',
totalProperty: 'count',
fields : [
{name : 'ADD_TAB_UID'},
{name : 'ADD_TAB_NAME'},
{name : 'ADD_TAB_DESCRIPTION'},
{name : 'PRO_TITLE'},
{name : 'TYPE'},
{name : 'ADD_TAB_TYPE'},
{name : 'ADD_TAB_TAG'},
{name : 'PRO_UID'},
{name : "DBS_UID"},
{name : 'NUM_ROWS'}
fields: [
{name: 'ADD_TAB_UID'},
{name: 'ADD_TAB_NAME'},
{name: 'ADD_TAB_DESCRIPTION'},
{name: 'PRO_TITLE'},
{name: 'TYPE'},
{name: 'ADD_TAB_TYPE'},
{name: 'ADD_TAB_TAG'},
{name: 'PRO_UID'},
{name: "DBS_UID"},
{name: 'NUM_ROWS'},
{name: 'ADD_TAB_OFFLINE'}
]
}),
listeners: {
load: function(a,b){
load: function (a, b) {
if (currentSelectedRow != -1) {
Ext.getCmp('infoGrid').getSelectionModel().selectRow(currentSelectedRow);
Ext.getCmp('infoGrid').fireEvent('rowclick', Ext.getCmp('infoGrid'), currentSelectedRow)
@@ -246,11 +246,11 @@ Ext.onReady(function(){
});
chkSelModel = new Ext.grid.CheckboxSelectionModel({
listeners:{
selectionchange: function(sm){
listeners: {
selectionchange: function (sm) {
var count_rows = sm.getCount();
currentSelectedRow = sm.last;
switch(count_rows){
switch (count_rows) {
case 0:
editButton.disable();
deleteButton.disable();
@@ -276,16 +276,17 @@ Ext.onReady(function(){
cmodelColumns = new Array();
cmodelColumns.push(chkSelModel);
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 + '&nbsp<span style="font-size:9px; color:green">('+ _('ID_OLD_VERSION') +')</font>' : v;
}});
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 + '&nbsp<span style="font-size:9px; color:green">(' + _('ID_OLD_VERSION') + ')</font>' : 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()){
switch (tag.toLowerCase()) {
case 'simplereport':
tag = _('ID_SIMPLE_REPORT');
break;
@@ -294,25 +295,33 @@ Ext.onReady(function(){
v = Ext.util.Format.htmlEncode(v);
return r.get("ADD_TAB_TAG") ? "<span style = \"font-size:9px; color:green\">" + tag + ":</span> "+ v : v;
}});
cmodelColumns.push({header: _('ID_TABLE_TYPE'), dataIndex: 'PRO_UID', width: 120, align:'left', renderer: function(v,p,r){
return r.get("ADD_TAB_TAG") ? "<span style = \"font-size:9px; color:green\">" + tag + ":</span> " + 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 '<span style="color:'+color+'">'+value+'</span> ';
}});
return '<span style="color:' + color + '">' + value + '</span> ';
}
});
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) {
cmodelColumns.push({header: _('ID_RECORDS'), dataIndex: 'NUM_ROWS', width: 90, align: 'left', renderer: function (v, p, r) {
return '<div style="text-align:' + (isNaN(v) ? 'left' : 'right') + ';">' + v + '</div>';
}});
}
});
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: {
@@ -327,26 +336,26 @@ Ext.onReady(function(){
pageSize: pageSize,
store: store,
displayInfo: true,
displayMsg: (PRO_UID? _('ID_GRID_PAGE_DISPLAYING_REPORTABLES_MESSAGE') : _('ID_GRID_PAGE_DISPLAYING_PMTABLES_MESSAGE')) + '&nbsp; &nbsp; ',
displayMsg: (PRO_UID ? _('ID_GRID_PAGE_DISPLAYING_REPORTABLES_MESSAGE') : _('ID_GRID_PAGE_DISPLAYING_PMTABLES_MESSAGE')) + '&nbsp; &nbsp; ',
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',
height: 100,
autoWidth: true,
title: (PRO_UID ? _('ID_REPORT_TABLES') : _('ID_PMTABLE')),
stateful: true,
stateId: 'gridList',
enableColumnResize: true,
enableHdMenu: true,
frame:false,
frame: false,
columnLines: false,
viewConfig: {
forceFit:true
forceFit: true
},
store: store,
loadMask: true,
@@ -355,8 +364,8 @@ Ext.onReady(function(){
tbar: [
newButton,
editButton,
deleteButton,'-',
dataButton,'-' ,
deleteButton, '-',
dataButton, '-',
importButton,
exportButton,
'->',
@@ -366,12 +375,12 @@ Ext.onReady(function(){
bbar: bbarpaging,
listeners: {
rowdblclick: EditPMTable,
render: function(){
render: function () {
this.loadMask = new Ext.LoadMask(this.body, {msg: _('ID_LOADING_GRID')});
}
},
view: new Ext.grid.GroupingView({
forceFit:true,
forceFit: true,
groupTextTpl: '{text}'
})
});
@@ -397,12 +406,14 @@ 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',
@@ -423,72 +434,73 @@ onMessageContextMenu = function (grid, rowIndex, e) {
/////JS FUNCTIONS
//Capitalize String Function
capitalize = function(s){
capitalize = function (s) {
s = s.toLowerCase();
return s.replace( /(^|\s)([a-z])/g , function(m,p1,p2){ return p1+p2.toUpperCase(); } );
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(){
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;
location.href = 'reportTables/reportTables_Edit?PRO_UID=' + PRO_UID;
};
newPMTable = function(){
newPMTable = function () {
location.href = 'pmTables/edit?tableType=table';
};
EditPMTable = function(){
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
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() {
DeletePMTable = function () {
var rows = Ext.getCmp('infoGrid').getSelectionModel().getSelections();
var selections = new Array();
for(var i=0; i<rows.length; i++) {
for (var i = 0; i < rows.length; i++) {
selections[i] = {id: rows[i].get('ADD_TAB_UID'), type: rows[i].get('TYPE')};
}
Ext.Msg.confirm( _('ID_CONFIRM'), _('ID_CONFIRM_DELETE_PM_TABLE'),
function(btn, text) {
Ext.Msg.confirm(_('ID_CONFIRM'), _('ID_CONFIRM_DELETE_PM_TABLE'),
function (btn, text) {
if (btn == "yes") {
Ext.Msg.show({
title : '',
msg : _('ID_REMOVING_SELECTED_TABLES'),
wait:true,
waitConfig: {interval:500}
title: '',
msg: _('ID_REMOVING_SELECTED_TABLES'),
wait: true,
waitConfig: {interval: 500}
});
Ext.Ajax.request ({
Ext.Ajax.request({
url: 'pmTablesProxy/delete',
params: {
rows: Ext.util.JSON.encode(selections)
},
success: function(resp){
success: function (resp) {
Ext.MessageBox.hide();
result = Ext.util.JSON.decode(resp.responseText);
Ext.getCmp('infoGrid').getStore().reload();
@@ -500,10 +512,10 @@ DeletePMTable = function() {
PMExt.error(_("ID_ERROR"), result.message.nl2br());
}
},
failure: function(obj, resp){
failure: function (obj, resp) {
Ext.MessageBox.hide();
Ext.getCmp('infoGrid').getStore().reload();
Ext.Msg.alert( _('ID_ERROR'), resp.result.message);
Ext.Msg.alert(_('ID_ERROR'), resp.result.message);
}
});
editButton.disable();
@@ -516,7 +528,7 @@ DeletePMTable = function() {
};
//Load Import PM Table Form
ImportPMTable = function(){
ImportPMTable = function () {
var aOverwrite,
aRelated,
@@ -533,11 +545,11 @@ ImportPMTable = function(){
items: [
new Ext.FormPanel({
/*renderTo: 'form-panel',*/
id:'uploader',
id: 'uploader',
fileUpload: true,
width: 400,
frame: true,
title: (PRO_UID? _('ID_IMPORT_RT') : _('ID_IMPORT_PMT')),
title: (PRO_UID ? _('ID_IMPORT_RT') : _('ID_IMPORT_PMT')),
autoHeight: false,
bodyStyle: 'padding: 10px 10px 0 10px;',
labelWidth: 50,
@@ -559,7 +571,7 @@ ImportPMTable = function(){
}, {
xtype: 'hidden',
name: 'form[TYPE_TABLE]',
value: (PRO_UID? 'designer' : 'admin')
value: (PRO_UID ? 'designer' : 'admin')
}, {
xtype: 'hidden',
name: 'form[PRO_UID]',
@@ -581,8 +593,7 @@ ImportPMTable = function(){
if (result.success) {
PMExt.notify('', result.message);
}
else {
} else {
win = new Ext.Window({
id: 'windowImportingError',
applyTo: 'hello-win',
@@ -648,10 +659,10 @@ ImportPMTable = function(){
Ext.MessageBox.alert(_("ID_ERROR"), _("ID_FILE_UPLOAD_INCORRECT_EXTENSION"));
}
}
},{
}, {
id: 'importPMTableButtonCancel',
text: TRANSLATIONS.ID_CANCEL,
handler: function(){
handler: function () {
w.close();
}
}]
@@ -662,17 +673,17 @@ ImportPMTable = function(){
}
//Load Export PM Tables Form
ExportPMTable = function(){
ExportPMTable = function () {
var rows = Ext.getCmp('infoGrid').getSelectionModel().getSelections();
var toExportRows = new Array();
for(var i=0; i<rows.length; i++){
for (var i = 0; i < rows.length; i++) {
if (rows[i].get('TYPE') == '') {
toExportRows.push([
rows[i].get('ADD_TAB_UID'),
rows[i].get('PRO_UID'),
rows[i].get('ADD_TAB_NAME'),
(rows[i].get('PRO_UID') ? _('ID_REPORT_TABLE'): _('ID_PMTABLE')),
(rows[i].get('PRO_UID') ? _('ID_REPORT_TABLE') : _('ID_PMTABLE')),
true,
(rows[i].get('PRO_UID') ? false : true)
]);
@@ -684,7 +695,7 @@ ExportPMTable = function(){
};
//Load PM TAble Data
PMTableData = function()
PMTableData = function ()
{
var row = Ext.getCmp('infoGrid').getSelectionModel().getSelected();
var type = row.get('PRO_UID');
@@ -700,19 +711,19 @@ PMTableData = function()
layout: 'fit',
width: 700,
height: 400,
title: ((type != '')? _('ID_REPORT_TABLE') : _('ID_PMTABLE')) +': '+ row.get('ADD_TAB_NAME'),
title: ((type != '') ? _('ID_REPORT_TABLE') : _('ID_PMTABLE')) + ': ' + row.get('ADD_TAB_NAME'),
modal: true,
maximizable: true,
constrain: true,
//closeAction:'hide',
plain: true,
items: [{
xtype:"iframepanel",
defaultSrc : 'pmTables/data?id='+row.get('ADD_TAB_UID')+'&type='+row.get('TYPE'),
loadMask:{msg: _('ID_LOADING')}
xtype: "iframepanel",
defaultSrc: 'pmTables/data?id=' + row.get('ADD_TAB_UID') + '&type=' + row.get('TYPE'),
loadMask: {msg: _('ID_LOADING')}
}],
listeners: {
close: function() {
close: function () {
store.reload();
}
}
@@ -722,30 +733,30 @@ PMTableData = function()
};
//Gets UIDs from a array of rows
RetrieveRowsID = function(rows){
RetrieveRowsID = function (rows) {
var arrAux = new Array();
for(var c=0; c<rows.length; c++){
for (var c = 0; c < rows.length; c++) {
arrAux[c] = rows[c].get('ADD_TAB_UID');
}
return arrAux.join(',');
};
//Update Page Size Configuration
UpdatePageConfig = function(pageSize){
UpdatePageConfig = function (pageSize) {
Ext.Ajax.request({
url: 'additionalTablesAjax',
params: {action:'updatePageSize', size: pageSize}
params: {action: 'updatePageSize', size: pageSize}
});
};
//Do Search Function
DoSearch = function(){
DoSearch = function () {
infoGrid.store.setBaseParam('textFilter', searchText.getValue());
infoGrid.store.load();
};
//Load Grid By Default
GridByDefault = function(){
GridByDefault = function () {
searchText.reset();
infoGrid.store.setBaseParam('textFilter', searchText.getValue());
infoGrid.store.load();
@@ -759,31 +770,32 @@ function updateTag(value)
url: 'pmTablesProxy/updateTag',
params: {
ADD_TAB_UID: rowsSelected[0].get('ADD_TAB_UID'),
value: rowsSelected[0].get('ADD_TAB_TAG') ? '': value
value: rowsSelected[0].get('ADD_TAB_TAG') ? '' : value
},
success: function(resp){
success: function (resp) {
Ext.getCmp('infoGrid').store.reload();
},
failure: function(obj, resp){
Ext.Msg.alert( _('ID_ERROR'), resp.result.msg);
failure: function (obj, resp) {
Ext.Msg.alert(_('ID_ERROR'), resp.result.msg);
}
});
}
function updateTagPermissions(){
function updateTagPermissions() {
var rowsSelected = Ext.getCmp('infoGrid').getSelectionModel().getSelections();
if (rowsSelected){
location.href = 'pmReports/reportsAjax?action=permissionList&ADD_TAB_NAME='+ rowsSelected[0].get('ADD_TAB_NAME') +'&ADD_TAB_UID='+ rowsSelected[0].get('ADD_TAB_UID')+'&pro_uid='+PRO_UID+'&flagProcessmap='+flagProcessmap;
if (rowsSelected) {
location.href = 'pmReports/reportsAjax?action=permissionList&ADD_TAB_NAME=' + rowsSelected[0].get('ADD_TAB_NAME') + '&ADD_TAB_UID=' + rowsSelected[0].get('ADD_TAB_UID') + '&pro_uid=' + PRO_UID + '&flagProcessmap=' + flagProcessmap;
}
};
}
;
function PopupCenter(pageURL, title,w,h) {
var left = (Ext.getBody().getViewSize().width/3);
var top = (Ext.getBody().getViewSize().height/3);
var targetWin = window.open (pageURL, title, 'toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=no, copyhistory=no, width='+w+', height='+h+', top='+top+', left='+left);
}
function PopupCenter(pageURL, title, w, h) {
var left = (Ext.getBody().getViewSize().width / 3);
var top = (Ext.getBody().getViewSize().height / 3);
var targetWin = window.open(pageURL, title, 'toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=no, copyhistory=no, width=' + w + ', height=' + h + ', top=' + top + ', left=' + left);
}
function pmtablesErrors(aOverwrite,aRelated,aMessage){
function pmtablesErrors(aOverwrite, aRelated, aMessage) {
var jsonDataArray = [],
i,
fieldMessage,
@@ -797,57 +809,57 @@ function pmtablesErrors(aOverwrite,aRelated,aMessage){
nameId,
number;
//Show the error message ERROR_PROCESS_NOT_EXIST or ERROR_NO_REPORT_TABLE
for (i = 0; i < aMessage.length; i++){
for (i = 0; i < aMessage.length; i++) {
fieldMessage = {
xtype : 'fieldset',
title : aMessage[i]['ERROR_MESS'],
id : aMessage[i]['NAME_TABLE'],
autoHeight : true
xtype: 'fieldset',
title: aMessage[i]['ERROR_MESS'],
id: aMessage[i]['NAME_TABLE'],
autoHeight: true
};
jsonDataArray.push(fieldMessage);
}
//Check the ERROR_OVERWRITE_RELATED_PROCESS
for (i = 0; i < aRelated.length; i++){
for (i = 0; i < aRelated.length; i++) {
fieldRadio2Options = {
xtype : 'fieldset',
title : aRelated[i]['ERROR_MESS'],
id : aRelated[i]['NAME_TABLE'],
autoHeight : true,
xtype: 'fieldset',
title: aRelated[i]['ERROR_MESS'],
id: aRelated[i]['NAME_TABLE'],
autoHeight: true,
defaultType: 'radio', // each item will be a radio button
items: [{
checked : true,
boxLabel : _('ID_RADIO_RELATED_PROCESS'),
name : aRelated[i]['NAME_TABLE'],
inputValue : 'related'
checked: true,
boxLabel: _('ID_RADIO_RELATED_PROCESS'),
name: aRelated[i]['NAME_TABLE'],
inputValue: 'related'
}, {
boxLabel : _('ID_RADIO_NOT_IMPORTED_RPT'),
name : aRelated[i]['NAME_TABLE'],
inputValue : 'no'
boxLabel: _('ID_RADIO_NOT_IMPORTED_RPT'),
name: aRelated[i]['NAME_TABLE'],
inputValue: 'no'
}]
};
jsonDataArray.push(fieldRadio2Options);
}
// check the ERROR_PM_TABLES_OVERWRITE or ERROR_RP_TABLES_OVERWRITE
for (i = 0; i < aOverwrite.length; i++){
for (i = 0; i < aOverwrite.length; i++) {
fieldRadio3Options = {
xtype : 'fieldset',
title : aOverwrite[i]['ERROR_MESS'],
id : aOverwrite[i]['NAME_TABLE'],
autoHeight : true,
defaultType : 'radio', // each item will be a radio button
xtype: 'fieldset',
title: aOverwrite[i]['ERROR_MESS'],
id: aOverwrite[i]['NAME_TABLE'],
autoHeight: true,
defaultType: 'radio', // each item will be a radio button
items: [{
boxLabel : _('ID_RADIO_CREATE_NEW'),
name : aOverwrite[i]['NAME_TABLE'],
inputValue : 'new'
boxLabel: _('ID_RADIO_CREATE_NEW'),
name: aOverwrite[i]['NAME_TABLE'],
inputValue: 'new'
}, {
boxLabel : _('ID_RADIO_OVERWRITE'),
name : aOverwrite[i]['NAME_TABLE'],
inputValue : 'overwrite'
boxLabel: _('ID_RADIO_OVERWRITE'),
name: aOverwrite[i]['NAME_TABLE'],
inputValue: 'overwrite'
}, {
checked : true,
boxLabel : _('ID_RADIO_NOT_IMPORTED'),
name : aOverwrite[i]['NAME_TABLE'],
inputValue : 'no'
checked: true,
boxLabel: _('ID_RADIO_NOT_IMPORTED'),
name: aOverwrite[i]['NAME_TABLE'],
inputValue: 'no'
}]
};
jsonDataArray.push(fieldRadio3Options);
@@ -855,51 +867,51 @@ function pmtablesErrors(aOverwrite,aRelated,aMessage){
number = Math.floor((Math.random() * 100) + 1);
win = new Ext.Window({
id : 'winPmtableRptableErrors'+number,
layout : 'fit',
width : 700,
height : 400,
title : _('ID_WARNING_PMTABLES'),
modal : true,
id: 'winPmtableRptableErrors' + number,
layout: 'fit',
width: 700,
height: 400,
title: _('ID_WARNING_PMTABLES'),
modal: true,
maximizable: true,
constrain : true,
plain : true,
autoScroll : true,
items : jsonDataArray,
buttons : [{
text : _('ID_CONTINUE'),
handler: function(){
constrain: true,
plain: true,
autoScroll: true,
items: jsonDataArray,
buttons: [{
text: _('ID_CONTINUE'),
handler: function () {
tablesOfNo = '';
tablesOfYes = '';
tablesOfNew = '';
for (i = 0; i < aMessage.length; i++){
for (i = 0; i < aMessage.length; i++) {
nameId = aMessage[i]['NAME_TABLE'];
tablesOfNo = tablesOfNo.concat('|',nameId);
tablesOfNo = tablesOfNo.concat('|', nameId);
}
for (i = 0; i < aRelated.length; i++){
for (i = 0; i < aRelated.length; i++) {
nameId = aRelated[i]['NAME_TABLE'];
valueSelected = Ext.getCmp(nameId).items.get(0).getGroupValue();
switch(valueSelected) {
switch (valueSelected) {
case 'related':
tablesOfYes = tablesOfYes.concat('|',nameId);
tablesOfYes = tablesOfYes.concat('|', nameId);
break;
case 'no':
tablesOfNo = tablesOfNo.concat('|',nameId);
tablesOfNo = tablesOfNo.concat('|', nameId);
break;
}
}
for (i = 0; i < aOverwrite.length; i++){
for (i = 0; i < aOverwrite.length; i++) {
nameId = aOverwrite[i]['NAME_TABLE'];
valueSelected = Ext.getCmp(nameId).items.get(0).getGroupValue();
switch(valueSelected) {
switch (valueSelected) {
case 'new':
tablesOfNew = tablesOfNew.concat('|',nameId);
tablesOfNew = tablesOfNew.concat('|', nameId);
break;
case 'overwrite':
tablesOfYes = tablesOfYes.concat('|',nameId);
tablesOfYes = tablesOfYes.concat('|', nameId);
break;
case 'no':
tablesOfNo = tablesOfNo.concat('|',nameId);
tablesOfNo = tablesOfNo.concat('|', nameId);
break;
}
}
@@ -907,42 +919,42 @@ function pmtablesErrors(aOverwrite,aRelated,aMessage){
Ext.Ajax.request({
url: 'pmTablesProxy/import',
params: {
'form[FROM_CONFIRM]':'yes',
'form[TYPE_TABLE]':(PRO_UID? 'designer' : 'admin'),
'form[OVERWRITE]':true,
'form[TABLES_OF_NO]':tablesOfNo,
'form[TABLES_OF_YES]':tablesOfYes,
'form[TABLES_OF_NEW]':tablesOfNew
'form[FROM_CONFIRM]': 'yes',
'form[TYPE_TABLE]': (PRO_UID ? 'designer' : 'admin'),
'form[OVERWRITE]': true,
'form[TABLES_OF_NO]': tablesOfNo,
'form[TABLES_OF_YES]': tablesOfYes,
'form[TABLES_OF_NEW]': tablesOfNew
},
success: function(resp){
success: function (resp) {
var result = Ext.util.JSON.decode(resp.responseText);
if (result.success) {
PMExt.notify('', result.message);
Ext.getCmp('infoGrid').getStore().reload();
}
},
failure: function(obj, resp){
failure: function (obj, resp) {
var result = Ext.util.JSON.decode(resp.responseText);
Ext.getCmp('infoGrid').getStore().reload();
}
});
}
},{
}, {
text: _('ID_CANCEL'),
handler: function(){
handler: function () {
win.close();
}
}]
});
win.show();
for (i = 0; i < aMessage.length; i++){
Ext.get(aMessage[i]['NAME_TABLE']).setStyle({border: '0', marginTop:'0'} );
for (i = 0; i < aMessage.length; i++) {
Ext.get(aMessage[i]['NAME_TABLE']).setStyle({border: '0', marginTop: '0'});
}
for (i = 0; i < aRelated.length; i++){
Ext.get(aRelated[i]['NAME_TABLE']).setStyle({border: '0', marginTop:'0'} );
for (i = 0; i < aRelated.length; i++) {
Ext.get(aRelated[i]['NAME_TABLE']).setStyle({border: '0', marginTop: '0'});
}
for (i = 0; i < aOverwrite.length; i++){
Ext.get(aOverwrite[i]['NAME_TABLE']).setStyle({border: '0', marginTop:'0'} );
for (i = 0; i < aOverwrite.length; i++) {
Ext.get(aOverwrite[i]['NAME_TABLE']).setStyle({border: '0', marginTop: '0'});
}
}