Solving conflicts merging with develop branch
This commit is contained in:
@@ -45,7 +45,7 @@
|
|||||||
"pear/console_getopt": "1.4.*",
|
"pear/console_getopt": "1.4.*",
|
||||||
"typo3/class-alias-loader": "^1.0",
|
"typo3/class-alias-loader": "^1.0",
|
||||||
"ralouphie/getallheaders": "^2.0",
|
"ralouphie/getallheaders": "^2.0",
|
||||||
"smarty/smarty": "2.6.30",
|
"smarty/smarty": "2.6.31",
|
||||||
"pdepend/pdepend": "@stable",
|
"pdepend/pdepend": "@stable",
|
||||||
"chumper/zipper": "^1.0",
|
"chumper/zipper": "^1.0",
|
||||||
"php-imap/php-imap": "^3.0",
|
"php-imap/php-imap": "^3.0",
|
||||||
|
|||||||
8
composer.lock
generated
8
composer.lock
generated
@@ -2898,16 +2898,16 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "smarty/smarty",
|
"name": "smarty/smarty",
|
||||||
"version": "v2.6.30",
|
"version": "v2.6.31",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/smarty-php/smarty.git",
|
"url": "https://github.com/smarty-php/smarty.git",
|
||||||
"reference": "c5c9d6514ceaf15fe35345886668726829560f93"
|
"reference": "4ab9757b492f08a38f68123a6e7c1df7110bbc49"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/smarty-php/smarty/zipball/c5c9d6514ceaf15fe35345886668726829560f93",
|
"url": "https://api.github.com/repos/smarty-php/smarty/zipball/4ab9757b492f08a38f68123a6e7c1df7110bbc49",
|
||||||
"reference": "c5c9d6514ceaf15fe35345886668726829560f93",
|
"reference": "4ab9757b492f08a38f68123a6e7c1df7110bbc49",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
|
|||||||
28
database/factories/AdditionalTablesFactory.php
Normal file
28
database/factories/AdditionalTablesFactory.php
Normal 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()
|
||||||
|
];
|
||||||
|
});
|
||||||
50
database/factories/FieldsFactory.php
Normal file
50
database/factories/FieldsFactory.php
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use Faker\Generator as Faker;
|
||||||
|
use ProcessMaker\Model\AdditionalTables;
|
||||||
|
|
||||||
|
$factory->define(\ProcessMaker\Model\Fields::class, function (Faker $faker) {
|
||||||
|
return [
|
||||||
|
'FLD_UID' => G::generateUniqueID(),
|
||||||
|
'ADD_TAB_UID' => G::generateUniqueID(),
|
||||||
|
'FLD_INDEX' => 0,
|
||||||
|
'FLD_NAME' => 'VAR_' . $faker->sentence(1),
|
||||||
|
'FLD_DESCRIPTION' => $faker->sentence(2),
|
||||||
|
'FLD_TYPE' => 'VARCHAR',
|
||||||
|
'FLD_SIZE' => 255,
|
||||||
|
'FLD_NULL' => 1,
|
||||||
|
'FLD_AUTO_INCREMENT' => 0,
|
||||||
|
'FLD_KEY' => 1,
|
||||||
|
'FLD_TABLE_INDEX' => 0,
|
||||||
|
'FLD_FOREIGN_KEY' => 0,
|
||||||
|
'FLD_FOREIGN_KEY_TABLE' => '',
|
||||||
|
'FLD_DYN_NAME' => '',
|
||||||
|
'FLD_DYN_UID' => '',
|
||||||
|
'FLD_FILTER' => 0,
|
||||||
|
];
|
||||||
|
});
|
||||||
|
|
||||||
|
// Create columns from a table with the foreign keys
|
||||||
|
$factory->state(\ProcessMaker\Model\Fields::class, 'foreign_keys', function (Faker $faker) {
|
||||||
|
return [
|
||||||
|
'FLD_UID' => G::generateUniqueID(),
|
||||||
|
'ADD_TAB_UID' => function() {
|
||||||
|
$table = factory(AdditionalTables::class)->create(['ADD_TAB_OFFLINE' => 1]);
|
||||||
|
return $table->ADD_TAB_UID;
|
||||||
|
},
|
||||||
|
'FLD_INDEX' => 0,
|
||||||
|
'FLD_NAME' => 'VAR_' . $faker->sentence(1),
|
||||||
|
'FLD_DESCRIPTION' => $faker->sentence(2),
|
||||||
|
'FLD_TYPE' => 'VARCHAR',
|
||||||
|
'FLD_SIZE' => 255,
|
||||||
|
'FLD_NULL' => 1,
|
||||||
|
'FLD_AUTO_INCREMENT' => 0,
|
||||||
|
'FLD_KEY' => 1,
|
||||||
|
'FLD_TABLE_INDEX' => 0,
|
||||||
|
'FLD_FOREIGN_KEY' => 0,
|
||||||
|
'FLD_FOREIGN_KEY_TABLE' => '',
|
||||||
|
'FLD_DYN_NAME' => '',
|
||||||
|
'FLD_DYN_UID' => '',
|
||||||
|
'FLD_FILTER' => 0,
|
||||||
|
];
|
||||||
|
});
|
||||||
@@ -225,7 +225,7 @@ INSERT INTO `RBAC_SYSTEMS` VALUES
|
|||||||
('00000000000000000000000000000002','PROCESSMAKER','2007-07-31 19:10:22','2007-08-03 12:24:36',1);
|
('00000000000000000000000000000002','PROCESSMAKER','2007-07-31 19:10:22','2007-08-03 12:24:36',1);
|
||||||
|
|
||||||
INSERT INTO `RBAC_USERS` VALUES
|
INSERT INTO `RBAC_USERS` VALUES
|
||||||
('00000000000000000000000000000001','admin','21232f297a57a5a743894a0e4a801fc3','Administrator','','admin@processmaker.com','2020-01-01','2007-08-03 12:24:36','2008-02-13 07:24:07',1,'MYSQL','00000000000000000000000000000000','',''),
|
('00000000000000000000000000000001','admin','21232f297a57a5a743894a0e4a801fc3','Administrator','','admin@processmaker.com',DATE_ADD(curdate(), INTERVAL 1 YEAR),'2007-08-03 12:24:36','2008-02-13 07:24:07',1,'MYSQL','00000000000000000000000000000000','',''),
|
||||||
('00000000000000000000000000000002','guest','$2y$10$rasFC.VNv9TLStNtFVJu6OjxhCi6FezdwkLrBzTFwmXsNnfW0/YZm','Guest','','guest@processmaker.com','2030-01-01','2009-02-01 12:24:36','2009-02-01 12:24:36',0,'MYSQL','00000000000000000000000000000000','','');
|
('00000000000000000000000000000002','guest','$2y$10$rasFC.VNv9TLStNtFVJu6OjxhCi6FezdwkLrBzTFwmXsNnfW0/YZm','Guest','','guest@processmaker.com','2030-01-01','2009-02-01 12:24:36','2009-02-01 12:24:36',0,'MYSQL','00000000000000000000000000000000','','');
|
||||||
|
|
||||||
INSERT INTO `RBAC_USERS_ROLES` VALUES
|
INSERT INTO `RBAC_USERS_ROLES` VALUES
|
||||||
|
|||||||
@@ -32,6 +32,7 @@ define('PMTABLE_KEY', 'pmtable');
|
|||||||
define('DB_ADAPTER', 'mysql');
|
define('DB_ADAPTER', 'mysql');
|
||||||
// Path related some specific directories
|
// Path related some specific directories
|
||||||
define('PATH_SEP', '/');
|
define('PATH_SEP', '/');
|
||||||
|
define("PATH_PLUGINS", PATH_CORE . "plugins" . PATH_SEP);
|
||||||
define('PATH_WORKSPACE', PATH_TRUNK . '/shared/sites/' . SYS_SYS . '/');
|
define('PATH_WORKSPACE', PATH_TRUNK . '/shared/sites/' . SYS_SYS . '/');
|
||||||
define('PATH_METHODS', dirname(__DIR__) . '/workflow/engine/methods/');
|
define('PATH_METHODS', dirname(__DIR__) . '/workflow/engine/methods/');
|
||||||
define('PATH_WORKFLOW_MYSQL_DATA', PATH_TRUNK . '/workflow/engine/data/mysql/');
|
define('PATH_WORKFLOW_MYSQL_DATA', PATH_TRUNK . '/workflow/engine/data/mysql/');
|
||||||
|
|||||||
929
tests/resources/dynaformDataForRenewUids.json
Normal file
929
tests/resources/dynaformDataForRenewUids.json
Normal file
@@ -0,0 +1,929 @@
|
|||||||
|
{
|
||||||
|
"process": {
|
||||||
|
"PRO_UID": "3865635965dfb8d7a152330088145190",
|
||||||
|
"PRO_TITLE": "test",
|
||||||
|
"PRO_DESCRIPTION": "",
|
||||||
|
"PRO_PARENT": "7084112395dfb826264eac2069406712",
|
||||||
|
"PRO_TIME": "1",
|
||||||
|
"PRO_TIMEUNIT": "DAYS",
|
||||||
|
"PRO_STATUS": "ACTIVE",
|
||||||
|
"PRO_STATUS_ID": "1",
|
||||||
|
"PRO_TYPE_DAY": "",
|
||||||
|
"PRO_TYPE": "NORMAL",
|
||||||
|
"PRO_ASSIGNMENT": "FALSE",
|
||||||
|
"PRO_SHOW_MAP": "0",
|
||||||
|
"PRO_SHOW_MESSAGE": "0",
|
||||||
|
"PRO_SUBPROCESS": "0",
|
||||||
|
"PRO_TRI_CREATE": "",
|
||||||
|
"PRO_TRI_OPEN": "",
|
||||||
|
"PRO_TRI_DELETED": "",
|
||||||
|
"PRO_TRI_CANCELED": "",
|
||||||
|
"PRO_TRI_PAUSED": "",
|
||||||
|
"PRO_TRI_REASSIGNED": "",
|
||||||
|
"PRO_TRI_UNPAUSED": "",
|
||||||
|
"PRO_TYPE_PROCESS": "PUBLIC",
|
||||||
|
"PRO_SHOW_DELEGATE": "0",
|
||||||
|
"PRO_SHOW_DYNAFORM": "0",
|
||||||
|
"PRO_CATEGORY": "",
|
||||||
|
"PRO_SUB_CATEGORY": "",
|
||||||
|
"PRO_INDUSTRY": "0",
|
||||||
|
"PRO_UPDATE_DATE": "2019-12-19 14:16:06",
|
||||||
|
"PRO_CREATE_USER": "00000000000000000000000000000001",
|
||||||
|
"PRO_HEIGHT": "5000",
|
||||||
|
"PRO_WIDTH": "10000",
|
||||||
|
"PRO_TITLE_X": "0",
|
||||||
|
"PRO_TITLE_Y": "0",
|
||||||
|
"PRO_DEBUG": "0",
|
||||||
|
"PRO_DYNAFORMS": "a:1:{s:7:\"PROCESS\";s:0:\"\";}",
|
||||||
|
"PRO_DERIVATION_SCREEN_TPL": "",
|
||||||
|
"PRO_COST": "0",
|
||||||
|
"PRO_UNIT_COST": "",
|
||||||
|
"PRO_ITEE": "1",
|
||||||
|
"PRO_ACTION_DONE": "a:1:{i:0;s:41:\"GATEWAYTOGATEWAY_DELETE_CORRUPTED_RECORDS\";}",
|
||||||
|
"CATEGORY_ID": "0",
|
||||||
|
"PRO_CATEGORY_LABEL": "No Category",
|
||||||
|
"PRO_BPMN": "1"
|
||||||
|
},
|
||||||
|
"tasks": [
|
||||||
|
{
|
||||||
|
"PRO_UID": "3865635965dfb8d7a152330088145190",
|
||||||
|
"PRO_ID": "0",
|
||||||
|
"TAS_UID": "5978729975dfb8d7a264fa0070639752",
|
||||||
|
"TAS_TITLE": "Task 1",
|
||||||
|
"TAS_DESCRIPTION": "",
|
||||||
|
"TAS_DEF_TITLE": "",
|
||||||
|
"TAS_DEF_SUBJECT_MESSAGE": "",
|
||||||
|
"TAS_DEF_PROC_CODE": "",
|
||||||
|
"TAS_DEF_MESSAGE": "",
|
||||||
|
"TAS_DEF_DESCRIPTION": "",
|
||||||
|
"TAS_TYPE": "NORMAL",
|
||||||
|
"TAS_DURATION": "1",
|
||||||
|
"TAS_DELAY_TYPE": "",
|
||||||
|
"TAS_TEMPORIZER": "0",
|
||||||
|
"TAS_TYPE_DAY": "",
|
||||||
|
"TAS_TIMEUNIT": "DAYS",
|
||||||
|
"TAS_ALERT": "FALSE",
|
||||||
|
"TAS_PRIORITY_VARIABLE": "",
|
||||||
|
"TAS_ASSIGN_TYPE": "BALANCED",
|
||||||
|
"TAS_ASSIGN_VARIABLE": "@@SYS_NEXT_USER_TO_BE_ASSIGNED",
|
||||||
|
"TAS_GROUP_VARIABLE": "",
|
||||||
|
"TAS_MI_INSTANCE_VARIABLE": "@@SYS_VAR_TOTAL_INSTANCE",
|
||||||
|
"TAS_MI_COMPLETE_VARIABLE": "@@SYS_VAR_TOTAL_INSTANCES_COMPLETE",
|
||||||
|
"TAS_ASSIGN_LOCATION": "FALSE",
|
||||||
|
"TAS_ASSIGN_LOCATION_ADHOC": "FALSE",
|
||||||
|
"TAS_TRANSFER_FLY": "FALSE",
|
||||||
|
"TAS_LAST_ASSIGNED": "0",
|
||||||
|
"TAS_USER": "0",
|
||||||
|
"TAS_CAN_UPLOAD": "FALSE",
|
||||||
|
"TAS_VIEW_UPLOAD": "FALSE",
|
||||||
|
"TAS_VIEW_ADDITIONAL_DOCUMENTATION": "FALSE",
|
||||||
|
"TAS_CAN_CANCEL": "FALSE",
|
||||||
|
"TAS_OWNER_APP": "FALSE",
|
||||||
|
"STG_UID": "",
|
||||||
|
"TAS_CAN_PAUSE": "FALSE",
|
||||||
|
"TAS_CAN_SEND_MESSAGE": "TRUE",
|
||||||
|
"TAS_CAN_DELETE_DOCS": "FALSE",
|
||||||
|
"TAS_SELF_SERVICE": "FALSE",
|
||||||
|
"TAS_START": "TRUE",
|
||||||
|
"TAS_TO_LAST_USER": "FALSE",
|
||||||
|
"TAS_SEND_LAST_EMAIL": "FALSE",
|
||||||
|
"TAS_DERIVATION": "NORMAL",
|
||||||
|
"TAS_POSX": "143",
|
||||||
|
"TAS_POSY": "82",
|
||||||
|
"TAS_WIDTH": "110",
|
||||||
|
"TAS_HEIGHT": "60",
|
||||||
|
"TAS_COLOR": "",
|
||||||
|
"TAS_EVN_UID": "",
|
||||||
|
"TAS_BOUNDARY": "",
|
||||||
|
"TAS_DERIVATION_SCREEN_TPL": "",
|
||||||
|
"TAS_SELFSERVICE_TIMEOUT": "0",
|
||||||
|
"TAS_SELFSERVICE_TIME": "0",
|
||||||
|
"TAS_SELFSERVICE_TIME_UNIT": "",
|
||||||
|
"TAS_SELFSERVICE_TRIGGER_UID": "",
|
||||||
|
"TAS_SELFSERVICE_EXECUTION": "EVERY_TIME",
|
||||||
|
"TAS_NOT_EMAIL_FROM_FORMAT": "0",
|
||||||
|
"TAS_OFFLINE": "FALSE",
|
||||||
|
"TAS_EMAIL_SERVER_UID": "",
|
||||||
|
"TAS_AUTO_ROOT": "FALSE",
|
||||||
|
"TAS_RECEIVE_SERVER_UID": "",
|
||||||
|
"TAS_RECEIVE_LAST_EMAIL": "FALSE",
|
||||||
|
"TAS_RECEIVE_EMAIL_FROM_FORMAT": "0",
|
||||||
|
"TAS_RECEIVE_MESSAGE_TYPE": "text",
|
||||||
|
"TAS_RECEIVE_MESSAGE_TEMPLATE": "alert_message.html",
|
||||||
|
"TAS_RECEIVE_SUBJECT_MESSAGE": "",
|
||||||
|
"TAS_RECEIVE_MESSAGE": "",
|
||||||
|
"TAS_AVERAGE": "",
|
||||||
|
"TAS_SDV": "",
|
||||||
|
"TAS_UID_OLD": "5730239675dfb8626a65a28038679991"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"PRO_UID": "3865635965dfb8d7a152330088145190",
|
||||||
|
"PRO_ID": "0",
|
||||||
|
"TAS_UID": "3458788095dfb8d7a18fa33047794245",
|
||||||
|
"TAS_TITLE": "Task 2",
|
||||||
|
"TAS_DESCRIPTION": "",
|
||||||
|
"TAS_DEF_TITLE": "",
|
||||||
|
"TAS_DEF_SUBJECT_MESSAGE": "",
|
||||||
|
"TAS_DEF_PROC_CODE": "",
|
||||||
|
"TAS_DEF_MESSAGE": "",
|
||||||
|
"TAS_DEF_DESCRIPTION": "",
|
||||||
|
"TAS_TYPE": "NORMAL",
|
||||||
|
"TAS_DURATION": "1",
|
||||||
|
"TAS_DELAY_TYPE": "",
|
||||||
|
"TAS_TEMPORIZER": "0",
|
||||||
|
"TAS_TYPE_DAY": "",
|
||||||
|
"TAS_TIMEUNIT": "DAYS",
|
||||||
|
"TAS_ALERT": "FALSE",
|
||||||
|
"TAS_PRIORITY_VARIABLE": "",
|
||||||
|
"TAS_ASSIGN_TYPE": "BALANCED",
|
||||||
|
"TAS_ASSIGN_VARIABLE": "@@SYS_NEXT_USER_TO_BE_ASSIGNED",
|
||||||
|
"TAS_GROUP_VARIABLE": "",
|
||||||
|
"TAS_MI_INSTANCE_VARIABLE": "@@SYS_VAR_TOTAL_INSTANCE",
|
||||||
|
"TAS_MI_COMPLETE_VARIABLE": "@@SYS_VAR_TOTAL_INSTANCES_COMPLETE",
|
||||||
|
"TAS_ASSIGN_LOCATION": "FALSE",
|
||||||
|
"TAS_ASSIGN_LOCATION_ADHOC": "FALSE",
|
||||||
|
"TAS_TRANSFER_FLY": "FALSE",
|
||||||
|
"TAS_LAST_ASSIGNED": "0",
|
||||||
|
"TAS_USER": "0",
|
||||||
|
"TAS_CAN_UPLOAD": "FALSE",
|
||||||
|
"TAS_VIEW_UPLOAD": "FALSE",
|
||||||
|
"TAS_VIEW_ADDITIONAL_DOCUMENTATION": "FALSE",
|
||||||
|
"TAS_CAN_CANCEL": "FALSE",
|
||||||
|
"TAS_OWNER_APP": "FALSE",
|
||||||
|
"STG_UID": "",
|
||||||
|
"TAS_CAN_PAUSE": "FALSE",
|
||||||
|
"TAS_CAN_SEND_MESSAGE": "TRUE",
|
||||||
|
"TAS_CAN_DELETE_DOCS": "FALSE",
|
||||||
|
"TAS_SELF_SERVICE": "FALSE",
|
||||||
|
"TAS_START": "TRUE",
|
||||||
|
"TAS_TO_LAST_USER": "FALSE",
|
||||||
|
"TAS_SEND_LAST_EMAIL": "FALSE",
|
||||||
|
"TAS_DERIVATION": "NORMAL",
|
||||||
|
"TAS_POSX": "143",
|
||||||
|
"TAS_POSY": "181",
|
||||||
|
"TAS_WIDTH": "110",
|
||||||
|
"TAS_HEIGHT": "60",
|
||||||
|
"TAS_COLOR": "",
|
||||||
|
"TAS_EVN_UID": "",
|
||||||
|
"TAS_BOUNDARY": "",
|
||||||
|
"TAS_DERIVATION_SCREEN_TPL": "",
|
||||||
|
"TAS_SELFSERVICE_TIMEOUT": "0",
|
||||||
|
"TAS_SELFSERVICE_TIME": "0",
|
||||||
|
"TAS_SELFSERVICE_TIME_UNIT": "",
|
||||||
|
"TAS_SELFSERVICE_TRIGGER_UID": "",
|
||||||
|
"TAS_SELFSERVICE_EXECUTION": "EVERY_TIME",
|
||||||
|
"TAS_NOT_EMAIL_FROM_FORMAT": "0",
|
||||||
|
"TAS_OFFLINE": "FALSE",
|
||||||
|
"TAS_EMAIL_SERVER_UID": "",
|
||||||
|
"TAS_AUTO_ROOT": "FALSE",
|
||||||
|
"TAS_RECEIVE_SERVER_UID": "",
|
||||||
|
"TAS_RECEIVE_LAST_EMAIL": "FALSE",
|
||||||
|
"TAS_RECEIVE_EMAIL_FROM_FORMAT": "0",
|
||||||
|
"TAS_RECEIVE_MESSAGE_TYPE": "text",
|
||||||
|
"TAS_RECEIVE_MESSAGE_TEMPLATE": "alert_message.html",
|
||||||
|
"TAS_RECEIVE_SUBJECT_MESSAGE": "",
|
||||||
|
"TAS_RECEIVE_MESSAGE": "",
|
||||||
|
"TAS_AVERAGE": "",
|
||||||
|
"TAS_SDV": "",
|
||||||
|
"TAS_UID_OLD": "6279149375dfb8626a95495099553981"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"PRO_UID": "3865635965dfb8d7a152330088145190",
|
||||||
|
"PRO_ID": "0",
|
||||||
|
"TAS_UID": "7916511005dfb8d7a234286082436886",
|
||||||
|
"TAS_TITLE": "Task 3",
|
||||||
|
"TAS_DESCRIPTION": "",
|
||||||
|
"TAS_DEF_TITLE": "",
|
||||||
|
"TAS_DEF_SUBJECT_MESSAGE": "",
|
||||||
|
"TAS_DEF_PROC_CODE": "",
|
||||||
|
"TAS_DEF_MESSAGE": "",
|
||||||
|
"TAS_DEF_DESCRIPTION": "",
|
||||||
|
"TAS_TYPE": "NORMAL",
|
||||||
|
"TAS_DURATION": "1",
|
||||||
|
"TAS_DELAY_TYPE": "",
|
||||||
|
"TAS_TEMPORIZER": "0",
|
||||||
|
"TAS_TYPE_DAY": "",
|
||||||
|
"TAS_TIMEUNIT": "DAYS",
|
||||||
|
"TAS_ALERT": "FALSE",
|
||||||
|
"TAS_PRIORITY_VARIABLE": "",
|
||||||
|
"TAS_ASSIGN_TYPE": "BALANCED",
|
||||||
|
"TAS_ASSIGN_VARIABLE": "@@SYS_NEXT_USER_TO_BE_ASSIGNED",
|
||||||
|
"TAS_GROUP_VARIABLE": "",
|
||||||
|
"TAS_MI_INSTANCE_VARIABLE": "@@SYS_VAR_TOTAL_INSTANCE",
|
||||||
|
"TAS_MI_COMPLETE_VARIABLE": "@@SYS_VAR_TOTAL_INSTANCES_COMPLETE",
|
||||||
|
"TAS_ASSIGN_LOCATION": "FALSE",
|
||||||
|
"TAS_ASSIGN_LOCATION_ADHOC": "FALSE",
|
||||||
|
"TAS_TRANSFER_FLY": "FALSE",
|
||||||
|
"TAS_LAST_ASSIGNED": "0",
|
||||||
|
"TAS_USER": "0",
|
||||||
|
"TAS_CAN_UPLOAD": "FALSE",
|
||||||
|
"TAS_VIEW_UPLOAD": "FALSE",
|
||||||
|
"TAS_VIEW_ADDITIONAL_DOCUMENTATION": "FALSE",
|
||||||
|
"TAS_CAN_CANCEL": "FALSE",
|
||||||
|
"TAS_OWNER_APP": "FALSE",
|
||||||
|
"STG_UID": "",
|
||||||
|
"TAS_CAN_PAUSE": "FALSE",
|
||||||
|
"TAS_CAN_SEND_MESSAGE": "TRUE",
|
||||||
|
"TAS_CAN_DELETE_DOCS": "FALSE",
|
||||||
|
"TAS_SELF_SERVICE": "FALSE",
|
||||||
|
"TAS_START": "FALSE",
|
||||||
|
"TAS_TO_LAST_USER": "FALSE",
|
||||||
|
"TAS_SEND_LAST_EMAIL": "FALSE",
|
||||||
|
"TAS_DERIVATION": "NORMAL",
|
||||||
|
"TAS_POSX": "337",
|
||||||
|
"TAS_POSY": "181",
|
||||||
|
"TAS_WIDTH": "110",
|
||||||
|
"TAS_HEIGHT": "60",
|
||||||
|
"TAS_COLOR": "",
|
||||||
|
"TAS_EVN_UID": "",
|
||||||
|
"TAS_BOUNDARY": "",
|
||||||
|
"TAS_DERIVATION_SCREEN_TPL": "",
|
||||||
|
"TAS_SELFSERVICE_TIMEOUT": "0",
|
||||||
|
"TAS_SELFSERVICE_TIME": "0",
|
||||||
|
"TAS_SELFSERVICE_TIME_UNIT": "",
|
||||||
|
"TAS_SELFSERVICE_TRIGGER_UID": "",
|
||||||
|
"TAS_SELFSERVICE_EXECUTION": "EVERY_TIME",
|
||||||
|
"TAS_NOT_EMAIL_FROM_FORMAT": "0",
|
||||||
|
"TAS_OFFLINE": "FALSE",
|
||||||
|
"TAS_EMAIL_SERVER_UID": "",
|
||||||
|
"TAS_AUTO_ROOT": "FALSE",
|
||||||
|
"TAS_RECEIVE_SERVER_UID": "",
|
||||||
|
"TAS_RECEIVE_LAST_EMAIL": "FALSE",
|
||||||
|
"TAS_RECEIVE_EMAIL_FROM_FORMAT": "0",
|
||||||
|
"TAS_RECEIVE_MESSAGE_TYPE": "text",
|
||||||
|
"TAS_RECEIVE_MESSAGE_TEMPLATE": "alert_message.html",
|
||||||
|
"TAS_RECEIVE_SUBJECT_MESSAGE": "",
|
||||||
|
"TAS_RECEIVE_MESSAGE": "",
|
||||||
|
"TAS_AVERAGE": "",
|
||||||
|
"TAS_SDV": "",
|
||||||
|
"TAS_UID_OLD": "3347609685dfb8626a35d06089327263"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"PRO_UID": "3865635965dfb8d7a152330088145190",
|
||||||
|
"PRO_ID": "0",
|
||||||
|
"TAS_UID": "9865926225dfb8d7a1fc385009206952",
|
||||||
|
"TAS_TITLE": "Task 4",
|
||||||
|
"TAS_DESCRIPTION": "",
|
||||||
|
"TAS_DEF_TITLE": "",
|
||||||
|
"TAS_DEF_SUBJECT_MESSAGE": "",
|
||||||
|
"TAS_DEF_PROC_CODE": "",
|
||||||
|
"TAS_DEF_MESSAGE": "",
|
||||||
|
"TAS_DEF_DESCRIPTION": "",
|
||||||
|
"TAS_TYPE": "NORMAL",
|
||||||
|
"TAS_DURATION": "1",
|
||||||
|
"TAS_DELAY_TYPE": "",
|
||||||
|
"TAS_TEMPORIZER": "0",
|
||||||
|
"TAS_TYPE_DAY": "1",
|
||||||
|
"TAS_TIMEUNIT": "DAYS",
|
||||||
|
"TAS_ALERT": "FALSE",
|
||||||
|
"TAS_PRIORITY_VARIABLE": "",
|
||||||
|
"TAS_ASSIGN_TYPE": "BALANCED",
|
||||||
|
"TAS_ASSIGN_VARIABLE": "@@SYS_NEXT_USER_TO_BE_ASSIGNED",
|
||||||
|
"TAS_GROUP_VARIABLE": "",
|
||||||
|
"TAS_MI_INSTANCE_VARIABLE": "@@SYS_VAR_TOTAL_INSTANCE",
|
||||||
|
"TAS_MI_COMPLETE_VARIABLE": "@@SYS_VAR_TOTAL_INSTANCES_COMPLETE",
|
||||||
|
"TAS_ASSIGN_LOCATION": "FALSE",
|
||||||
|
"TAS_ASSIGN_LOCATION_ADHOC": "FALSE",
|
||||||
|
"TAS_TRANSFER_FLY": "FALSE",
|
||||||
|
"TAS_LAST_ASSIGNED": "0",
|
||||||
|
"TAS_USER": "0",
|
||||||
|
"TAS_CAN_UPLOAD": "FALSE",
|
||||||
|
"TAS_VIEW_UPLOAD": "FALSE",
|
||||||
|
"TAS_VIEW_ADDITIONAL_DOCUMENTATION": "FALSE",
|
||||||
|
"TAS_CAN_CANCEL": "FALSE",
|
||||||
|
"TAS_OWNER_APP": "FALSE",
|
||||||
|
"STG_UID": "",
|
||||||
|
"TAS_CAN_PAUSE": "FALSE",
|
||||||
|
"TAS_CAN_SEND_MESSAGE": "TRUE",
|
||||||
|
"TAS_CAN_DELETE_DOCS": "FALSE",
|
||||||
|
"TAS_SELF_SERVICE": "FALSE",
|
||||||
|
"TAS_START": "TRUE",
|
||||||
|
"TAS_TO_LAST_USER": "FALSE",
|
||||||
|
"TAS_SEND_LAST_EMAIL": "FALSE",
|
||||||
|
"TAS_DERIVATION": "NORMAL",
|
||||||
|
"TAS_POSX": "143",
|
||||||
|
"TAS_POSY": "274",
|
||||||
|
"TAS_WIDTH": "110",
|
||||||
|
"TAS_HEIGHT": "60",
|
||||||
|
"TAS_COLOR": "",
|
||||||
|
"TAS_EVN_UID": "",
|
||||||
|
"TAS_BOUNDARY": "",
|
||||||
|
"TAS_DERIVATION_SCREEN_TPL": "",
|
||||||
|
"TAS_SELFSERVICE_TIMEOUT": "0",
|
||||||
|
"TAS_SELFSERVICE_TIME": "0",
|
||||||
|
"TAS_SELFSERVICE_TIME_UNIT": "",
|
||||||
|
"TAS_SELFSERVICE_TRIGGER_UID": "",
|
||||||
|
"TAS_SELFSERVICE_EXECUTION": "EVERY_TIME",
|
||||||
|
"TAS_NOT_EMAIL_FROM_FORMAT": "0",
|
||||||
|
"TAS_OFFLINE": "FALSE",
|
||||||
|
"TAS_EMAIL_SERVER_UID": "",
|
||||||
|
"TAS_AUTO_ROOT": "FALSE",
|
||||||
|
"TAS_RECEIVE_SERVER_UID": "",
|
||||||
|
"TAS_RECEIVE_LAST_EMAIL": "FALSE",
|
||||||
|
"TAS_RECEIVE_EMAIL_FROM_FORMAT": "0",
|
||||||
|
"TAS_RECEIVE_MESSAGE_TYPE": "text",
|
||||||
|
"TAS_RECEIVE_MESSAGE_TEMPLATE": "alert_message.html",
|
||||||
|
"TAS_RECEIVE_SUBJECT_MESSAGE": "",
|
||||||
|
"TAS_RECEIVE_MESSAGE": "",
|
||||||
|
"TAS_AVERAGE": "",
|
||||||
|
"TAS_SDV": "",
|
||||||
|
"TAS_UID_OLD": "8420128765dfb8626acccb8059629296"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"PRO_UID": "3865635965dfb8d7a152330088145190",
|
||||||
|
"PRO_ID": "0",
|
||||||
|
"TAS_UID": "3454769755dfb8d7a1cadc9088436060",
|
||||||
|
"TAS_TITLE": "Task 5",
|
||||||
|
"TAS_DESCRIPTION": "",
|
||||||
|
"TAS_DEF_TITLE": "",
|
||||||
|
"TAS_DEF_SUBJECT_MESSAGE": "",
|
||||||
|
"TAS_DEF_PROC_CODE": "",
|
||||||
|
"TAS_DEF_MESSAGE": "",
|
||||||
|
"TAS_DEF_DESCRIPTION": "",
|
||||||
|
"TAS_TYPE": "NORMAL",
|
||||||
|
"TAS_DURATION": "1",
|
||||||
|
"TAS_DELAY_TYPE": "",
|
||||||
|
"TAS_TEMPORIZER": "0",
|
||||||
|
"TAS_TYPE_DAY": "1",
|
||||||
|
"TAS_TIMEUNIT": "DAYS",
|
||||||
|
"TAS_ALERT": "FALSE",
|
||||||
|
"TAS_PRIORITY_VARIABLE": "",
|
||||||
|
"TAS_ASSIGN_TYPE": "BALANCED",
|
||||||
|
"TAS_ASSIGN_VARIABLE": "@@SYS_NEXT_USER_TO_BE_ASSIGNED",
|
||||||
|
"TAS_GROUP_VARIABLE": "",
|
||||||
|
"TAS_MI_INSTANCE_VARIABLE": "@@SYS_VAR_TOTAL_INSTANCE",
|
||||||
|
"TAS_MI_COMPLETE_VARIABLE": "@@SYS_VAR_TOTAL_INSTANCES_COMPLETE",
|
||||||
|
"TAS_ASSIGN_LOCATION": "FALSE",
|
||||||
|
"TAS_ASSIGN_LOCATION_ADHOC": "FALSE",
|
||||||
|
"TAS_TRANSFER_FLY": "FALSE",
|
||||||
|
"TAS_LAST_ASSIGNED": "0",
|
||||||
|
"TAS_USER": "0",
|
||||||
|
"TAS_CAN_UPLOAD": "FALSE",
|
||||||
|
"TAS_VIEW_UPLOAD": "FALSE",
|
||||||
|
"TAS_VIEW_ADDITIONAL_DOCUMENTATION": "FALSE",
|
||||||
|
"TAS_CAN_CANCEL": "FALSE",
|
||||||
|
"TAS_OWNER_APP": "FALSE",
|
||||||
|
"STG_UID": "",
|
||||||
|
"TAS_CAN_PAUSE": "FALSE",
|
||||||
|
"TAS_CAN_SEND_MESSAGE": "TRUE",
|
||||||
|
"TAS_CAN_DELETE_DOCS": "FALSE",
|
||||||
|
"TAS_SELF_SERVICE": "FALSE",
|
||||||
|
"TAS_START": "FALSE",
|
||||||
|
"TAS_TO_LAST_USER": "FALSE",
|
||||||
|
"TAS_SEND_LAST_EMAIL": "FALSE",
|
||||||
|
"TAS_DERIVATION": "NORMAL",
|
||||||
|
"TAS_POSX": "337",
|
||||||
|
"TAS_POSY": "274",
|
||||||
|
"TAS_WIDTH": "110",
|
||||||
|
"TAS_HEIGHT": "60",
|
||||||
|
"TAS_COLOR": "",
|
||||||
|
"TAS_EVN_UID": "",
|
||||||
|
"TAS_BOUNDARY": "",
|
||||||
|
"TAS_DERIVATION_SCREEN_TPL": "",
|
||||||
|
"TAS_SELFSERVICE_TIMEOUT": "0",
|
||||||
|
"TAS_SELFSERVICE_TIME": "0",
|
||||||
|
"TAS_SELFSERVICE_TIME_UNIT": "",
|
||||||
|
"TAS_SELFSERVICE_TRIGGER_UID": "",
|
||||||
|
"TAS_SELFSERVICE_EXECUTION": "EVERY_TIME",
|
||||||
|
"TAS_NOT_EMAIL_FROM_FORMAT": "0",
|
||||||
|
"TAS_OFFLINE": "FALSE",
|
||||||
|
"TAS_EMAIL_SERVER_UID": "",
|
||||||
|
"TAS_AUTO_ROOT": "FALSE",
|
||||||
|
"TAS_RECEIVE_SERVER_UID": "",
|
||||||
|
"TAS_RECEIVE_LAST_EMAIL": "FALSE",
|
||||||
|
"TAS_RECEIVE_EMAIL_FROM_FORMAT": "0",
|
||||||
|
"TAS_RECEIVE_MESSAGE_TYPE": "text",
|
||||||
|
"TAS_RECEIVE_MESSAGE_TEMPLATE": "alert_message.html",
|
||||||
|
"TAS_RECEIVE_SUBJECT_MESSAGE": "",
|
||||||
|
"TAS_RECEIVE_MESSAGE": "",
|
||||||
|
"TAS_AVERAGE": "",
|
||||||
|
"TAS_SDV": "",
|
||||||
|
"TAS_UID_OLD": "7400740655dfb86269feaa1089812754"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"PRO_UID": "3865635965dfb8d7a152330088145190",
|
||||||
|
"PRO_ID": "0",
|
||||||
|
"TAS_UID": "wee-532835dfb8d7a2d0a29054950929",
|
||||||
|
"TAS_TITLE": "WEBENTRYEVENT",
|
||||||
|
"TAS_DESCRIPTION": "",
|
||||||
|
"TAS_DEF_TITLE": "",
|
||||||
|
"TAS_DEF_SUBJECT_MESSAGE": "",
|
||||||
|
"TAS_DEF_PROC_CODE": "",
|
||||||
|
"TAS_DEF_MESSAGE": "",
|
||||||
|
"TAS_DEF_DESCRIPTION": "",
|
||||||
|
"TAS_TYPE": "WEBENTRYEVENT",
|
||||||
|
"TAS_DURATION": "1",
|
||||||
|
"TAS_DELAY_TYPE": "",
|
||||||
|
"TAS_TEMPORIZER": "0",
|
||||||
|
"TAS_TYPE_DAY": "",
|
||||||
|
"TAS_TIMEUNIT": "DAYS",
|
||||||
|
"TAS_ALERT": "FALSE",
|
||||||
|
"TAS_PRIORITY_VARIABLE": "",
|
||||||
|
"TAS_ASSIGN_TYPE": "BALANCED",
|
||||||
|
"TAS_ASSIGN_VARIABLE": "@@SYS_NEXT_USER_TO_BE_ASSIGNED",
|
||||||
|
"TAS_GROUP_VARIABLE": "",
|
||||||
|
"TAS_MI_INSTANCE_VARIABLE": "@@SYS_VAR_TOTAL_INSTANCE",
|
||||||
|
"TAS_MI_COMPLETE_VARIABLE": "@@SYS_VAR_TOTAL_INSTANCES_COMPLETE",
|
||||||
|
"TAS_ASSIGN_LOCATION": "FALSE",
|
||||||
|
"TAS_ASSIGN_LOCATION_ADHOC": "FALSE",
|
||||||
|
"TAS_TRANSFER_FLY": "FALSE",
|
||||||
|
"TAS_LAST_ASSIGNED": "0",
|
||||||
|
"TAS_USER": "0",
|
||||||
|
"TAS_CAN_UPLOAD": "FALSE",
|
||||||
|
"TAS_VIEW_UPLOAD": "FALSE",
|
||||||
|
"TAS_VIEW_ADDITIONAL_DOCUMENTATION": "FALSE",
|
||||||
|
"TAS_CAN_CANCEL": "FALSE",
|
||||||
|
"TAS_OWNER_APP": "FALSE",
|
||||||
|
"STG_UID": "",
|
||||||
|
"TAS_CAN_PAUSE": "FALSE",
|
||||||
|
"TAS_CAN_SEND_MESSAGE": "TRUE",
|
||||||
|
"TAS_CAN_DELETE_DOCS": "FALSE",
|
||||||
|
"TAS_SELF_SERVICE": "FALSE",
|
||||||
|
"TAS_START": "TRUE",
|
||||||
|
"TAS_TO_LAST_USER": "FALSE",
|
||||||
|
"TAS_SEND_LAST_EMAIL": "FALSE",
|
||||||
|
"TAS_DERIVATION": "NORMAL",
|
||||||
|
"TAS_POSX": "62",
|
||||||
|
"TAS_POSY": "202",
|
||||||
|
"TAS_WIDTH": "110",
|
||||||
|
"TAS_HEIGHT": "60",
|
||||||
|
"TAS_COLOR": "",
|
||||||
|
"TAS_EVN_UID": "",
|
||||||
|
"TAS_BOUNDARY": "",
|
||||||
|
"TAS_DERIVATION_SCREEN_TPL": "",
|
||||||
|
"TAS_SELFSERVICE_TIMEOUT": "0",
|
||||||
|
"TAS_SELFSERVICE_TIME": "0",
|
||||||
|
"TAS_SELFSERVICE_TIME_UNIT": "",
|
||||||
|
"TAS_SELFSERVICE_TRIGGER_UID": "",
|
||||||
|
"TAS_SELFSERVICE_EXECUTION": "EVERY_TIME",
|
||||||
|
"TAS_NOT_EMAIL_FROM_FORMAT": "0",
|
||||||
|
"TAS_OFFLINE": "FALSE",
|
||||||
|
"TAS_EMAIL_SERVER_UID": "",
|
||||||
|
"TAS_AUTO_ROOT": "FALSE",
|
||||||
|
"TAS_RECEIVE_SERVER_UID": "",
|
||||||
|
"TAS_RECEIVE_LAST_EMAIL": "FALSE",
|
||||||
|
"TAS_RECEIVE_EMAIL_FROM_FORMAT": "0",
|
||||||
|
"TAS_RECEIVE_MESSAGE_TYPE": "text",
|
||||||
|
"TAS_RECEIVE_MESSAGE_TEMPLATE": "alert_message.html",
|
||||||
|
"TAS_RECEIVE_SUBJECT_MESSAGE": "",
|
||||||
|
"TAS_RECEIVE_MESSAGE": "",
|
||||||
|
"TAS_AVERAGE": "",
|
||||||
|
"TAS_SDV": "",
|
||||||
|
"TAS_UID_OLD": "wee-873125dfb8626b28bf4015522377"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"routes": [
|
||||||
|
{
|
||||||
|
"ROU_UID": "1212118285dfb8626c112f2028203620",
|
||||||
|
"ROU_PARENT": "0",
|
||||||
|
"PRO_UID": "3865635965dfb8d7a152330088145190",
|
||||||
|
"TAS_UID": "3454769755dfb8d7a1cadc9088436060",
|
||||||
|
"ROU_NEXT_TASK": "-1",
|
||||||
|
"ROU_CASE": "1",
|
||||||
|
"ROU_TYPE": "SEQUENTIAL",
|
||||||
|
"ROU_DEFAULT": "0",
|
||||||
|
"ROU_CONDITION": "",
|
||||||
|
"ROU_TO_LAST_USER": "FALSE",
|
||||||
|
"ROU_OPTIONAL": "FALSE",
|
||||||
|
"ROU_SEND_EMAIL": "TRUE",
|
||||||
|
"ROU_SOURCEANCHOR": "1",
|
||||||
|
"ROU_TARGETANCHOR": "0",
|
||||||
|
"ROU_TO_PORT": "1",
|
||||||
|
"ROU_FROM_PORT": "2",
|
||||||
|
"ROU_EVN_UID": "",
|
||||||
|
"GAT_UID": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"ROU_UID": "2179164525dfb8626c19333095716699",
|
||||||
|
"ROU_PARENT": "0",
|
||||||
|
"PRO_UID": "3865635965dfb8d7a152330088145190",
|
||||||
|
"TAS_UID": "9865926225dfb8d7a1fc385009206952",
|
||||||
|
"ROU_NEXT_TASK": "3454769755dfb8d7a1cadc9088436060",
|
||||||
|
"ROU_CASE": "1",
|
||||||
|
"ROU_TYPE": "SEQUENTIAL",
|
||||||
|
"ROU_DEFAULT": "0",
|
||||||
|
"ROU_CONDITION": "",
|
||||||
|
"ROU_TO_LAST_USER": "FALSE",
|
||||||
|
"ROU_OPTIONAL": "FALSE",
|
||||||
|
"ROU_SEND_EMAIL": "TRUE",
|
||||||
|
"ROU_SOURCEANCHOR": "1",
|
||||||
|
"ROU_TARGETANCHOR": "0",
|
||||||
|
"ROU_TO_PORT": "1",
|
||||||
|
"ROU_FROM_PORT": "2",
|
||||||
|
"ROU_EVN_UID": "",
|
||||||
|
"GAT_UID": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"ROU_UID": "2685133935dfb8626c23ee2060782509",
|
||||||
|
"ROU_PARENT": "0",
|
||||||
|
"PRO_UID": "3865635965dfb8d7a152330088145190",
|
||||||
|
"TAS_UID": "7916511005dfb8d7a234286082436886",
|
||||||
|
"ROU_NEXT_TASK": "-1",
|
||||||
|
"ROU_CASE": "1",
|
||||||
|
"ROU_TYPE": "SEQUENTIAL",
|
||||||
|
"ROU_DEFAULT": "0",
|
||||||
|
"ROU_CONDITION": "",
|
||||||
|
"ROU_TO_LAST_USER": "FALSE",
|
||||||
|
"ROU_OPTIONAL": "FALSE",
|
||||||
|
"ROU_SEND_EMAIL": "TRUE",
|
||||||
|
"ROU_SOURCEANCHOR": "1",
|
||||||
|
"ROU_TARGETANCHOR": "0",
|
||||||
|
"ROU_TO_PORT": "1",
|
||||||
|
"ROU_FROM_PORT": "2",
|
||||||
|
"ROU_EVN_UID": "",
|
||||||
|
"GAT_UID": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"ROU_UID": "3309845585dfb8626cf6d41085941718",
|
||||||
|
"ROU_PARENT": "0",
|
||||||
|
"PRO_UID": "3865635965dfb8d7a152330088145190",
|
||||||
|
"TAS_UID": "wee-532835dfb8d7a2d0a29054950929",
|
||||||
|
"ROU_NEXT_TASK": "3458788095dfb8d7a18fa33047794245",
|
||||||
|
"ROU_CASE": "1",
|
||||||
|
"ROU_TYPE": "SEQUENTIAL",
|
||||||
|
"ROU_DEFAULT": "0",
|
||||||
|
"ROU_CONDITION": "",
|
||||||
|
"ROU_TO_LAST_USER": "FALSE",
|
||||||
|
"ROU_OPTIONAL": "FALSE",
|
||||||
|
"ROU_SEND_EMAIL": "TRUE",
|
||||||
|
"ROU_SOURCEANCHOR": "1",
|
||||||
|
"ROU_TARGETANCHOR": "0",
|
||||||
|
"ROU_TO_PORT": "1",
|
||||||
|
"ROU_FROM_PORT": "2",
|
||||||
|
"ROU_EVN_UID": "",
|
||||||
|
"GAT_UID": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"ROU_UID": "7287866925dfb8626c065a7095532193",
|
||||||
|
"ROU_PARENT": "0",
|
||||||
|
"PRO_UID": "3865635965dfb8d7a152330088145190",
|
||||||
|
"TAS_UID": "3458788095dfb8d7a18fa33047794245",
|
||||||
|
"ROU_NEXT_TASK": "7916511005dfb8d7a234286082436886",
|
||||||
|
"ROU_CASE": "1",
|
||||||
|
"ROU_TYPE": "SEQUENTIAL",
|
||||||
|
"ROU_DEFAULT": "0",
|
||||||
|
"ROU_CONDITION": "",
|
||||||
|
"ROU_TO_LAST_USER": "FALSE",
|
||||||
|
"ROU_OPTIONAL": "FALSE",
|
||||||
|
"ROU_SEND_EMAIL": "TRUE",
|
||||||
|
"ROU_SOURCEANCHOR": "1",
|
||||||
|
"ROU_TARGETANCHOR": "0",
|
||||||
|
"ROU_TO_PORT": "1",
|
||||||
|
"ROU_FROM_PORT": "2",
|
||||||
|
"ROU_EVN_UID": "",
|
||||||
|
"GAT_UID": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"ROU_UID": "8808316485dfb8626c2ed28017700589",
|
||||||
|
"ROU_PARENT": "0",
|
||||||
|
"PRO_UID": "3865635965dfb8d7a152330088145190",
|
||||||
|
"TAS_UID": "5978729975dfb8d7a264fa0070639752",
|
||||||
|
"ROU_NEXT_TASK": "-1",
|
||||||
|
"ROU_CASE": "1",
|
||||||
|
"ROU_TYPE": "SEQUENTIAL",
|
||||||
|
"ROU_DEFAULT": "0",
|
||||||
|
"ROU_CONDITION": "",
|
||||||
|
"ROU_TO_LAST_USER": "FALSE",
|
||||||
|
"ROU_OPTIONAL": "FALSE",
|
||||||
|
"ROU_SEND_EMAIL": "TRUE",
|
||||||
|
"ROU_SOURCEANCHOR": "1",
|
||||||
|
"ROU_TARGETANCHOR": "0",
|
||||||
|
"ROU_TO_PORT": "1",
|
||||||
|
"ROU_FROM_PORT": "2",
|
||||||
|
"ROU_EVN_UID": "",
|
||||||
|
"GAT_UID": ""
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"lanes": [],
|
||||||
|
"gateways": [],
|
||||||
|
"inputs": [],
|
||||||
|
"outputs": [],
|
||||||
|
"dynaforms": [
|
||||||
|
{
|
||||||
|
"DYN_UID": "1981330525dfb8626c70026010918765",
|
||||||
|
"DYN_TITLE": "dynaform1",
|
||||||
|
"DYN_DESCRIPTION": "",
|
||||||
|
"PRO_UID": "3865635965dfb8d7a152330088145190",
|
||||||
|
"DYN_TYPE": "xmlform",
|
||||||
|
"DYN_FILENAME": "3598973985dfb86269c23d6071638314\/1981330525dfb8626c70026010918765",
|
||||||
|
"DYN_CONTENT": "{\"name\":\"dynaform1\",\"description\":\"\",\"items\":[{\"type\":\"form\",\"variable\":\"\",\"var_uid\":\"\",\"dataType\":\"\",\"id\":\"1981330525dfb8626c70026010918765\",\"name\":\"dynaform1\",\"description\":\"\",\"mode\":\"edit\",\"script\":\"\",\"language\":\"en\",\"externalLibs\":\"\",\"printable\":false,\"items\":[[{\"type\":\"text\",\"variable\":\"textVar001\",\"var_uid\":\"2420200535dfb8626c83d16045380736\",\"dataType\":\"string\",\"protectedValue\":false,\"id\":\"textVar001\",\"name\":\"textVar001\",\"label\":\"text_1\",\"defaultValue\":\"\",\"placeholder\":\"\",\"hint\":\"\",\"required\":false,\"requiredFieldErrorMessage\":\"\",\"textTransform\":\"none\",\"validate\":\"\",\"validateMessage\":\"\",\"maxLength\":1000,\"formula\":\"\",\"mode\":\"parent\",\"operation\":\"\",\"dbConnection\":\"workflow\",\"dbConnectionLabel\":\"PM Database\",\"sql\":\"\",\"var_name\":\"textVar001\",\"colSpan\":12}]],\"variables\":[{\"var_uid\":\"2420200535dfb8626c83d16045380736\",\"prj_uid\":\"3598973985dfb86269c23d6071638314\",\"var_name\":\"textVar001\",\"var_field_type\":\"string\",\"var_field_size\":10,\"var_label\":\"string\",\"var_dbconnection\":\"workflow\",\"var_dbconnection_label\":\"PM Database\",\"var_sql\":\"\",\"var_null\":0,\"var_default\":\"\",\"var_accepted_values\":\"[]\",\"inp_doc_uid\":\"\"}]}]}",
|
||||||
|
"DYN_LABEL": "",
|
||||||
|
"DYN_VERSION": "2",
|
||||||
|
"DYN_UPDATE_DATE": "2019-12-19 14:02:48"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"steps": [
|
||||||
|
{
|
||||||
|
"STEP_UID": "1497588005dfb8626c75079092586998",
|
||||||
|
"PRO_UID": "3865635965dfb8d7a152330088145190",
|
||||||
|
"TAS_UID": "9865926225dfb8d7a1fc385009206952",
|
||||||
|
"STEP_TYPE_OBJ": "DYNAFORM",
|
||||||
|
"STEP_UID_OBJ": "1981330525dfb8626c70026010918765",
|
||||||
|
"STEP_CONDITION": "",
|
||||||
|
"STEP_POSITION": "1",
|
||||||
|
"STEP_MODE": "EDIT"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"STEP_UID": "1500595075dfb8626c761f9080007968",
|
||||||
|
"PRO_UID": "3865635965dfb8d7a152330088145190",
|
||||||
|
"TAS_UID": "7916511005dfb8d7a234286082436886",
|
||||||
|
"STEP_TYPE_OBJ": "DYNAFORM",
|
||||||
|
"STEP_UID_OBJ": "1981330525dfb8626c70026010918765",
|
||||||
|
"STEP_CONDITION": "",
|
||||||
|
"STEP_POSITION": "1",
|
||||||
|
"STEP_MODE": "EDIT"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"STEP_UID": "2804442295dfb8626c78449036895613",
|
||||||
|
"PRO_UID": "3865635965dfb8d7a152330088145190",
|
||||||
|
"TAS_UID": "wee-532835dfb8d7a2d0a29054950929",
|
||||||
|
"STEP_TYPE_OBJ": "DYNAFORM",
|
||||||
|
"STEP_UID_OBJ": "1981330525dfb8626c70026010918765",
|
||||||
|
"STEP_CONDITION": "",
|
||||||
|
"STEP_POSITION": "1",
|
||||||
|
"STEP_MODE": "EDIT"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"STEP_UID": "3986576985dfb8626c721d3097828590",
|
||||||
|
"PRO_UID": "3865635965dfb8d7a152330088145190",
|
||||||
|
"TAS_UID": "3454769755dfb8d7a1cadc9088436060",
|
||||||
|
"STEP_TYPE_OBJ": "DYNAFORM",
|
||||||
|
"STEP_UID_OBJ": "1981330525dfb8626c70026010918765",
|
||||||
|
"STEP_CONDITION": "",
|
||||||
|
"STEP_POSITION": "1",
|
||||||
|
"STEP_MODE": "EDIT"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"STEP_UID": "4754027025dfb8626c73c99090309776",
|
||||||
|
"PRO_UID": "3865635965dfb8d7a152330088145190",
|
||||||
|
"TAS_UID": "3458788095dfb8d7a18fa33047794245",
|
||||||
|
"STEP_TYPE_OBJ": "DYNAFORM",
|
||||||
|
"STEP_UID_OBJ": "1981330525dfb8626c70026010918765",
|
||||||
|
"STEP_CONDITION": "",
|
||||||
|
"STEP_POSITION": "1",
|
||||||
|
"STEP_MODE": "EDIT"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"STEP_UID": "8110336185dfb8626ce6121078206082",
|
||||||
|
"PRO_UID": "3865635965dfb8d7a152330088145190",
|
||||||
|
"TAS_UID": "wee-532835dfb8d7a2d0a29054950929",
|
||||||
|
"STEP_TYPE_OBJ": "DYNAFORM",
|
||||||
|
"STEP_UID_OBJ": "1981330525dfb8626c70026010918765",
|
||||||
|
"STEP_CONDITION": "",
|
||||||
|
"STEP_POSITION": "1",
|
||||||
|
"STEP_MODE": "EDIT"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"STEP_UID": "9520990735dfb8626c77338089242336",
|
||||||
|
"PRO_UID": "3865635965dfb8d7a152330088145190",
|
||||||
|
"TAS_UID": "5978729975dfb8d7a264fa0070639752",
|
||||||
|
"STEP_TYPE_OBJ": "DYNAFORM",
|
||||||
|
"STEP_UID_OBJ": "1981330525dfb8626c70026010918765",
|
||||||
|
"STEP_CONDITION": "",
|
||||||
|
"STEP_POSITION": "1",
|
||||||
|
"STEP_MODE": "EDIT"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"triggers": [],
|
||||||
|
"taskusers": [],
|
||||||
|
"groupwfs": [],
|
||||||
|
"steptriggers": [],
|
||||||
|
"dbconnections": [],
|
||||||
|
"reportTables": [],
|
||||||
|
"reportTablesVars": [],
|
||||||
|
"stepSupervisor": [
|
||||||
|
{
|
||||||
|
"STEP_UID": "2322645545dfb8626c79580010259901",
|
||||||
|
"PRO_UID": "3865635965dfb8d7a152330088145190",
|
||||||
|
"STEP_TYPE_OBJ": "DYNAFORM",
|
||||||
|
"STEP_UID_OBJ": "1981330525dfb8626c70026010918765",
|
||||||
|
"STEP_POSITION": "1"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"dynaformFiles": {
|
||||||
|
"1981330525dfb8626c70026010918765": "test"
|
||||||
|
},
|
||||||
|
"gridFiles": {
|
||||||
|
"1981330525dfb8626c70026010918765": "test"
|
||||||
|
},
|
||||||
|
"objectPermissions": [{
|
||||||
|
"PRO_UID": "3865635965dfb8d7a152330088145190",
|
||||||
|
"OP_OBJ_UID": "1981330525dfb8626c70026010918765",
|
||||||
|
"OP_OBJ_TYPE": "DYNAFORM"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"subProcess": [],
|
||||||
|
"caseTracker": [
|
||||||
|
{
|
||||||
|
"PRO_UID": "3865635965dfb8d7a152330088145190",
|
||||||
|
"CT_MAP_TYPE": "PROCESSMAP",
|
||||||
|
"CT_DERIVATION_HISTORY": "1",
|
||||||
|
"CT_MESSAGE_HISTORY": "1"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"caseTrackerObject": [
|
||||||
|
{
|
||||||
|
"CTO_UID": "9681402035dfb8626c7a720057282635",
|
||||||
|
"PRO_UID": "3865635965dfb8d7a152330088145190",
|
||||||
|
"CTO_TYPE_OBJ": "DYNAFORM",
|
||||||
|
"CTO_UID_OBJ": "1981330525dfb8626c70026010918765",
|
||||||
|
"CTO_CONDITION": "",
|
||||||
|
"CTO_POSITION": "1"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"stage": [],
|
||||||
|
"fieldCondition": [
|
||||||
|
{
|
||||||
|
"FCD_DYN_UID": "1981330525dfb8626c70026010918765"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"event": [],
|
||||||
|
"caseScheduler": [],
|
||||||
|
"processCategory": [],
|
||||||
|
"taskExtraProperties": [],
|
||||||
|
"processUser": [],
|
||||||
|
"processVariables": [
|
||||||
|
{
|
||||||
|
"VAR_UID": "2420200535dfb8626c83d16045380736",
|
||||||
|
"PRJ_UID": "3865635965dfb8d7a152330088145190",
|
||||||
|
"VAR_NAME": "textVar001",
|
||||||
|
"VAR_FIELD_TYPE": "string",
|
||||||
|
"VAR_FIELD_SIZE": "10",
|
||||||
|
"VAR_LABEL": "string",
|
||||||
|
"VAR_DBCONNECTION": "workflow",
|
||||||
|
"VAR_SQL": "",
|
||||||
|
"VAR_NULL": "0",
|
||||||
|
"VAR_DEFAULT": "",
|
||||||
|
"VAR_ACCEPTED_VALUES": "[]",
|
||||||
|
"INP_DOC_UID": ""
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"webEntry": [
|
||||||
|
{
|
||||||
|
"DYN_UID": "1981330525dfb8626c70026010918765"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"webEntryEvent": [
|
||||||
|
{
|
||||||
|
"WEE_UID": "7839596635dfb8626d46f82082790649",
|
||||||
|
"PRJ_UID": "3598973985dfb86269c23d6071638314",
|
||||||
|
"EVN_UID": "8868532835dfb8d7a2d0a29054950929",
|
||||||
|
"ACT_UID": "3458788095dfb8d7a18fa33047794245",
|
||||||
|
"DYN_UID": "1981330525dfb8626c70026010918765",
|
||||||
|
"USR_UID": "00000000000000000000000000000002",
|
||||||
|
"WEE_TITLE": "1833424275dfb847c912110048244199",
|
||||||
|
"WEE_DESCRIPTION": "",
|
||||||
|
"WEE_STATUS": "ENABLED",
|
||||||
|
"WEE_WE_UID": "9067551515dfb8626d0f040095365609",
|
||||||
|
"WEE_WE_TAS_UID": "wee-873125dfb8626b28bf4015522377",
|
||||||
|
"WEE_WE_URL": "1833424275dfb847c912110048244199.php",
|
||||||
|
"WE_CUSTOM_TITLE": "",
|
||||||
|
"WE_TYPE": "SINGLE",
|
||||||
|
"WE_AUTHENTICATION": "ANONYMOUS",
|
||||||
|
"WE_HIDE_INFORMATION_BAR": "1",
|
||||||
|
"WE_CALLBACK": "PROCESSMAKER",
|
||||||
|
"WE_CALLBACK_URL": "",
|
||||||
|
"WE_LINK_GENERATION": "DEFAULT",
|
||||||
|
"WE_LINK_SKIN": "classic",
|
||||||
|
"WE_LINK_LANGUAGE": "en",
|
||||||
|
"WE_LINK_DOMAIN": "",
|
||||||
|
"TAS_UID": "wee-873125dfb8626b28bf4015522377",
|
||||||
|
"WE_SHOW_IN_NEW_CASE": "0",
|
||||||
|
"EVN_UID_OLD": "8469873125dfb8626b28bf4015522377"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"messageType": [],
|
||||||
|
"messageTypeVariable": [],
|
||||||
|
"messageEventDefinition": [],
|
||||||
|
"scriptTask": [],
|
||||||
|
"timerEvent": [],
|
||||||
|
"emailEvent": [],
|
||||||
|
"filesManager": [
|
||||||
|
{
|
||||||
|
"PRF_UID": "2320529945dfb8626e07327095962435",
|
||||||
|
"PRO_UID": "3865635965dfb8d7a152330088145190",
|
||||||
|
"USR_UID": "00000000000000000000000000000001",
|
||||||
|
"PRF_UPDATE_USR_UID": "",
|
||||||
|
"PRF_PATH": "\/var\/www\/shared\/sites\/workflow\/public\/3598973985dfb86269c23d6071638314\/1833424275dfb847c912110048244199.php",
|
||||||
|
"PRF_TYPE": "file",
|
||||||
|
"PRF_EDITABLE": "0",
|
||||||
|
"PRF_CREATE_DATE": "2019-12-19 14:16:06",
|
||||||
|
"PRF_UPDATE_DATE": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"PRF_UID": "3478830955dfb84d9e1d771040119182",
|
||||||
|
"PRO_UID": "3865635965dfb8d7a152330088145190",
|
||||||
|
"USR_UID": "00000000000000000000000000000001",
|
||||||
|
"PRF_UPDATE_USR_UID": "",
|
||||||
|
"PRF_PATH": "\/var\/www\/shared\/sites\/workflow\/mailTemplates\/3598973985dfb86269c23d6071638314\/actionsByEmailErrorReply.html",
|
||||||
|
"PRF_TYPE": "file",
|
||||||
|
"PRF_EDITABLE": "1",
|
||||||
|
"PRF_CREATE_DATE": "2019-12-19 14:10:33",
|
||||||
|
"PRF_UPDATE_DATE": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"PRF_UID": "5200351355dfb84d9e18946005177341",
|
||||||
|
"PRO_UID": "3865635965dfb8d7a152330088145190",
|
||||||
|
"USR_UID": "00000000000000000000000000000001",
|
||||||
|
"PRF_UPDATE_USR_UID": "",
|
||||||
|
"PRF_PATH": "\/var\/www\/shared\/sites\/workflow\/mailTemplates\/3598973985dfb86269c23d6071638314\/actionsByEmail.html",
|
||||||
|
"PRF_TYPE": "file",
|
||||||
|
"PRF_EDITABLE": "1",
|
||||||
|
"PRF_CREATE_DATE": "2019-12-19 14:10:33",
|
||||||
|
"PRF_UPDATE_DATE": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"PRF_UID": "6235128035dfb8626dffd94027574889",
|
||||||
|
"PRO_UID": "3865635965dfb8d7a152330088145190",
|
||||||
|
"USR_UID": "00000000000000000000000000000001",
|
||||||
|
"PRF_UPDATE_USR_UID": "",
|
||||||
|
"PRF_PATH": "\/var\/www\/shared\/sites\/workflow\/public\/3598973985dfb86269c23d6071638314\/1833424275dfb847c912110048244199Info.php",
|
||||||
|
"PRF_TYPE": "file",
|
||||||
|
"PRF_EDITABLE": "0",
|
||||||
|
"PRF_CREATE_DATE": "2019-12-19 14:16:06",
|
||||||
|
"PRF_UPDATE_DATE": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"PRF_UID": "6966516255dfb8626dfbd42099136357",
|
||||||
|
"PRO_UID": "3865635965dfb8d7a152330088145190",
|
||||||
|
"USR_UID": "00000000000000000000000000000001",
|
||||||
|
"PRF_UPDATE_USR_UID": "",
|
||||||
|
"PRF_PATH": "\/var\/www\/shared\/sites\/workflow\/public\/3598973985dfb86269c23d6071638314\/1833424275dfb847c912110048244199Post.php",
|
||||||
|
"PRF_TYPE": "file",
|
||||||
|
"PRF_EDITABLE": "0",
|
||||||
|
"PRF_CREATE_DATE": "2019-12-19 14:16:06",
|
||||||
|
"PRF_UPDATE_DATE": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"PRF_UID": "7327359135dfb8626e03770066162194",
|
||||||
|
"PRO_UID": "3865635965dfb8d7a152330088145190",
|
||||||
|
"USR_UID": "00000000000000000000000000000001",
|
||||||
|
"PRF_UPDATE_USR_UID": "",
|
||||||
|
"PRF_PATH": "\/var\/www\/shared\/sites\/workflow\/public\/3598973985dfb86269c23d6071638314\/wsClient.php",
|
||||||
|
"PRF_TYPE": "file",
|
||||||
|
"PRF_EDITABLE": "0",
|
||||||
|
"PRF_CREATE_DATE": "2019-12-19 14:16:06",
|
||||||
|
"PRF_UPDATE_DATE": ""
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"abeConfiguration": [
|
||||||
|
{
|
||||||
|
"ABE_UID": "4306137575dfb8626d54c87075844725",
|
||||||
|
"PRO_UID": "3865635965dfb8d7a152330088145190",
|
||||||
|
"TAS_UID": "3454769755dfb8d7a1cadc9088436060",
|
||||||
|
"ABE_TYPE": "LINK",
|
||||||
|
"ABE_TEMPLATE": "actionsByEmailErrorReply.html",
|
||||||
|
"ABE_DYN_TYPE": "NORMAL",
|
||||||
|
"DYN_UID": "1981330525dfb8626c70026010918765",
|
||||||
|
"ABE_EMAIL_FIELD": "",
|
||||||
|
"ABE_ACTION_FIELD": "",
|
||||||
|
"ABE_ACTION_BODY_FIELD": "",
|
||||||
|
"ABE_CASE_NOTE_IN_RESPONSE": "0",
|
||||||
|
"ABE_FORCE_LOGIN": "0",
|
||||||
|
"ABE_CREATE_DATE": "2019-12-19 14:16:06",
|
||||||
|
"ABE_UPDATE_DATE": "2019-12-19 14:16:06",
|
||||||
|
"ABE_SUBJECT_FIELD": "",
|
||||||
|
"ABE_MAILSERVER_OR_MAILCURRENT": "0",
|
||||||
|
"ABE_CUSTOM_GRID": "b:0;",
|
||||||
|
"ABE_EMAIL_SERVER_UID": "",
|
||||||
|
"ABE_EMAIL_SERVER_RECEIVER_UID": "",
|
||||||
|
"TAS_UID_OLD": "7400740655dfb86269feaa1089812754"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"ABE_UID": "5375484805dfb8626d58030072013572",
|
||||||
|
"PRO_UID": "3865635965dfb8d7a152330088145190",
|
||||||
|
"TAS_UID": "9865926225dfb8d7a1fc385009206952",
|
||||||
|
"ABE_TYPE": "LINK",
|
||||||
|
"ABE_TEMPLATE": "actionsByEmailErrorReply.html",
|
||||||
|
"ABE_DYN_TYPE": "NORMAL",
|
||||||
|
"DYN_UID": "1981330525dfb8626c70026010918765",
|
||||||
|
"ABE_EMAIL_FIELD": "test",
|
||||||
|
"ABE_ACTION_FIELD": "",
|
||||||
|
"ABE_ACTION_BODY_FIELD": "",
|
||||||
|
"ABE_CASE_NOTE_IN_RESPONSE": "0",
|
||||||
|
"ABE_FORCE_LOGIN": "0",
|
||||||
|
"ABE_CREATE_DATE": "2019-12-19 14:16:06",
|
||||||
|
"ABE_UPDATE_DATE": "2019-12-19 14:16:06",
|
||||||
|
"ABE_SUBJECT_FIELD": "test",
|
||||||
|
"ABE_MAILSERVER_OR_MAILCURRENT": "0",
|
||||||
|
"ABE_CUSTOM_GRID": "b:0;",
|
||||||
|
"ABE_EMAIL_SERVER_UID": "",
|
||||||
|
"ABE_EMAIL_SERVER_RECEIVER_UID": "",
|
||||||
|
"TAS_UID_OLD": "8420128765dfb8626acccb8059629296"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"elementTask": [],
|
||||||
|
"uid": {
|
||||||
|
"PROCESS": {
|
||||||
|
"7084112395dfb826264eac2069406712": "3865635965dfb8d7a152330088145190"
|
||||||
|
},
|
||||||
|
"TASK": {
|
||||||
|
"5730239675dfb8626a65a28038679991": "5978729975dfb8d7a264fa0070639752",
|
||||||
|
"6279149375dfb8626a95495099553981": "3458788095dfb8d7a18fa33047794245",
|
||||||
|
"3347609685dfb8626a35d06089327263": "7916511005dfb8d7a234286082436886",
|
||||||
|
"8420128765dfb8626acccb8059629296": "9865926225dfb8d7a1fc385009206952",
|
||||||
|
"7400740655dfb86269feaa1089812754": "3454769755dfb8d7a1cadc9088436060",
|
||||||
|
"wee-873125dfb8626b28bf4015522377": "wee-532835dfb8d7a2d0a29054950929"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -28,7 +28,7 @@ class DerivationTest extends TestCase
|
|||||||
// Truncate the APP_SEQUENCE table
|
// Truncate the APP_SEQUENCE table
|
||||||
DB::table('APP_SEQUENCE')->truncate();
|
DB::table('APP_SEQUENCE')->truncate();
|
||||||
|
|
||||||
config(["system.workspace" => "test"]);
|
config(["system.workspace" => "new_site"]);
|
||||||
$workspace = config("system.workspace");
|
$workspace = config("system.workspace");
|
||||||
|
|
||||||
if (!file_exists(PATH_DB . $workspace)) {
|
if (!file_exists(PATH_DB . $workspace)) {
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ use Tests\TestCase;
|
|||||||
|
|
||||||
class ProcessesTest extends TestCase
|
class ProcessesTest extends TestCase
|
||||||
{
|
{
|
||||||
|
private $processes;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructor of the class.
|
* Constructor of the class.
|
||||||
@@ -33,6 +34,7 @@ class ProcessesTest extends TestCase
|
|||||||
protected function setUp()
|
protected function setUp()
|
||||||
{
|
{
|
||||||
parent::setUp();
|
parent::setUp();
|
||||||
|
$this->processes = new Processes();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -154,7 +156,7 @@ class ProcessesTest extends TestCase
|
|||||||
* This checks fi the returned output documents are correct with the differect
|
* This checks fi the returned output documents are correct with the differect
|
||||||
* parameters.
|
* parameters.
|
||||||
* @test
|
* @test
|
||||||
* @covers Processes::getOutputRows()
|
* @covers \Processes::getOutputRows()
|
||||||
*/
|
*/
|
||||||
public function it_should_return_output_documents()
|
public function it_should_return_output_documents()
|
||||||
{
|
{
|
||||||
@@ -205,7 +207,7 @@ class ProcessesTest extends TestCase
|
|||||||
/**
|
/**
|
||||||
* This checks if the dynaforms structure is saved with the different parameters.
|
* This checks if the dynaforms structure is saved with the different parameters.
|
||||||
* @test
|
* @test
|
||||||
* @covers Processes::createDynaformRows()
|
* @covers \Processes::createDynaformRows()
|
||||||
*/
|
*/
|
||||||
public function it_sholud_create_dynaform()
|
public function it_sholud_create_dynaform()
|
||||||
{
|
{
|
||||||
@@ -269,7 +271,7 @@ class ProcessesTest extends TestCase
|
|||||||
* This checks if the input documents structure is saved with the different
|
* This checks if the input documents structure is saved with the different
|
||||||
* parameters.
|
* parameters.
|
||||||
* @test
|
* @test
|
||||||
* @covers Processes::createInputRows()
|
* @covers \Processes::createInputRows()
|
||||||
*/
|
*/
|
||||||
public function it_should_create_input_document()
|
public function it_should_create_input_document()
|
||||||
{
|
{
|
||||||
@@ -339,7 +341,7 @@ class ProcessesTest extends TestCase
|
|||||||
* This checks if the output documents structure is saved with the different
|
* This checks if the output documents structure is saved with the different
|
||||||
* parameters.
|
* parameters.
|
||||||
* @test
|
* @test
|
||||||
* @covers Processes::createOutputRows()
|
* @covers \Processes::createOutputRows()
|
||||||
*/
|
*/
|
||||||
public function it_should_create_output_document()
|
public function it_should_create_output_document()
|
||||||
{
|
{
|
||||||
@@ -432,7 +434,7 @@ class ProcessesTest extends TestCase
|
|||||||
/**
|
/**
|
||||||
* This gets the data structure of a project.
|
* This gets the data structure of a project.
|
||||||
* @test
|
* @test
|
||||||
* @covers Processes::getWorkflowData()
|
* @covers \Processes::getWorkflowData()
|
||||||
*/
|
*/
|
||||||
public function it_should_get_workflow_data()
|
public function it_should_get_workflow_data()
|
||||||
{
|
{
|
||||||
@@ -459,4 +461,40 @@ class ProcessesTest extends TestCase
|
|||||||
$result = $processes->getWorkflowData($process->PRO_UID);
|
$result = $processes->getWorkflowData($process->PRO_UID);
|
||||||
$this->assertNotNull($result);
|
$this->assertNotNull($result);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This test guarantees the replacement of new identifiers.
|
||||||
|
* @test
|
||||||
|
* @covers \Processes::renewAllDynaformGuid()
|
||||||
|
*/
|
||||||
|
public function it_should_renew_all_dynaform_guid()
|
||||||
|
{
|
||||||
|
$pathData = PATH_TRUNK . "/tests/resources/dynaformDataForRenewUids.json";
|
||||||
|
$data = file_get_contents($pathData);
|
||||||
|
$result = json_decode($data, JSON_OBJECT_AS_ARRAY);
|
||||||
|
$result = (object) $result;
|
||||||
|
$this->processes->renewAllDynaformGuid($result);
|
||||||
|
foreach ($result as $key => $value) {
|
||||||
|
$this->assertObjectHasAttribute($key, $result);
|
||||||
|
}
|
||||||
|
|
||||||
|
//without PRO_DYNAFORMS
|
||||||
|
$result = json_decode($data, JSON_OBJECT_AS_ARRAY);
|
||||||
|
$result = (object) $result;
|
||||||
|
unset($result->process['PRO_DYNAFORMS']);
|
||||||
|
$this->processes->renewAllDynaformGuid($result);
|
||||||
|
foreach ($result as $key => $value) {
|
||||||
|
$this->assertObjectHasAttribute($key, $result);
|
||||||
|
}
|
||||||
|
|
||||||
|
//for process inside PRO_DYNAFORMS
|
||||||
|
$result = json_decode($data, JSON_OBJECT_AS_ARRAY);
|
||||||
|
$result = (object) $result;
|
||||||
|
$result->process['PRO_DYNAFORMS'] = [];
|
||||||
|
$result->process['PRO_DYNAFORMS']['PROCESS'] = $result->dynaforms[0]['DYN_UID'];
|
||||||
|
$this->processes->renewAllDynaformGuid($result);
|
||||||
|
foreach ($result as $key => $value) {
|
||||||
|
$this->assertObjectHasAttribute($key, $result);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,101 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Tests\unit\workflow\engine\src\ProcessMaker\BusinessModel;
|
||||||
|
|
||||||
|
use Faker\Factory;
|
||||||
|
use ProcessMaker\BusinessModel\Light;
|
||||||
|
use Tests\TestCase;
|
||||||
|
|
||||||
|
class LightTest extends TestCase
|
||||||
|
{
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This verifies that the mobile_offline_tables_download_interval parameter
|
||||||
|
* is defined in the result returned by the getConfiguration() method.
|
||||||
|
*
|
||||||
|
* @test
|
||||||
|
* @covers \ProcessMaker\BusinessModel\Light::getConfiguration
|
||||||
|
*/
|
||||||
|
public function it_should_return_mobile_offline_tables_download_interval_from_get_configuration_method()
|
||||||
|
{
|
||||||
|
$param = [
|
||||||
|
'fileLimit' => true,
|
||||||
|
'tz' => true,
|
||||||
|
];
|
||||||
|
$light = new Light();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* In the getConfiguration() method, the next section:
|
||||||
|
*
|
||||||
|
* $postMaxSize = $this->return_bytes(ini_get('post_max_size'));
|
||||||
|
* $uploadMaxFileSize = $this->return_bytes(ini_get('upload_max_filesize'));
|
||||||
|
* if ($postMaxSize < $uploadMaxFileSize) {
|
||||||
|
* $uploadMaxFileSize = $postMaxSize;
|
||||||
|
* }
|
||||||
|
*
|
||||||
|
* It can only be tested if you change the values of "post_max_size" and "upload_max_filesize"
|
||||||
|
* in php.ini, you can't use the ini_set() function.
|
||||||
|
* The mode change of these directives is "PHP_INI_PERDIR", where is entry can be
|
||||||
|
* set in php.ini, .htaccess, httpd.conf or .user.ini, see here:
|
||||||
|
* https://www.php.net/manual/es/ini.list.php
|
||||||
|
* https://www.php.net/manual/en/configuration.changes.modes.php
|
||||||
|
*/
|
||||||
|
$result = $light->getConfiguration($param);
|
||||||
|
|
||||||
|
$this->assertArrayHasKey('mobile_offline_tables_download_interval', $result);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This returns the value of mobile_offline_tables_download_interval
|
||||||
|
* @test
|
||||||
|
* @covers \ProcessMaker\BusinessModel\Light::getConfiguration
|
||||||
|
*/
|
||||||
|
public function this_should_return_mobile_offline_tables_download_interval_inside_env()
|
||||||
|
{
|
||||||
|
$oldContent = "";
|
||||||
|
$path = PATH_CONFIG . "env.ini";
|
||||||
|
if (file_exists($path)) {
|
||||||
|
$oldContent = file_get_contents($path);
|
||||||
|
}
|
||||||
|
|
||||||
|
$expected = 30;
|
||||||
|
|
||||||
|
$content = "mobile_offline_tables_download_interval = {$expected};";
|
||||||
|
file_put_contents($path, $content);
|
||||||
|
|
||||||
|
$light = new Light();
|
||||||
|
$result = $light->getConfiguration([]);
|
||||||
|
$actual = $result['mobile_offline_tables_download_interval'];
|
||||||
|
|
||||||
|
file_put_contents($path, $oldContent);
|
||||||
|
|
||||||
|
$this->assertEquals($expected, $actual);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This returns the default value of mobile_offline_tables_download_interval.
|
||||||
|
* @test
|
||||||
|
* @covers \ProcessMaker\BusinessModel\Light::getConfiguration
|
||||||
|
*/
|
||||||
|
public function this_should_return_default_value_if_mobile_offline_tables_download_interval_inside_env_is_not_an_integer()
|
||||||
|
{
|
||||||
|
$oldContent = "";
|
||||||
|
$path = PATH_CONFIG . "env.ini";
|
||||||
|
if (file_exists($path)) {
|
||||||
|
$oldContent = file_get_contents($path);
|
||||||
|
}
|
||||||
|
|
||||||
|
$faker = $faker = Factory::create();
|
||||||
|
$alphanumeric = $faker->regexify('[A-Za-z0-9]{20}');
|
||||||
|
$content = "mobile_offline_tables_download_interval = '{$alphanumeric}';";
|
||||||
|
file_put_contents($path, $content);
|
||||||
|
|
||||||
|
$light = new Light();
|
||||||
|
$result = $light->getConfiguration([]);
|
||||||
|
$expected = (string) $result['mobile_offline_tables_download_interval'];
|
||||||
|
|
||||||
|
file_put_contents($path, $oldContent);
|
||||||
|
|
||||||
|
$this->assertTrue(ctype_digit($expected));
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -2,22 +2,20 @@
|
|||||||
|
|
||||||
namespace Tests\unit\workflow\engine\src\ProcessMaker\Core;
|
namespace Tests\unit\workflow\engine\src\ProcessMaker\Core;
|
||||||
|
|
||||||
|
use G;
|
||||||
|
use Faker\Factory;
|
||||||
use ProcessMaker\Core\System;
|
use ProcessMaker\Core\System;
|
||||||
use Tests\TestCase;
|
use Tests\TestCase;
|
||||||
|
|
||||||
class SystemTest extends TestCase
|
class SystemTest extends TestCase
|
||||||
{
|
{
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Define the required variables
|
* Define the required variables
|
||||||
*/
|
*/
|
||||||
protected function setUp()
|
public function setUp()
|
||||||
{
|
{
|
||||||
$this->markTestIncomplete();//@todo: Please correct this unit test
|
parent::setUp();
|
||||||
$config = config('database.connections.testexternal');
|
|
||||||
define('DB_HOST', $config['host']);
|
|
||||||
define('DB_NAME', $config['database']);
|
|
||||||
define('DB_USER', $config['username']);
|
|
||||||
define('DB_PASS', $config['password']);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -27,6 +25,8 @@ class SystemTest extends TestCase
|
|||||||
*/
|
*/
|
||||||
public function it_should_init_laravel_configurations()
|
public function it_should_init_laravel_configurations()
|
||||||
{
|
{
|
||||||
|
$this->markTestIncomplete("@todo: Please correct this unit test");
|
||||||
|
|
||||||
$object = new System();
|
$object = new System();
|
||||||
$object->initLaravel();
|
$object->initLaravel();
|
||||||
|
|
||||||
@@ -36,4 +36,112 @@ class SystemTest extends TestCase
|
|||||||
$this->assertEquals(DB_USER, config('database.connections.workflow.username'));
|
$this->assertEquals(DB_USER, config('database.connections.workflow.username'));
|
||||||
$this->assertEquals(DB_PASS, config('database.connections.workflow.password'));
|
$this->assertEquals(DB_PASS, config('database.connections.workflow.password'));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* It should return default system configuration parameters.
|
||||||
|
* @test
|
||||||
|
* @covers \ProcessMaker\Core\System::getSystemConfiguration()
|
||||||
|
*/
|
||||||
|
public function it_should_return_default_system_configuration_parameters()
|
||||||
|
{
|
||||||
|
$result = System::getSystemConfiguration();
|
||||||
|
|
||||||
|
$this->assertArrayHasKey('server_hostname_requests_frontend', $result);
|
||||||
|
$this->assertArrayHasKey('disable_php_upload_execution', $result);
|
||||||
|
$this->assertArrayHasKey('mobile_offline_tables_download_interval', $result);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* It should return default system configuration parameters without workspace.
|
||||||
|
* @test
|
||||||
|
* @covers \ProcessMaker\Core\System::getSystemConfiguration()
|
||||||
|
*/
|
||||||
|
public function it_should_return_default_system_configuration_parameters_without_workspace()
|
||||||
|
{
|
||||||
|
config(["system.workspace" => '']);
|
||||||
|
putenv("REQUEST_URI=/sysworkflow");
|
||||||
|
|
||||||
|
$result = System::getSystemConfiguration();
|
||||||
|
|
||||||
|
$this->assertArrayHasKey('server_hostname_requests_frontend', $result);
|
||||||
|
$this->assertArrayHasKey('disable_php_upload_execution', $result);
|
||||||
|
$this->assertArrayHasKey('mobile_offline_tables_download_interval', $result);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* It should return system configuration parameters defined inside env file.
|
||||||
|
* @test
|
||||||
|
* @covers \ProcessMaker\Core\System::getSystemConfiguration()
|
||||||
|
*/
|
||||||
|
public function it_should_return_system_configuration_parameters_defined_inside_env_file()
|
||||||
|
{
|
||||||
|
$oldContent = "";
|
||||||
|
$path = PATH_CONFIG . "env.ini";
|
||||||
|
if (file_exists($path)) {
|
||||||
|
$oldContent = file_get_contents($path);
|
||||||
|
}
|
||||||
|
|
||||||
|
$expected = 30;
|
||||||
|
|
||||||
|
$content = "mobile_offline_tables_download_interval = {$expected};";
|
||||||
|
file_put_contents($path, $content);
|
||||||
|
|
||||||
|
$result = System::getSystemConfiguration();
|
||||||
|
$actual = $result['mobile_offline_tables_download_interval'];
|
||||||
|
|
||||||
|
file_put_contents($path, $oldContent);
|
||||||
|
|
||||||
|
$this->assertEquals($expected, $actual);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* It should return default system configuration parameters defined inside env file when is not integer.
|
||||||
|
* @test
|
||||||
|
* @covers \ProcessMaker\Core\System::getSystemConfiguration()
|
||||||
|
*/
|
||||||
|
public function it_should_return_default_system_configuration_parameters_defined_inside_env_file_when_is_not_an_integer()
|
||||||
|
{
|
||||||
|
$oldContent = "";
|
||||||
|
$path = PATH_CONFIG . "env.ini";
|
||||||
|
if (file_exists($path)) {
|
||||||
|
$oldContent = file_get_contents($path);
|
||||||
|
}
|
||||||
|
|
||||||
|
$faker = $faker = Factory::create();
|
||||||
|
$alphanumeric = $faker->regexify('[A-Za-z0-9]{20}');
|
||||||
|
$content = "mobile_offline_tables_download_interval = '{$alphanumeric}';";
|
||||||
|
file_put_contents($path, $content);
|
||||||
|
|
||||||
|
$result = System::getSystemConfiguration();
|
||||||
|
|
||||||
|
$expected = (string) $result['mobile_offline_tables_download_interval'];
|
||||||
|
|
||||||
|
file_put_contents($path, $oldContent);
|
||||||
|
|
||||||
|
$this->assertTrue(is_numeric($expected));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* It should return proxy_pass defined inside env file.
|
||||||
|
* @test
|
||||||
|
* @covers \ProcessMaker\Core\System::getSystemConfiguration()
|
||||||
|
*/
|
||||||
|
public function it_should_return_proxy_pass_defined_inside_env_file()
|
||||||
|
{
|
||||||
|
$oldContent = "";
|
||||||
|
$path = PATH_CONFIG . "env.ini";
|
||||||
|
if (file_exists($path)) {
|
||||||
|
$oldContent = file_get_contents($path);
|
||||||
|
}
|
||||||
|
|
||||||
|
$faker = $faker = Factory::create();
|
||||||
|
$content = "proxy_pass = '{$faker->password}';";
|
||||||
|
file_put_contents($path, $content);
|
||||||
|
|
||||||
|
$result = System::getSystemConfiguration();
|
||||||
|
|
||||||
|
file_put_contents($path, $oldContent);
|
||||||
|
|
||||||
|
$this->assertArrayHasKey("proxy_pass", $result);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,81 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Tests\unit\workflow\engine\src\ProcessMaker\Model;
|
||||||
|
|
||||||
|
use ProcessMaker\Model\AdditionalTables;
|
||||||
|
use ProcessMaker\Model\Fields;
|
||||||
|
use Tests\TestCase;
|
||||||
|
|
||||||
|
class AdditionalTablesTest extends TestCase
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Test belongs to ADD_TAB_UID
|
||||||
|
*
|
||||||
|
* @covers \ProcessMaker\Model\AdditionalTables::columns()
|
||||||
|
* @test
|
||||||
|
*/
|
||||||
|
public function it_has_a_columns_defined()
|
||||||
|
{
|
||||||
|
$table = factory(AdditionalTables::class)->create([
|
||||||
|
'ADD_TAB_UID' => function () {
|
||||||
|
return factory(Fields::class)->create()->ADD_TAB_UID;
|
||||||
|
}
|
||||||
|
]);
|
||||||
|
$this->assertInstanceOf(Fields::class, $table->columns);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Test scope query to get the offline tables
|
||||||
|
*
|
||||||
|
* @covers \ProcessMaker\Model\AdditionalTables::scopeOffline()
|
||||||
|
* @test
|
||||||
|
*/
|
||||||
|
public function it_filter_offline_table()
|
||||||
|
{
|
||||||
|
factory(AdditionalTables::class)->create(['ADD_TAB_OFFLINE' => 0]);
|
||||||
|
$table = factory(AdditionalTables::class)->create([
|
||||||
|
'ADD_TAB_OFFLINE' => 1
|
||||||
|
]);
|
||||||
|
$this->assertCount(1, $table->offline([$table->ADD_TAB_OFFLINE])->get());
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Test get the structure of offline tables
|
||||||
|
*
|
||||||
|
* @covers \ProcessMaker\Model\AdditionalTables::getTablesOfflineStructure()
|
||||||
|
* @test
|
||||||
|
*/
|
||||||
|
public function it_get_structure_from_offline_tables()
|
||||||
|
{
|
||||||
|
factory(Fields::class)->states('foreign_keys')->create();
|
||||||
|
$results = AdditionalTables::getTablesOfflineStructure();
|
||||||
|
$this->assertNotEmpty($results);
|
||||||
|
foreach ($results as $row) {
|
||||||
|
$this->assertArrayHasKey('add_tab_uid', $row);
|
||||||
|
$this->assertArrayHasKey('add_tab_name', $row);
|
||||||
|
$this->assertArrayHasKey('add_tab_description', $row);
|
||||||
|
$this->assertArrayHasKey('add_tab_class_name', $row);
|
||||||
|
$this->assertArrayHasKey('fields', $row);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Test get the data of offline tables
|
||||||
|
*
|
||||||
|
* @covers \ProcessMaker\Model\AdditionalTables::getTablesOfflineData()
|
||||||
|
* @test
|
||||||
|
*/
|
||||||
|
public function it_get_data_from_offline_tables()
|
||||||
|
{
|
||||||
|
factory(Fields::class)->states('foreign_keys')->create();
|
||||||
|
$results = AdditionalTables::getTablesOfflineData();
|
||||||
|
$this->assertNotEmpty($results);
|
||||||
|
foreach ($results as $row) {
|
||||||
|
$this->assertArrayHasKey('add_tab_uid', $row);
|
||||||
|
$this->assertArrayHasKey('add_tab_name', $row);
|
||||||
|
$this->assertArrayHasKey('add_tab_description', $row);
|
||||||
|
$this->assertArrayHasKey('add_tab_class_name', $row);
|
||||||
|
$this->assertArrayHasKey('rows', $row);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,40 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Tests\unit\workflow\engine\src\ProcessMaker\Model;
|
||||||
|
|
||||||
|
use ProcessMaker\Model\AdditionalTables;
|
||||||
|
use ProcessMaker\Model\Fields;
|
||||||
|
use Tests\TestCase;
|
||||||
|
|
||||||
|
class FieldsTest extends TestCase
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Test belongs to ADD_TAB_UID
|
||||||
|
*
|
||||||
|
* @covers \ProcessMaker\Model\Fields::table()
|
||||||
|
* @test
|
||||||
|
*/
|
||||||
|
public function it_has_a_columns_defined()
|
||||||
|
{
|
||||||
|
$tableColumns = factory(Fields::class)->create([
|
||||||
|
'ADD_TAB_UID' => function () {
|
||||||
|
return factory(AdditionalTables::class)->create()->ADD_TAB_UID;
|
||||||
|
}
|
||||||
|
]);
|
||||||
|
$this->assertInstanceOf(AdditionalTables::class, $tableColumns->table);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Test scope and the query with a specific ADD_TAB_UID
|
||||||
|
*
|
||||||
|
* @covers \ProcessMaker\Model\Fields::scopeTable()
|
||||||
|
* @covers \ProcessMaker\Model\Fields::getFields()
|
||||||
|
* @test
|
||||||
|
*/
|
||||||
|
public function it_get_fields_from_specific_table()
|
||||||
|
{
|
||||||
|
$fields = factory(Fields::class)->create();
|
||||||
|
$result = Fields::getFields($fields->ADD_TAB_UID);
|
||||||
|
$this->assertNotEmpty($result);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,118 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Tests\unit\workflow\engine\src\ProcessMaker\Project;
|
||||||
|
|
||||||
|
use Exception;
|
||||||
|
use Faker\Factory;
|
||||||
|
use G;
|
||||||
|
use ProcessMaker\Model\Dynaform;
|
||||||
|
use ProcessMaker\Model\Process;
|
||||||
|
use ProcessMaker\Model\WebEntry;
|
||||||
|
use ProcessMaker\Project\Workflow;
|
||||||
|
use Tests\TestCase;
|
||||||
|
|
||||||
|
class WorkflowTest extends TestCase
|
||||||
|
{
|
||||||
|
private $workflow;
|
||||||
|
private $directories;
|
||||||
|
private $files;
|
||||||
|
private $faker;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This method sets the values before starting any test.
|
||||||
|
*/
|
||||||
|
public function setUp()
|
||||||
|
{
|
||||||
|
parent::setUp();
|
||||||
|
$this->workflow = new Workflow();
|
||||||
|
$this->directories = [];
|
||||||
|
$this->files = [];
|
||||||
|
$this->faker = Factory::create();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This method is executed after each test.
|
||||||
|
*/
|
||||||
|
public function tearDown()
|
||||||
|
{
|
||||||
|
parent::tearDown();
|
||||||
|
foreach ($this->files as $value) {
|
||||||
|
unlink($value);
|
||||||
|
}
|
||||||
|
foreach ($this->directories as $value) {
|
||||||
|
rmdir($value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This test ensures that the getData method returns the correct data.
|
||||||
|
* @test
|
||||||
|
* @covers \ProcessMaker\Project\Workflow::getData()
|
||||||
|
*/
|
||||||
|
public function it_should_return_the_data_when_the_project_id_is_valid()
|
||||||
|
{
|
||||||
|
$process = factory(Process::class)->create();
|
||||||
|
$dynaforms = factory(Dynaform::class, 5)->create([
|
||||||
|
'PRO_UID' => $process->PRO_UID
|
||||||
|
]);
|
||||||
|
factory(WebEntry::class, 5)->create([
|
||||||
|
'PRO_UID' => $process->PRO_UID
|
||||||
|
]);
|
||||||
|
|
||||||
|
$directory = PATH_DYNAFORM . $process->PRO_UID . "/";
|
||||||
|
$this->directories[] = $directory;
|
||||||
|
mkdir($directory);
|
||||||
|
foreach ($dynaforms as $dynaform) {
|
||||||
|
Dynaform::where('PRO_UID', $process->PRO_UID)
|
||||||
|
->where('DYN_UID', $dynaform->DYN_UID)
|
||||||
|
->update(['DYN_FILENAME' => $process->PRO_UID . '/' . $dynaform->DYN_UID]);
|
||||||
|
|
||||||
|
$dynUid = $dynaform->DYN_UID;
|
||||||
|
$data = '';
|
||||||
|
$filename = $directory . $dynUid . ".xml";
|
||||||
|
$this->files[] = $filename;
|
||||||
|
file_put_contents($filename, $data);
|
||||||
|
|
||||||
|
$filename = $directory . $dynUid . ".html";
|
||||||
|
$this->files[] = $filename;
|
||||||
|
file_put_contents($filename, $data);
|
||||||
|
}
|
||||||
|
|
||||||
|
//template
|
||||||
|
$directory = PATH_DATA_MAILTEMPLATES . $process->PRO_UID;
|
||||||
|
$this->directories[] = $directory;
|
||||||
|
mkdir($directory);
|
||||||
|
|
||||||
|
$filename = $directory . "/test.html";
|
||||||
|
$this->files[] = $filename;
|
||||||
|
file_put_contents($filename, '');
|
||||||
|
|
||||||
|
//public files
|
||||||
|
$directory = PATH_DATA_PUBLIC . $process->PRO_UID;
|
||||||
|
$this->directories[] = $directory;
|
||||||
|
mkdir($directory);
|
||||||
|
|
||||||
|
$filename = $directory . "/wsClient.php";
|
||||||
|
$this->files[] = $filename;
|
||||||
|
file_put_contents($filename, '');
|
||||||
|
|
||||||
|
$actual = $this->workflow->getData($process->PRO_UID);
|
||||||
|
|
||||||
|
$this->assertCount(2, $actual);
|
||||||
|
$this->assertArrayHasKey('process', $actual[0]);
|
||||||
|
$this->assertArrayHasKey('DYNAFORMS', $actual[1]);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This test should throw an exception when the parameter is not correct.
|
||||||
|
* @test
|
||||||
|
* @covers \ProcessMaker\Project\Workflow::getData()
|
||||||
|
*/
|
||||||
|
public function it_should_throw_exception_when_get_data_is_failed()
|
||||||
|
{
|
||||||
|
$proUid = $this->faker->regexify("/[a-zA-Z]{32}/");
|
||||||
|
|
||||||
|
$this->expectException(Exception::class);
|
||||||
|
$actual = $this->workflow->getData($proUid);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -357,6 +357,7 @@ class PmDynaform
|
|||||||
$option->value = isset($row[0]) ? $row[0] : "";
|
$option->value = isset($row[0]) ? $row[0] : "";
|
||||||
$option->label = isset($row[1]) ? $row[1] : "";
|
$option->label = isset($row[1]) ? $row[1] : "";
|
||||||
$json->optionsSql[] = $option;
|
$json->optionsSql[] = $option;
|
||||||
|
$json->queryOutputData[] = $option;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ($value === "suggest" && isset($json->queryField) && $json->queryField == true) {
|
if ($value === "suggest" && isset($json->queryField) && $json->queryField == true) {
|
||||||
|
|||||||
@@ -1017,6 +1017,9 @@ class Processes
|
|||||||
$map[$val['DYN_UID']] = $newGuid;
|
$map[$val['DYN_UID']] = $newGuid;
|
||||||
$oData->dynaforms[$key]['DYN_UID'] = $newGuid;
|
$oData->dynaforms[$key]['DYN_UID'] = $newGuid;
|
||||||
unset($oData->dynaforms[$key]['DYN_ID']);
|
unset($oData->dynaforms[$key]['DYN_ID']);
|
||||||
|
|
||||||
|
//this is important when UID's is updated
|
||||||
|
$oData->dynaforms[$key]['DYN_FILENAME'] = $oData->dynaforms[$key]['PRO_UID'] . "/" . $oData->dynaforms[$key]['DYN_UID'];
|
||||||
}
|
}
|
||||||
|
|
||||||
$oData->uid["DYNAFORM"] = $map;
|
$oData->uid["DYNAFORM"] = $map;
|
||||||
|
|||||||
@@ -1086,6 +1086,7 @@ class AdditionalTables extends BaseAdditionalTables
|
|||||||
$criteria->addSelectColumn(AdditionalTablesPeer::ADD_TAB_DESCRIPTION);
|
$criteria->addSelectColumn(AdditionalTablesPeer::ADD_TAB_DESCRIPTION);
|
||||||
$criteria->addSelectColumn(AdditionalTablesPeer::ADD_TAB_TYPE);
|
$criteria->addSelectColumn(AdditionalTablesPeer::ADD_TAB_TYPE);
|
||||||
$criteria->addSelectColumn(AdditionalTablesPeer::ADD_TAB_TAG);
|
$criteria->addSelectColumn(AdditionalTablesPeer::ADD_TAB_TAG);
|
||||||
|
$criteria->addSelectColumn(AdditionalTablesPeer::ADD_TAB_OFFLINE);
|
||||||
$criteria->addSelectColumn(AdditionalTablesPeer::PRO_UID);
|
$criteria->addSelectColumn(AdditionalTablesPeer::PRO_UID);
|
||||||
$criteria->addSelectColumn(AdditionalTablesPeer::DBS_UID);
|
$criteria->addSelectColumn(AdditionalTablesPeer::DBS_UID);
|
||||||
|
|
||||||
|
|||||||
@@ -237,7 +237,7 @@ class Translation extends BaseTranslation
|
|||||||
}
|
}
|
||||||
|
|
||||||
$res['cacheFileMafe'] = $cacheFileMafe;
|
$res['cacheFileMafe'] = $cacheFileMafe;
|
||||||
$res['languague'] = count($cacheFileMafe);
|
$res['languague'] = (is_array($cacheFileMafe) || $cacheFileMafe instanceof Countable) ? count($cacheFileMafe) : 0;
|
||||||
$res['rowsMafeJS'] = count( $translation );
|
$res['rowsMafeJS'] = count( $translation );
|
||||||
return $res;
|
return $res;
|
||||||
} catch (Exception $e) {
|
} catch (Exception $e) {
|
||||||
|
|||||||
@@ -97,6 +97,10 @@ class AdditionalTablesMapBuilder
|
|||||||
|
|
||||||
$tMap->addColumn('ADD_TAB_TAG', 'AddTabTag', 'string', CreoleTypes::VARCHAR, false, 256);
|
$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()
|
} // doBuild()
|
||||||
|
|
||||||
} // AdditionalTablesMapBuilder
|
} // AdditionalTablesMapBuilder
|
||||||
|
|||||||
@@ -123,6 +123,18 @@ abstract class BaseAdditionalTables extends BaseObject implements Persistent
|
|||||||
*/
|
*/
|
||||||
protected $add_tab_tag = '';
|
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
|
* Flag to prevent endless save loop, if this object is referenced
|
||||||
* by another object which falls in this transaction.
|
* by another object which falls in this transaction.
|
||||||
@@ -313,6 +325,49 @@ abstract class BaseAdditionalTables extends BaseObject implements Persistent
|
|||||||
return $this->add_tab_tag;
|
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.
|
* Set the value of [add_tab_uid] column.
|
||||||
*
|
*
|
||||||
@@ -665,6 +720,57 @@ abstract class BaseAdditionalTables extends BaseObject implements Persistent
|
|||||||
|
|
||||||
} // setAddTabTag()
|
} // 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.
|
* 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_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->resetModified();
|
||||||
|
|
||||||
$this->setNew(false);
|
$this->setNew(false);
|
||||||
|
|
||||||
// FIXME - using NUM_COLUMNS may be clearer.
|
// 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) {
|
} catch (Exception $e) {
|
||||||
throw new PropelException("Error populating AdditionalTables object", $e);
|
throw new PropelException("Error populating AdditionalTables object", $e);
|
||||||
@@ -971,6 +1081,12 @@ abstract class BaseAdditionalTables extends BaseObject implements Persistent
|
|||||||
case 15:
|
case 15:
|
||||||
return $this->getAddTabTag();
|
return $this->getAddTabTag();
|
||||||
break;
|
break;
|
||||||
|
case 16:
|
||||||
|
return $this->getAddTabOffline();
|
||||||
|
break;
|
||||||
|
case 17:
|
||||||
|
return $this->getAddTabUpdateDate();
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
return null;
|
return null;
|
||||||
break;
|
break;
|
||||||
@@ -1007,6 +1123,8 @@ abstract class BaseAdditionalTables extends BaseObject implements Persistent
|
|||||||
$keys[13] => $this->getAddTabType(),
|
$keys[13] => $this->getAddTabType(),
|
||||||
$keys[14] => $this->getAddTabGrid(),
|
$keys[14] => $this->getAddTabGrid(),
|
||||||
$keys[15] => $this->getAddTabTag(),
|
$keys[15] => $this->getAddTabTag(),
|
||||||
|
$keys[16] => $this->getAddTabOffline(),
|
||||||
|
$keys[17] => $this->getAddTabUpdateDate(),
|
||||||
);
|
);
|
||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
@@ -1086,6 +1204,12 @@ abstract class BaseAdditionalTables extends BaseObject implements Persistent
|
|||||||
case 15:
|
case 15:
|
||||||
$this->setAddTabTag($value);
|
$this->setAddTabTag($value);
|
||||||
break;
|
break;
|
||||||
|
case 16:
|
||||||
|
$this->setAddTabOffline($value);
|
||||||
|
break;
|
||||||
|
case 17:
|
||||||
|
$this->setAddTabUpdateDate($value);
|
||||||
|
break;
|
||||||
} // switch()
|
} // switch()
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1173,6 +1297,14 @@ abstract class BaseAdditionalTables extends BaseObject implements Persistent
|
|||||||
$this->setAddTabTag($arr[$keys[15]]);
|
$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);
|
$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;
|
return $criteria;
|
||||||
}
|
}
|
||||||
@@ -1332,6 +1472,10 @@ abstract class BaseAdditionalTables extends BaseObject implements Persistent
|
|||||||
|
|
||||||
$copyObj->setAddTabTag($this->add_tab_tag);
|
$copyObj->setAddTabTag($this->add_tab_tag);
|
||||||
|
|
||||||
|
$copyObj->setAddTabOffline($this->add_tab_offline);
|
||||||
|
|
||||||
|
$copyObj->setAddTabUpdateDate($this->add_tab_update_date);
|
||||||
|
|
||||||
|
|
||||||
$copyObj->setNew(true);
|
$copyObj->setNew(true);
|
||||||
|
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ abstract class BaseAdditionalTablesPeer
|
|||||||
const CLASS_DEFAULT = 'classes.model.AdditionalTables';
|
const CLASS_DEFAULT = 'classes.model.AdditionalTables';
|
||||||
|
|
||||||
/** The total number of columns. */
|
/** The total number of columns. */
|
||||||
const NUM_COLUMNS = 16;
|
const NUM_COLUMNS = 18;
|
||||||
|
|
||||||
/** The number of lazy-loaded columns. */
|
/** The number of lazy-loaded columns. */
|
||||||
const NUM_LAZY_LOAD_COLUMNS = 0;
|
const NUM_LAZY_LOAD_COLUMNS = 0;
|
||||||
@@ -79,6 +79,12 @@ abstract class BaseAdditionalTablesPeer
|
|||||||
/** the column name for the ADD_TAB_TAG field */
|
/** the column name for the ADD_TAB_TAG field */
|
||||||
const ADD_TAB_TAG = 'ADDITIONAL_TABLES.ADD_TAB_TAG';
|
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 */
|
/** The PHP to DB Name Mapping */
|
||||||
private static $phpNameMap = null;
|
private static $phpNameMap = null;
|
||||||
|
|
||||||
@@ -90,10 +96,10 @@ abstract class BaseAdditionalTablesPeer
|
|||||||
* e.g. self::$fieldNames[self::TYPE_PHPNAME][0] = 'Id'
|
* e.g. self::$fieldNames[self::TYPE_PHPNAME][0] = 'Id'
|
||||||
*/
|
*/
|
||||||
private static $fieldNames = array (
|
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_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, ),
|
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', ),
|
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, )
|
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
|
* e.g. self::$fieldNames[BasePeer::TYPE_PHPNAME]['Id'] = 0
|
||||||
*/
|
*/
|
||||||
private static $fieldKeys = array (
|
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_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, ),
|
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, ),
|
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, )
|
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_TAG);
|
||||||
|
|
||||||
|
$criteria->addSelectColumn(AdditionalTablesPeer::ADD_TAB_OFFLINE);
|
||||||
|
|
||||||
|
$criteria->addSelectColumn(AdditionalTablesPeer::ADD_TAB_UPDATE_DATE);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const COUNT = 'COUNT(ADDITIONAL_TABLES.ADD_TAB_UID)';
|
const COUNT = 'COUNT(ADDITIONAL_TABLES.ADD_TAB_UID)';
|
||||||
|
|||||||
@@ -2522,6 +2522,8 @@
|
|||||||
<column name="ADD_TAB_TYPE" type="VARCHAR" size="32" required="false" default=""/>
|
<column name="ADD_TAB_TYPE" type="VARCHAR" size="32" required="false" default=""/>
|
||||||
<column name="ADD_TAB_GRID" type="VARCHAR" size="256" required="false" default=""/>
|
<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_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 name="indexAdditionalProcess">
|
||||||
<index-column name="PRO_UID"/>
|
<index-column name="PRO_UID"/>
|
||||||
</index>
|
</index>
|
||||||
|
|||||||
@@ -2755,6 +2755,18 @@ msgstr "AVAILABLE GROUPS"
|
|||||||
msgid "AVAILABLE MEMBERS"
|
msgid "AVAILABLE MEMBERS"
|
||||||
msgstr "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
|
# TRANSLATION
|
||||||
# LABEL/ID_AVAILABLE_PERMISSIONS
|
# LABEL/ID_AVAILABLE_PERMISSIONS
|
||||||
#: LABEL/ID_AVAILABLE_PERMISSIONS
|
#: LABEL/ID_AVAILABLE_PERMISSIONS
|
||||||
@@ -20075,6 +20087,24 @@ msgstr "User has been updated successfully"
|
|||||||
msgid "Off"
|
msgid "Off"
|
||||||
msgstr "Off"
|
msgstr "Off"
|
||||||
|
|
||||||
|
# TRANSLATION
|
||||||
|
# LABEL/ID_OFFLINE_TABLES
|
||||||
|
#: LABEL/ID_OFFLINE_TABLES
|
||||||
|
msgid "Offline Tables"
|
||||||
|
msgstr "Offline Tables"
|
||||||
|
|
||||||
|
# TRANSLATION
|
||||||
|
# LABEL/ID_OFFLINE_TABLES_ENABLE
|
||||||
|
#: LABEL/ID_OFFLINE_TABLES_ENABLE
|
||||||
|
msgid "Set Offline"
|
||||||
|
msgstr "Set Offline"
|
||||||
|
|
||||||
|
# TRANSLATION
|
||||||
|
# LABEL/ID_OFFLINE_TABLES_DISABLE
|
||||||
|
#: LABEL/ID_OFFLINE_TABLES_DISABLE
|
||||||
|
msgid "Set Online"
|
||||||
|
msgstr "Set Online"
|
||||||
|
|
||||||
# TRANSLATION
|
# TRANSLATION
|
||||||
# LABEL/ID_OF_THE_MONTH
|
# LABEL/ID_OF_THE_MONTH
|
||||||
#: LABEL/ID_OF_THE_MONTH
|
#: LABEL/ID_OF_THE_MONTH
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
use ProcessMaker\Core\System;
|
use ProcessMaker\Core\System;
|
||||||
|
use ProcessMaker\Model\AdditionalTables as AdditionalTablesModel;
|
||||||
use ProcessMaker\Validation\ExceptionRestApi;
|
use ProcessMaker\Validation\ExceptionRestApi;
|
||||||
use ProcessMaker\Validation\ValidationUploadedFiles;
|
use ProcessMaker\Validation\ValidationUploadedFiles;
|
||||||
|
|
||||||
@@ -218,6 +219,34 @@ class pmTablesProxy extends HttpProxyController
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Update the offline property.
|
||||||
|
* @param stdClass $httpData
|
||||||
|
* @return stdClass
|
||||||
|
*/
|
||||||
|
public function updateOffline(stdClass $httpData): stdClass
|
||||||
|
{
|
||||||
|
$result = new stdClass();
|
||||||
|
try {
|
||||||
|
$array = G::json_decode(stripslashes($httpData->rows));
|
||||||
|
$data = [];
|
||||||
|
$enable = false;
|
||||||
|
foreach ($array as $value) {
|
||||||
|
if ($value->type !== "NORMAL") {
|
||||||
|
$data[] = $value->id;
|
||||||
|
$enable = $value->offline ? 1 : 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
AdditionalTablesModel::updatePropertyOffline($data, $enable);
|
||||||
|
$result->success = true;
|
||||||
|
$result->message = $enable ? G::LoadTranslation("ID_ENABLE") : G::LoadTranslation("ID_DISABLE");
|
||||||
|
} catch (Exception $e) {
|
||||||
|
$result->success = false;
|
||||||
|
$result->message = $e->getMessage();
|
||||||
|
}
|
||||||
|
return $result;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* delete pm table
|
* delete pm table
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
INSERT INTO USERS (USR_UID,USR_USERNAME,USR_PASSWORD,USR_FIRSTNAME,USR_LASTNAME,USR_EMAIL,USR_DUE_DATE,USR_CREATE_DATE,USR_UPDATE_DATE,USR_STATUS,USR_COUNTRY,USR_CITY,USR_LOCATION,USR_ADDRESS,USR_PHONE,USR_FAX,USR_CELLULAR,USR_ZIP_CODE,DEP_UID,USR_POSITION,USR_RESUME,USR_BIRTHDAY,USR_ROLE,USR_REPORTS_TO,USR_REPLACED_BY ) VALUES
|
INSERT INTO USERS (USR_UID,USR_USERNAME,USR_PASSWORD,USR_FIRSTNAME,USR_LASTNAME,USR_EMAIL,USR_DUE_DATE,USR_CREATE_DATE,USR_UPDATE_DATE,USR_STATUS,USR_COUNTRY,USR_CITY,USR_LOCATION,USR_ADDRESS,USR_PHONE,USR_FAX,USR_CELLULAR,USR_ZIP_CODE,DEP_UID,USR_POSITION,USR_RESUME,USR_BIRTHDAY,USR_ROLE,USR_REPORTS_TO,USR_REPLACED_BY ) VALUES
|
||||||
('00000000000000000000000000000001','admin','21232f297a57a5a743894a0e4a801fc3','Administrator',' ', 'admin@processmaker.com','2020-01-01','1999-11-30 00:00:00','2008-05-23 18:36:19','ACTIVE', 'US','FL','MMK','','', '1-305-402-0282','1-305-675-1400','','','Administrator', '','1999-02-25','PROCESSMAKER_ADMIN','',''),
|
('00000000000000000000000000000001','admin','21232f297a57a5a743894a0e4a801fc3','Administrator',' ','admin@processmaker.com',DATE_ADD(curdate(), INTERVAL 1 YEAR),'1999-11-30 00:00:00','2008-05-23 18:36:19','ACTIVE', 'US','FL','MMK','','', '1-305-402-0282','1-305-675-1400','','','Administrator', '','1999-02-25','PROCESSMAKER_ADMIN','',''),
|
||||||
('00000000000000000000000000000002','guest','674ba9750749d735ec9787d606170d78','Guest',' ', 'guest@processmaker.com','2030-01-01','2009-02-01 12:24:36','2009-02-01 12:24:36','INACTIVE', 'US','FL','MMK','','', '1-305-402-0282','1-305-675-1400','','','Guest', '','2009-02-01','PROCESSMAKER_GUEST','','');
|
('00000000000000000000000000000002','guest','674ba9750749d735ec9787d606170d78','Guest',' ', 'guest@processmaker.com','2030-01-01','2009-02-01 12:24:36','2009-02-01 12:24:36','INACTIVE', 'US','FL','MMK','','', '1-305-402-0282','1-305-675-1400','','','Guest', '','2009-02-01','PROCESSMAKER_GUEST','','');
|
||||||
|
|
||||||
INSERT INTO CONTENT (CON_CATEGORY,CON_PARENT,CON_ID,CON_LANG,CON_VALUE) VALUES
|
INSERT INTO CONTENT (CON_CATEGORY,CON_PARENT,CON_ID,CON_LANG,CON_VALUE) VALUES
|
||||||
@@ -57261,6 +57261,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_FIELDS','en','Available Fields','2014-01-15') ,
|
||||||
( 'LABEL','ID_AVAILABLE_GROUPS','en','AVAILABLE GROUPS','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_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_PERMISSIONS','en','AVAILABLE PERMISSIONS','2014-01-15') ,
|
||||||
( 'LABEL','ID_AVAILABLE_TRIGGERS','en','Available Triggers','2014-01-15') ,
|
( 'LABEL','ID_AVAILABLE_TRIGGERS','en','Available Triggers','2014-01-15') ,
|
||||||
( 'LABEL','ID_AVAILABLE_USERS','en','AVAILABLE USERS','2014-01-15') ,
|
( 'LABEL','ID_AVAILABLE_USERS','en','AVAILABLE USERS','2014-01-15') ,
|
||||||
@@ -60214,6 +60216,9 @@ INSERT INTO TRANSLATION (TRN_CATEGORY,TRN_ID,TRN_LANG,TRN_VALUE,TRN_UPDATE_DATE
|
|||||||
( 'LABEL','ID_OBJECT_REMOVE','en','Object has been removed successfully','2014-01-15') ,
|
( 'LABEL','ID_OBJECT_REMOVE','en','Object has been removed successfully','2014-01-15') ,
|
||||||
( 'LABEL','ID_OBJECT_UPDATE','en','User has been updated successfully','2014-01-15') ,
|
( 'LABEL','ID_OBJECT_UPDATE','en','User has been updated successfully','2014-01-15') ,
|
||||||
( 'LABEL','ID_OFF','en','Off','2014-01-15') ,
|
( 'LABEL','ID_OFF','en','Off','2014-01-15') ,
|
||||||
|
( 'LABEL','ID_OFFLINE_TABLES','en','Offline Tables','2019-12-19') ,
|
||||||
|
( 'LABEL','ID_OFFLINE_TABLES_ENABLE','en','Set Offline Tables','2019-12-19') ,
|
||||||
|
( 'LABEL','ID_OFFLINE_TABLES_DISABLE','en','Set Online Tables','2019-12-19') ,
|
||||||
( 'LABEL','ID_OF_THE_MONTH','en','of the month(s)','2014-01-15') ,
|
( 'LABEL','ID_OF_THE_MONTH','en','of the month(s)','2014-01-15') ,
|
||||||
( 'LABEL','ID_OK','en','Ok','2015-09-17') ,
|
( 'LABEL','ID_OK','en','Ok','2015-09-17') ,
|
||||||
( 'LABEL','ID_OLD_VERSION','en','old version','2014-01-15') ,
|
( 'LABEL','ID_OLD_VERSION','en','old version','2014-01-15') ,
|
||||||
|
|||||||
@@ -1162,6 +1162,8 @@ CREATE TABLE `ADDITIONAL_TABLES`
|
|||||||
`ADD_TAB_TYPE` VARCHAR(32) default '',
|
`ADD_TAB_TYPE` VARCHAR(32) default '',
|
||||||
`ADD_TAB_GRID` VARCHAR(256) default '',
|
`ADD_TAB_GRID` VARCHAR(256) default '',
|
||||||
`ADD_TAB_TAG` 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`),
|
PRIMARY KEY (`ADD_TAB_UID`),
|
||||||
KEY `indexAdditionalProcess`(`PRO_UID`)
|
KEY `indexAdditionalProcess`(`PRO_UID`)
|
||||||
)ENGINE=InnoDB DEFAULT CHARSET='utf8';
|
)ENGINE=InnoDB DEFAULT CHARSET='utf8';
|
||||||
|
|||||||
@@ -268,13 +268,15 @@ if (isset($_POST["PRO_FILENAME"]) &&
|
|||||||
try {
|
try {
|
||||||
/*----------------------------------********---------------------------------*/
|
/*----------------------------------********---------------------------------*/
|
||||||
$objectsToImport = '';
|
$objectsToImport = '';
|
||||||
|
if (version_compare($data['version'], '3.0', '>')) {
|
||||||
|
$dataObject = (isset($data['objects'])) ? explode('|', $data['objects']) : "";
|
||||||
|
$exportObjects = new \ProcessMaker\BusinessModel\Migrator\ExportObjects();
|
||||||
|
$idObjectList = $exportObjects->getIdObjectList($dataObject);
|
||||||
|
|
||||||
// only uploadFileNewProcessExist
|
// only uploadFileNewProcessExist
|
||||||
if (version_compare($data['version'], '3.0', '>') && isset($_POST['objectsToImport']) && $_POST['objectsToImport'] === '' && $_POST['IMPORT_OPTION']==="1") {
|
if (isset($_POST['objectsToImport']) && $_POST['objectsToImport'] === '' && $_POST['IMPORT_OPTION'] === "1") {
|
||||||
$objectImport = (isset($data['objects'])) ? explode('|', $data['objects']) : "";
|
|
||||||
$ids = new \ProcessMaker\BusinessModel\Migrator\ExportObjects();
|
|
||||||
$objectImport = $ids->getIdObjectList($objectImport);
|
|
||||||
$granularImport = true;
|
$granularImport = true;
|
||||||
$result = array(
|
$result = [
|
||||||
"success" => true,
|
"success" => true,
|
||||||
"catchMessage" => '',
|
"catchMessage" => '',
|
||||||
"ExistProcessInDatabase" => 0,
|
"ExistProcessInDatabase" => 0,
|
||||||
@@ -284,26 +286,27 @@ if (isset($_POST["PRO_FILENAME"]) &&
|
|||||||
"sNewProUid" => '',
|
"sNewProUid" => '',
|
||||||
"project_type" => 'bpmn',
|
"project_type" => 'bpmn',
|
||||||
"isGranularImport" => $granularImport,
|
"isGranularImport" => $granularImport,
|
||||||
"objectGranularImport" => $objectImport,
|
"objectGranularImport" => $idObjectList,
|
||||||
"project_type_aux" => ''
|
"project_type_aux" => ''
|
||||||
);
|
];
|
||||||
echo G::json_encode($result);
|
echo G::json_encode($result);
|
||||||
exit(0);
|
exit(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (version_compare($data['version'], '3.0', '>') && $_POST['IMPORT_OPTION']==="3") {
|
$actionImport = "merge";
|
||||||
$objectsToImport = [];
|
if ($_POST['IMPORT_OPTION'] === "3") {
|
||||||
$objects = (isset($data['objects'])) ? explode('|', $data['objects']) : "";
|
$actionImport = "replace";
|
||||||
$ids = new \ProcessMaker\BusinessModel\Migrator\ExportObjects();
|
|
||||||
$objects = $ids->getIdObjectList($objects);
|
|
||||||
foreach ($objects as $object) {
|
|
||||||
$objectsToImport[] = (object)array('id' => $object, 'action' => 'replace');
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$objectsToImport = [];
|
||||||
|
foreach ($idObjectList as $object) {
|
||||||
|
$objectsToImport[] = (object) ['id' => $object, 'action' => $actionImport];
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isset($_POST['objectsToImport']) && !empty(G::json_decode($_POST['objectsToImport']))) {
|
if (isset($_POST['objectsToImport']) && !empty(G::json_decode($_POST['objectsToImport']))) {
|
||||||
$objectsToImport = G::json_decode($_POST['objectsToImport']);
|
$objectsToImport = G::json_decode($_POST['objectsToImport']);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
/*----------------------------------********---------------------------------*/
|
/*----------------------------------********---------------------------------*/
|
||||||
$prjUid = $importer->import($option, $optionGroup, false, $objectsToImport);
|
$prjUid = $importer->import($option, $optionGroup, false, $objectsToImport);
|
||||||
|
|
||||||
|
|||||||
@@ -696,9 +696,8 @@ class Light
|
|||||||
$sAppDocUid = $oAppDocument->getAppDocUid();
|
$sAppDocUid = $oAppDocument->getAppDocUid();
|
||||||
$iDocVersion = $oAppDocument->getDocVersion();
|
$iDocVersion = $oAppDocument->getDocVersion();
|
||||||
$info = pathinfo($oAppDocument->getAppDocFilename());
|
$info = pathinfo($oAppDocument->getAppDocFilename());
|
||||||
$ext = (isset($info['extension']) ? $info['extension'] : '');//BUG fix: must handle files without any extension
|
$ext = (isset($info['extension']) ? $info['extension'] : ''); //BUG fix: must handle files without any extension
|
||||||
|
|
||||||
//$app_uid = G::getPathFromUID($oAppDocument->Fields['APP_UID']);
|
|
||||||
$file = G::getPathFromFileUID($oAppDocument->Fields['APP_UID'], $sAppDocUid);
|
$file = G::getPathFromFileUID($oAppDocument->Fields['APP_UID'], $sAppDocUid);
|
||||||
|
|
||||||
$realPath = PATH_DOCUMENT . G::getPathFromUID($app_uid) . '/' . $file[0] . $file[1] . '_' . $iDocVersion . '.' . $ext;
|
$realPath = PATH_DOCUMENT . G::getPathFromUID($app_uid) . '/' . $file[0] . $file[1] . '_' . $iDocVersion . '.' . $ext;
|
||||||
@@ -1358,12 +1357,14 @@ class Light
|
|||||||
*/
|
*/
|
||||||
public function getConfiguration($params)
|
public function getConfiguration($params)
|
||||||
{
|
{
|
||||||
|
$response = [];
|
||||||
|
|
||||||
$sysConf = Bootstrap::getSystemConfiguration('', '', config("system.workspace"));
|
$sysConf = Bootstrap::getSystemConfiguration('', '', config("system.workspace"));
|
||||||
$multiTimeZone = false;
|
$multiTimeZone = false;
|
||||||
//Set Time Zone
|
//Set Time Zone
|
||||||
/*----------------------------------********---------------------------------*/
|
/*----------------------------------********---------------------------------*/
|
||||||
if (\PMLicensedFeatures::getSingleton()->verifyfeature('oq3S29xemxEZXJpZEIzN01qenJUaStSekY4cTdJVm5vbWtVM0d4S2lJSS9qUT0=')) {
|
if (\PMLicensedFeatures::getSingleton()->verifyfeature('oq3S29xemxEZXJpZEIzN01qenJUaStSekY4cTdJVm5vbWtVM0d4S2lJSS9qUT0=')) {
|
||||||
$multiTimeZone = (int)($sysConf['system_utc_time_zone']) == 1;
|
$multiTimeZone = (int) ($sysConf['system_utc_time_zone']) == 1;
|
||||||
}
|
}
|
||||||
/*----------------------------------********---------------------------------*/
|
/*----------------------------------********---------------------------------*/
|
||||||
$tz = isset($_SESSION['USR_TIME_ZONE']) ? $_SESSION['USR_TIME_ZONE'] : $sysConf['time_zone'];
|
$tz = isset($_SESSION['USR_TIME_ZONE']) ? $_SESSION['USR_TIME_ZONE'] : $sysConf['time_zone'];
|
||||||
@@ -1423,6 +1424,8 @@ class Light
|
|||||||
$response['tz'] = isset($_SESSION['USR_TIME_ZONE']) ? $_SESSION['USR_TIME_ZONE'] : $sysConf['time_zone'];
|
$response['tz'] = isset($_SESSION['USR_TIME_ZONE']) ? $_SESSION['USR_TIME_ZONE'] : $sysConf['time_zone'];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$response['mobile_offline_tables_download_interval'] = $sysConf['mobile_offline_tables_download_interval'];
|
||||||
|
|
||||||
return $response;
|
return $response;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1431,13 +1434,13 @@ class Light
|
|||||||
switch (substr($size_str, -1)) {
|
switch (substr($size_str, -1)) {
|
||||||
case 'M':
|
case 'M':
|
||||||
case 'm':
|
case 'm':
|
||||||
return (int)$size_str * 1048576;
|
return (int) $size_str * 1048576;
|
||||||
case 'K':
|
case 'K':
|
||||||
case 'k':
|
case 'k':
|
||||||
return (int)$size_str * 1024;
|
return (int) $size_str * 1024;
|
||||||
case 'G':
|
case 'G':
|
||||||
case 'g':
|
case 'g':
|
||||||
return (int)$size_str * 1073741824;
|
return (int) $size_str * 1073741824;
|
||||||
default:
|
default:
|
||||||
return $size_str;
|
return $size_str;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -486,7 +486,9 @@ class ReportTable
|
|||||||
'DBS_UID' => ($arrayData['REP_TAB_CONNECTION']) ? $arrayData['REP_TAB_CONNECTION'] : 'workflow',
|
'DBS_UID' => ($arrayData['REP_TAB_CONNECTION']) ? $arrayData['REP_TAB_CONNECTION'] : 'workflow',
|
||||||
'PRO_UID' => $arrayData['PRO_UID'],
|
'PRO_UID' => $arrayData['PRO_UID'],
|
||||||
'ADD_TAB_TYPE' => $arrayData['REP_TAB_TYPE'],
|
'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'])) {
|
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_CONNECTION = $contentSchema['DBS_UID'];
|
||||||
$tableData->REP_TAB_TYPE = (isset($contentSchema['ADD_TAB_TYPE'])) ? $contentSchema['ADD_TAB_TYPE'] : '';
|
$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_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->columns = G::json_encode($columns);
|
||||||
$tableData->forceUid = true;
|
$tableData->forceUid = true;
|
||||||
|
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ class Table
|
|||||||
*
|
*
|
||||||
* @return array
|
* @return array
|
||||||
*/
|
*/
|
||||||
public function getTables($pro_uid = '', $reportFlag = false)
|
public function getTables($pro_uid = '', $reportFlag = false, $offline = false)
|
||||||
{
|
{
|
||||||
//VALIDATION
|
//VALIDATION
|
||||||
if ($reportFlag) {
|
if ($reportFlag) {
|
||||||
@@ -87,6 +87,7 @@ class Table
|
|||||||
$tabData['PMT_UID'] = $tab_uid;
|
$tabData['PMT_UID'] = $tab_uid;
|
||||||
$tabData['PMT_TAB_NAME'] = $table['ADD_TAB_NAME'];
|
$tabData['PMT_TAB_NAME'] = $table['ADD_TAB_NAME'];
|
||||||
$tabData['PMT_TAB_DESCRIPTION'] = $table['ADD_TAB_DESCRIPTION'];
|
$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_TAB_CLASS_NAME'] = $table['ADD_TAB_CLASS_NAME'];
|
||||||
$tabData['PMT_NUM_ROWS'] = $tableData['count'];
|
$tabData['PMT_NUM_ROWS'] = $tableData['count'];
|
||||||
}
|
}
|
||||||
@@ -384,6 +385,8 @@ class Table
|
|||||||
'ADD_TAB_NAME' => $dataValidate['REP_TAB_NAME'],
|
'ADD_TAB_NAME' => $dataValidate['REP_TAB_NAME'],
|
||||||
'ADD_TAB_CLASS_NAME' => $repTabClassName,
|
'ADD_TAB_CLASS_NAME' => $repTabClassName,
|
||||||
'ADD_TAB_DESCRIPTION' => $dataValidate['REP_TAB_DSC'],
|
'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' => '',
|
'ADD_TAB_PLG_UID' => '',
|
||||||
'DBS_UID' => ($dataValidate['REP_TAB_CONNECTION'] ? $dataValidate['REP_TAB_CONNECTION'] : 'workflow'),
|
'DBS_UID' => ($dataValidate['REP_TAB_CONNECTION'] ? $dataValidate['REP_TAB_CONNECTION'] : 'workflow'),
|
||||||
'PRO_UID' => $dataValidate['PRO_UID'],
|
'PRO_UID' => $dataValidate['PRO_UID'],
|
||||||
@@ -396,6 +399,8 @@ class Table
|
|||||||
'ADD_TAB_NAME' => $dataValidate['PMT_TAB_NAME'],
|
'ADD_TAB_NAME' => $dataValidate['PMT_TAB_NAME'],
|
||||||
'ADD_TAB_CLASS_NAME' => $repTabClassName,
|
'ADD_TAB_CLASS_NAME' => $repTabClassName,
|
||||||
'ADD_TAB_DESCRIPTION' => $dataValidate['PMT_TAB_DSC'],
|
'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' => '',
|
'ADD_TAB_PLG_UID' => '',
|
||||||
'DBS_UID' => ($dataValidate['PMT_TAB_CONNECTION'] ? $dataValidate['PMT_TAB_CONNECTION'] : 'workflow'),
|
'DBS_UID' => ($dataValidate['PMT_TAB_CONNECTION'] ? $dataValidate['PMT_TAB_CONNECTION'] : 'workflow'),
|
||||||
'PRO_UID' => '',
|
'PRO_UID' => '',
|
||||||
@@ -549,6 +554,11 @@ class Table
|
|||||||
$dataValidate['rep_tab_dsc'] = $tableData['pmt_tab_dsc'];
|
$dataValidate['rep_tab_dsc'] = $tableData['pmt_tab_dsc'];
|
||||||
$tableDsc = true;
|
$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'])) {
|
if (!empty($tableData['fields'])) {
|
||||||
$dataValidate['fields'] = $tableData['fields'];
|
$dataValidate['fields'] = $tableData['fields'];
|
||||||
|
|||||||
@@ -73,7 +73,8 @@ class System
|
|||||||
'files_white_list' => '',
|
'files_white_list' => '',
|
||||||
'delay' => '0',
|
'delay' => '0',
|
||||||
'tries' => '10',
|
'tries' => '10',
|
||||||
'retry_after' => '90'
|
'retry_after' => '90',
|
||||||
|
'mobile_offline_tables_download_interval' => 24
|
||||||
];
|
];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -1203,6 +1204,15 @@ class System
|
|||||||
$config['proxy_pass'] = G::decrypt($config['proxy_pass'], 'proxy_pass');
|
$config['proxy_pass'] = G::decrypt($config['proxy_pass'], 'proxy_pass');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Here if you validate if the type of data obtained from the configuration
|
||||||
|
* files are valid, otherwise the default value is used.
|
||||||
|
*/
|
||||||
|
$value = (string) $config['mobile_offline_tables_download_interval'];
|
||||||
|
if (!is_numeric($value)) {
|
||||||
|
$config['mobile_offline_tables_download_interval'] = self::$defaultConfig['mobile_offline_tables_download_interval'];
|
||||||
|
}
|
||||||
|
|
||||||
return $config;
|
return $config;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
105
workflow/engine/src/ProcessMaker/Model/AdditionalTables.php
Normal file
105
workflow/engine/src/ProcessMaker/Model/AdditionalTables.php
Normal file
@@ -0,0 +1,105 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace ProcessMaker\Model;
|
||||||
|
|
||||||
|
use AdditionalTables as ModelAdditionalTables;
|
||||||
|
use Illuminate\Database\Eloquent\Model;
|
||||||
|
|
||||||
|
class AdditionalTables extends Model
|
||||||
|
{
|
||||||
|
protected $table = 'ADDITIONAL_TABLES';
|
||||||
|
public $timestamps = false;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the fields related to the table belongs to
|
||||||
|
*
|
||||||
|
* @return \Illuminate\Database\Eloquent\Relations\BelongsTo
|
||||||
|
*/
|
||||||
|
public function columns()
|
||||||
|
{
|
||||||
|
return $this->belongsTo(Fields::class, 'ADD_TAB_UID', 'ADD_TAB_UID');
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Scope a query to get the offline tables
|
||||||
|
*
|
||||||
|
* @param \Illuminate\Database\Eloquent\Builder $query
|
||||||
|
*
|
||||||
|
* @return \Illuminate\Database\Eloquent\Builder
|
||||||
|
*/
|
||||||
|
public function scopeOffline($query)
|
||||||
|
{
|
||||||
|
return $query->where('ADD_TAB_OFFLINE', '=', 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the structure of offline tables
|
||||||
|
*
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public static function getTablesOfflineStructure()
|
||||||
|
{
|
||||||
|
$query = AdditionalTables::query()->select([
|
||||||
|
'ADD_TAB_UID',
|
||||||
|
'ADD_TAB_NAME',
|
||||||
|
'ADD_TAB_DESCRIPTION',
|
||||||
|
'ADD_TAB_CLASS_NAME'
|
||||||
|
]);
|
||||||
|
$query->offline();
|
||||||
|
|
||||||
|
$results = $query->get();
|
||||||
|
$data = [];
|
||||||
|
$results->each(function ($item, $key) use (&$data) {
|
||||||
|
$data[$key] = array_change_key_case($item->toArray(), CASE_LOWER);
|
||||||
|
$data[$key]['fields'] = Fields::getFields($item->ADD_TAB_UID);
|
||||||
|
});
|
||||||
|
|
||||||
|
return $data;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the data of offline tables
|
||||||
|
*
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public static function getTablesOfflineData()
|
||||||
|
{
|
||||||
|
$query = AdditionalTables::query()->select([
|
||||||
|
'ADD_TAB_UID',
|
||||||
|
'ADD_TAB_NAME',
|
||||||
|
'ADD_TAB_DESCRIPTION',
|
||||||
|
'ADD_TAB_CLASS_NAME'
|
||||||
|
]);
|
||||||
|
$query->offline();
|
||||||
|
|
||||||
|
$results = $query->get();
|
||||||
|
$data = [];
|
||||||
|
$results->each(function ($item, $key) use (&$data) {
|
||||||
|
$data[$key] = array_change_key_case($item->toArray(), CASE_LOWER);
|
||||||
|
|
||||||
|
$additionalTables = new ModelAdditionalTables();
|
||||||
|
$result = $additionalTables->getAllData($item->ADD_TAB_UID);
|
||||||
|
if (empty($result['rows'])) {
|
||||||
|
$data[$key]['rows'] = [];
|
||||||
|
} else {
|
||||||
|
foreach ($result['rows'] as $i => $row) {
|
||||||
|
$data[$key]['rows'][$i] = $row;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
return $data;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Update the offline property.
|
||||||
|
* @param array $tablesUid
|
||||||
|
* @param int $value
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public static function updatePropertyOffline(array $tablesUid, $value): void
|
||||||
|
{
|
||||||
|
$query = AdditionalTables::whereIn('ADD_TAB_UID', $tablesUid)
|
||||||
|
->update(['ADD_TAB_OFFLINE' => $value]);
|
||||||
|
}
|
||||||
|
}
|
||||||
55
workflow/engine/src/ProcessMaker/Model/Fields.php
Normal file
55
workflow/engine/src/ProcessMaker/Model/Fields.php
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace ProcessMaker\Model;
|
||||||
|
|
||||||
|
use Illuminate\Database\Eloquent\Model;
|
||||||
|
|
||||||
|
class Fields extends Model
|
||||||
|
{
|
||||||
|
protected $table = 'FIELDS';
|
||||||
|
public $timestamps = false;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the fields related to the table belongs to
|
||||||
|
*
|
||||||
|
* @return \Illuminate\Database\Eloquent\Relations\BelongsTo
|
||||||
|
*/
|
||||||
|
public function table()
|
||||||
|
{
|
||||||
|
return $this->belongsTo(AdditionalTables::class, 'ADD_TAB_UID', 'ADD_TAB_UID');
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Scope a query to get the offline tables
|
||||||
|
*
|
||||||
|
* @param \Illuminate\Database\Eloquent\Builder $query
|
||||||
|
* @param string $tabUid
|
||||||
|
*
|
||||||
|
* @return \Illuminate\Database\Eloquent\Builder
|
||||||
|
*/
|
||||||
|
public function scopeTable($query, $tabUid)
|
||||||
|
{
|
||||||
|
return $query->where('ADD_TAB_UID', '=', $tabUid);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the offline tables
|
||||||
|
*
|
||||||
|
* @param string $tabUid
|
||||||
|
*
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public static function getFields($tabUid)
|
||||||
|
{
|
||||||
|
$query = Fields::query();
|
||||||
|
$query->table($tabUid);
|
||||||
|
|
||||||
|
$results = $query->get();
|
||||||
|
$data = [];
|
||||||
|
$results->each(function ($item, $key) use (&$data) {
|
||||||
|
$data[$key] = array_change_key_case($item->toArray(), CASE_LOWER);
|
||||||
|
});
|
||||||
|
|
||||||
|
return $data;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1169,12 +1169,13 @@ class Workflow extends Handler
|
|||||||
|
|
||||||
//Getting DynaForms
|
//Getting DynaForms
|
||||||
foreach ($workflowData["dynaforms"] as $dynaform) {
|
foreach ($workflowData["dynaforms"] as $dynaform) {
|
||||||
$dynFile = PATH_DYNAFORM . $dynaform["DYN_FILENAME"] . ".xml";
|
$dynFile = PATH_DYNAFORM . $dynaform["PRO_UID"] . "/" . $dynaform["DYN_UID"] . ".xml";
|
||||||
|
$content = file_exists($dynFile) ? file_get_contents($dynFile) : '';
|
||||||
|
|
||||||
$workflowFile["DYNAFORMS"][] = array(
|
$workflowFile["DYNAFORMS"][] = array(
|
||||||
"filename" => $dynaform["DYN_TITLE"],
|
"filename" => $dynaform["DYN_TITLE"],
|
||||||
"filepath" => $dynaform["DYN_FILENAME"] . ".xml",
|
"filepath" => $dynaform["DYN_FILENAME"] . ".xml",
|
||||||
"file_content" => file_get_contents($dynFile)
|
"file_content" => $content
|
||||||
);
|
);
|
||||||
|
|
||||||
$htmlFile = PATH_DYNAFORM . $dynaform["DYN_FILENAME"] . ".html";
|
$htmlFile = PATH_DYNAFORM . $dynaform["DYN_FILENAME"] . ".html";
|
||||||
|
|||||||
@@ -1,9 +1,11 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace ProcessMaker\Services\Api;
|
namespace ProcessMaker\Services\Api;
|
||||||
|
|
||||||
use Exception;
|
use Exception;
|
||||||
use Luracast\Restler\RestException;
|
use Luracast\Restler\RestException;
|
||||||
use ProcessMaker\BusinessModel\Table as BusinessModelTable;
|
use ProcessMaker\BusinessModel\Table as BusinessModelTable;
|
||||||
|
use ProcessMaker\Model\AdditionalTables;
|
||||||
use ProcessMaker\Services\Api;
|
use ProcessMaker\Services\Api;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -14,85 +16,137 @@ use ProcessMaker\Services\Api;
|
|||||||
class Pmtable extends Api
|
class Pmtable extends Api
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* @return array
|
* Get a list of the PM tables in the workspace. It does not include any Report Table
|
||||||
*
|
*
|
||||||
* @author Brayan Pereyra (Cochalo) <brayan@colosa.com>
|
* @url GET
|
||||||
* @copyright Colosa - Bolivia
|
* @status 200
|
||||||
|
*
|
||||||
|
* @param boolean $offline {@from path}
|
||||||
|
*
|
||||||
|
* @return array
|
||||||
|
* @throws RestException
|
||||||
*
|
*
|
||||||
* @access protected
|
* @access protected
|
||||||
* @class AccessControl {@permission PM_SETUP_PM_TABLES}
|
* @class AccessControl {@permission PM_LOGIN}
|
||||||
* @url GET
|
* @link https://wiki.processmaker.com/3.1/REST_API_Administration/PM_Tables#PM_Tables_List:_GET_.2Fpmtable
|
||||||
*/
|
*/
|
||||||
public function doGetPmTables()
|
public function doGetPmTables($offline = false)
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
$oPmTable = new \ProcessMaker\BusinessModel\Table();
|
if ($offline) {
|
||||||
$response = $oPmTable->getTables();
|
$response = AdditionalTables::getTablesOfflineStructure();
|
||||||
|
} else {
|
||||||
|
$pmTable = new BusinessModelTable();
|
||||||
|
$response = $pmTable->getTables();
|
||||||
|
}
|
||||||
|
|
||||||
return $response;
|
return $response;
|
||||||
} catch (\Exception $e) {
|
} catch (Exception $e) {
|
||||||
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
|
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param string $pmt_uid {@min 1} {@max 32}
|
* Get the data of the offline PM tables
|
||||||
|
*
|
||||||
|
* @url GET /offline/data
|
||||||
|
* @status 200
|
||||||
|
*
|
||||||
|
* @param boolean $compress {@from path}
|
||||||
|
*
|
||||||
* @return array
|
* @return array
|
||||||
*
|
*
|
||||||
* @author Brayan Pereyra (Cochalo) <brayan@colosa.com>
|
* @throws RestException
|
||||||
* @copyright Colosa - Bolivia
|
*
|
||||||
|
* @access protected
|
||||||
|
* @class AccessControl {@permission PM_LOGIN}
|
||||||
|
* @link https://wiki.processmaker.com/3.1/REST_API_Administration/PM_Tables#PM_Tables_List:_GET_.2Fpmtable
|
||||||
|
*/
|
||||||
|
public function doGetPmTablesDataOffline($compress = true)
|
||||||
|
{
|
||||||
|
try {
|
||||||
|
$data = AdditionalTables::getTablesOfflineData();
|
||||||
|
if ($compress) {
|
||||||
|
$json = json_encode($data);
|
||||||
|
$compressed = gzcompress($json, 5);
|
||||||
|
echo $compressed;
|
||||||
|
} else {
|
||||||
|
return $data;
|
||||||
|
}
|
||||||
|
} catch (Exception $e) {
|
||||||
|
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the structure from a specific PM Table, including a list of its fields and their properties.
|
||||||
|
*
|
||||||
|
* @url GET /:pmt_uid
|
||||||
|
* @status 200
|
||||||
|
*
|
||||||
|
* @param string $pmt_uid {@min 1} {@max 32}
|
||||||
|
*
|
||||||
|
* @return array
|
||||||
|
* @throws RestException
|
||||||
*
|
*
|
||||||
* @access protected
|
* @access protected
|
||||||
* @class AccessControl {@permission PM_SETUP_PM_TABLES}
|
* @class AccessControl {@permission PM_SETUP_PM_TABLES}
|
||||||
* @url GET /:pmt_uid
|
* @link https://wiki.processmaker.com/3.1/REST_API_Administration/PM_Tables#Get_PM_Table_Structure:_GET_.2Fpmtable.2F.7Bpmt_uid.7D
|
||||||
*/
|
*/
|
||||||
public function doGetPmTable($pmt_uid)
|
public function doGetPmTable($pmt_uid)
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
$oPmTable = new \ProcessMaker\BusinessModel\Table();
|
$oPmTable = new BusinessModelTable();
|
||||||
$response = $oPmTable->getTable($pmt_uid);
|
$response = $oPmTable->getTable($pmt_uid);
|
||||||
return $response;
|
return $response;
|
||||||
} catch (\Exception $e) {
|
} catch (Exception $e) {
|
||||||
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
|
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* Get the data from a PM table
|
||||||
|
*
|
||||||
|
* @url GET /:pmt_uid/data
|
||||||
|
* @status 200
|
||||||
|
*
|
||||||
* @param string $pmt_uid {@min 1} {@max 32}
|
* @param string $pmt_uid {@min 1} {@max 32}
|
||||||
* @param string $filter
|
* @param string $filter
|
||||||
* @param string $q
|
* @param string $q
|
||||||
* @return array
|
|
||||||
*
|
*
|
||||||
* @author Brayan Pereyra (Cochalo) <brayan@colosa.com>
|
* @return array
|
||||||
* @copyright Colosa - Bolivia
|
* @throws RestException
|
||||||
*
|
*
|
||||||
* @access protected
|
* @access protected
|
||||||
* @class AccessControl {@permission PM_SETUP_PM_TABLES}
|
* @class AccessControl {@permission PM_SETUP_PM_TABLES}
|
||||||
* @url GET /:pmt_uid/data
|
*
|
||||||
*/
|
*/
|
||||||
public function doGetPmTableData($pmt_uid, $filter = null, $q = "")
|
public function doGetPmTableData($pmt_uid, $filter = null, $q = "")
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
$oPmTable = new \ProcessMaker\BusinessModel\Table();
|
$oPmTable = new BusinessModelTable();
|
||||||
$response = $oPmTable->getTableData($pmt_uid, null, $filter, false, $q);
|
$response = $oPmTable->getTableData($pmt_uid, null, $filter, false, $q);
|
||||||
return $response;
|
return $response;
|
||||||
} catch (\Exception $e) {
|
} catch (Exception $e) {
|
||||||
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
|
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* Create a new PM Table
|
||||||
|
*
|
||||||
|
* @url POST
|
||||||
|
* @status 201
|
||||||
|
*
|
||||||
* @param array $request_data
|
* @param array $request_data
|
||||||
* @param string $pmt_tab_name {@from body}
|
* @param string $pmt_tab_name {@from body}
|
||||||
* @param string $pmt_tab_dsc {@from body}
|
* @param string $pmt_tab_dsc {@from body}
|
||||||
* @return array
|
|
||||||
*
|
*
|
||||||
* @author Brayan Pereyra (Cochalo) <brayan@colosa.com>
|
* @return array
|
||||||
* @copyright Colosa - Bolivia
|
* @throws RestException
|
||||||
*
|
*
|
||||||
* @access protected
|
* @access protected
|
||||||
* @class AccessControl {@permission PM_SETUP_PM_TABLES}
|
* @class AccessControl {@permission PM_SETUP_PM_TABLES}
|
||||||
* @url POST
|
|
||||||
* @status 201
|
|
||||||
*/
|
*/
|
||||||
public function doPostPmTable(
|
public function doPostPmTable(
|
||||||
$request_data,
|
$request_data,
|
||||||
@@ -100,58 +154,58 @@ class Pmtable extends Api
|
|||||||
$pmt_tab_dsc = ''
|
$pmt_tab_dsc = ''
|
||||||
) {
|
) {
|
||||||
try {
|
try {
|
||||||
$oReportTable = new \ProcessMaker\BusinessModel\Table();
|
$oReportTable = new BusinessModelTable();
|
||||||
$response = $oReportTable->saveTable($request_data);
|
$response = $oReportTable->saveTable($request_data);
|
||||||
if (isset($response['pro_uid'])) {
|
if (isset($response['pro_uid'])) {
|
||||||
unset($response['pro_uid']);
|
unset($response['pro_uid']);
|
||||||
}
|
}
|
||||||
return $response;
|
return $response;
|
||||||
} catch (\Exception $e) {
|
} catch (Exception $e) {
|
||||||
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
|
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param string $pmt_uid {@min 1} {@max 32}
|
* Add a new record to a PM Table
|
||||||
*
|
*
|
||||||
* @param array $request_data
|
|
||||||
* @return array
|
|
||||||
*
|
|
||||||
* @author Brayan Pereyra (Cochalo) <brayan@colosa.com>
|
|
||||||
* @copyright Colosa - Bolivia
|
|
||||||
*
|
|
||||||
* @access protected
|
|
||||||
* @class AccessControl {@permission PM_SETUP_PM_TABLES}
|
|
||||||
* @url POST /:pmt_uid/data
|
* @url POST /:pmt_uid/data
|
||||||
* @status 201
|
* @status 201
|
||||||
|
*
|
||||||
|
* @param string $pmt_uid {@min 1} {@max 32}
|
||||||
|
* @param array $request_data
|
||||||
|
*
|
||||||
|
* @return array
|
||||||
|
* @throws RestException
|
||||||
|
* @access protected
|
||||||
|
* @class AccessControl {@permission PM_SETUP_PM_TABLES}
|
||||||
*/
|
*/
|
||||||
public function doPostPmTableData(
|
public function doPostPmTableData(
|
||||||
$pmt_uid,
|
$pmt_uid,
|
||||||
$request_data
|
$request_data
|
||||||
) {
|
) {
|
||||||
try {
|
try {
|
||||||
$oReportTable = new \ProcessMaker\BusinessModel\Table();
|
$oReportTable = new BusinessModelTable();
|
||||||
$response = $oReportTable->saveTableData($pmt_uid, $request_data);
|
$response = $oReportTable->saveTableData($pmt_uid, $request_data);
|
||||||
return $response;
|
return $response;
|
||||||
} catch (\Exception $e) {
|
} catch (Exception $e) {
|
||||||
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
|
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Update pm-table.
|
* Update the structure of a PM table.
|
||||||
*
|
*
|
||||||
* @url PUT /:pmt_uid
|
* @url PUT /:pmt_uid
|
||||||
|
* @status 200
|
||||||
*
|
*
|
||||||
* @param string $pmt_uid {@min 1} {@max 32}
|
* @param string $pmt_uid {@min 1} {@max 32}
|
||||||
* @param array $request_data
|
* @param array $request_data
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
* @throw RestException
|
* @throws RestException
|
||||||
*
|
*
|
||||||
* @access protected
|
* @access protected
|
||||||
* @class AccessControl {@permission PM_SETUP_PM_TABLES}
|
* @class AccessControl {@permission PM_SETUP_PM_TABLES}
|
||||||
* @throws RestException
|
|
||||||
*/
|
*/
|
||||||
public function doPutPmTable(
|
public function doPutPmTable(
|
||||||
$pmt_uid,
|
$pmt_uid,
|
||||||
@@ -167,9 +221,10 @@ class Pmtable extends Api
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Update pm-table data.
|
* Update the data of an existing record in a PM table.
|
||||||
*
|
*
|
||||||
* @url PUT /:pmt_uid/data
|
* @url PUT /:pmt_uid/data
|
||||||
|
* @status 200
|
||||||
*
|
*
|
||||||
* @param string $pmt_uid {@min 1} {@max 32}
|
* @param string $pmt_uid {@min 1} {@max 32}
|
||||||
* @param array $request_data
|
* @param array $request_data
|
||||||
@@ -185,37 +240,47 @@ class Pmtable extends Api
|
|||||||
$request_data
|
$request_data
|
||||||
) {
|
) {
|
||||||
try {
|
try {
|
||||||
$oReportTable = new \ProcessMaker\BusinessModel\Table();
|
$oReportTable = new BusinessModelTable();
|
||||||
$response = $oReportTable->updateTableData($pmt_uid, $request_data);
|
$response = $oReportTable->updateTableData($pmt_uid, $request_data);
|
||||||
return $response;
|
return $response;
|
||||||
} catch (\Exception $e) {
|
} catch (Exception $e) {
|
||||||
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
|
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* Delete a specified PM table and all its data.
|
||||||
|
*
|
||||||
|
* @url DELETE /:pmt_uid
|
||||||
|
* @status 200
|
||||||
|
*
|
||||||
* @param string $pmt_uid {@min 1} {@max 32}
|
* @param string $pmt_uid {@min 1} {@max 32}
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*
|
* @throws RestException
|
||||||
* @author Brayan Pereyra (Cochalo) <brayan@colosa.com>
|
|
||||||
* @copyright Colosa - Bolivia
|
|
||||||
*
|
*
|
||||||
* @access protected
|
* @access protected
|
||||||
* @class AccessControl {@permission PM_SETUP_PM_TABLES}
|
* @class AccessControl {@permission PM_SETUP_PM_TABLES}
|
||||||
* @url DELETE /:pmt_uid
|
|
||||||
*/
|
*/
|
||||||
public function doDeletePmTable($pmt_uid)
|
public function doDeletePmTable($pmt_uid)
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
$oReportTable = new \ProcessMaker\BusinessModel\Table();
|
$oReportTable = new BusinessModelTable();
|
||||||
$response = $oReportTable->deleteTable($pmt_uid);
|
$response = $oReportTable->deleteTable($pmt_uid);
|
||||||
} catch (\Exception $e) {
|
} catch (Exception $e) {
|
||||||
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
|
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* Delete a record from a PM table, by specifying its primary key(s). The PM Table can have up to 3 primary key
|
||||||
|
* fields.
|
||||||
|
*
|
||||||
|
* @url DELETE /:pmt_uid/data/:key1/:value1
|
||||||
|
* @url DELETE /:pmt_uid/data/:key1/:value1/:key2/:value2
|
||||||
|
* @url DELETE /:pmt_uid/data/:key1/:value1/:key2/:value2/:key3/:value3
|
||||||
|
* @status 200
|
||||||
|
*
|
||||||
* @param string $pmt_uid {@min 1} {@max 32}
|
* @param string $pmt_uid {@min 1} {@max 32}
|
||||||
* @param string $key1 {@min 1}
|
* @param string $key1 {@min 1}
|
||||||
* @param string $value1 {@min 1}
|
* @param string $value1 {@min 1}
|
||||||
@@ -225,15 +290,10 @@ class Pmtable extends Api
|
|||||||
* @param string $value3
|
* @param string $value3
|
||||||
*
|
*
|
||||||
* @return array
|
* @return array
|
||||||
*
|
* @throws RestException
|
||||||
* @author Brayan Pereyra (Cochalo) <brayan@colosa.com>
|
|
||||||
* @copyright Colosa - Bolivia
|
|
||||||
*
|
*
|
||||||
* @access protected
|
* @access protected
|
||||||
* @class AccessControl {@permission PM_SETUP_PM_TABLES}
|
* @class AccessControl {@permission PM_SETUP_PM_TABLES}
|
||||||
* @url DELETE /:pmt_uid/data/:key1/:value1
|
|
||||||
* @url DELETE /:pmt_uid/data/:key1/:value1/:key2/:value2
|
|
||||||
* @url DELETE /:pmt_uid/data/:key1/:value1/:key2/:value2/:key3/:value3
|
|
||||||
*/
|
*/
|
||||||
public function doDeletePmTableData($pmt_uid, $key1, $value1, $key2 = '', $value2 = '', $key3 = '', $value3 = '')
|
public function doDeletePmTableData($pmt_uid, $key1, $value1, $key2 = '', $value2 = '', $key3 = '', $value3 = '')
|
||||||
{
|
{
|
||||||
@@ -245,10 +305,10 @@ class Pmtable extends Api
|
|||||||
if ($key3 != '') {
|
if ($key3 != '') {
|
||||||
$rows[$key3] = $value3;
|
$rows[$key3] = $value3;
|
||||||
}
|
}
|
||||||
$oReportTable = new \ProcessMaker\BusinessModel\Table();
|
$oReportTable = new BusinessModelTable();
|
||||||
$response = $oReportTable->deleteTableData($pmt_uid, $rows);
|
$response = $oReportTable->deleteTableData($pmt_uid, $rows);
|
||||||
return $response;
|
return $response;
|
||||||
} catch (\Exception $e) {
|
} catch (Exception $e) {
|
||||||
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
|
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -1,8 +1,13 @@
|
|||||||
|
/**
|
||||||
|
* PM tables list
|
||||||
|
*/
|
||||||
|
|
||||||
var newButton;
|
var newButton;
|
||||||
var editButton;
|
var editButton;
|
||||||
var deleteButton;
|
var deleteButton;
|
||||||
var importButton;
|
var importButton;
|
||||||
var exportButton;
|
var exportButton;
|
||||||
|
var offlineEnableDisable;
|
||||||
var dataButton;
|
var dataButton;
|
||||||
|
|
||||||
var store;
|
var store;
|
||||||
@@ -19,20 +24,19 @@ var externalPermissions;
|
|||||||
var currentSelectedRow = -1;
|
var currentSelectedRow = -1;
|
||||||
var extensionPmt = 'pmt';
|
var extensionPmt = 'pmt';
|
||||||
|
|
||||||
Ext.onReady(function(){
|
Ext.onReady(function () {
|
||||||
///Keyboard Events
|
// Keyboard Events
|
||||||
new Ext.KeyMap(document, {
|
new Ext.KeyMap(document, {
|
||||||
key: Ext.EventObject.F5,
|
key: Ext.EventObject.F5,
|
||||||
fn: function(keycode, e) {
|
fn: function (keycode, e) {
|
||||||
if (! e.ctrlKey) {
|
if (!e.ctrlKey) {
|
||||||
if (Ext.isIE) {
|
if (Ext.isIE) {
|
||||||
e.browserEvent.keyCode = 8;
|
e.browserEvent.keyCode = 8;
|
||||||
}
|
}
|
||||||
e.stopEvent();
|
e.stopEvent();
|
||||||
document.location = document.location;
|
document.location = document.location;
|
||||||
}
|
} else {
|
||||||
else{
|
Ext.Msg.alert(_('ID_REFRESH_LABEL'), _('ID_REFRESH_MESSAGE'));
|
||||||
Ext.Msg.alert( _('ID_REFRESH_LABEL') , _('ID_REFRESH_MESSAGE') );
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@@ -61,14 +65,7 @@ Ext.onReady(function(){
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
var flagProcessmap = (typeof('flagProcessmap') != 'undefined') ? flagProcessmap : 0;
|
var flagProcessmap = (typeof ('flagProcessmap') != 'undefined') ? flagProcessmap : 0;
|
||||||
|
|
||||||
/*if (PRO_UID !== false) {
|
|
||||||
newMenuOptions.push({
|
|
||||||
text: _('ID_NEW_REPORT_TABLE_OLD'),
|
|
||||||
handler: NewReportTableOld
|
|
||||||
});
|
|
||||||
}*/
|
|
||||||
|
|
||||||
if (PRO_UID !== false) {
|
if (PRO_UID !== false) {
|
||||||
newButton = new Ext.Action({
|
newButton = new Ext.Action({
|
||||||
@@ -112,6 +109,26 @@ Ext.onReady(function(){
|
|||||||
disabled: true
|
disabled: true
|
||||||
});
|
});
|
||||||
|
|
||||||
|
offlineEnableDisable = new Ext.Action({
|
||||||
|
id: 'offlineEnableDisable',
|
||||||
|
text: _('ID_OFFLINE_TABLES'),
|
||||||
|
iconCls: 'silk-add',
|
||||||
|
icon: '/images/offline-pin.png',
|
||||||
|
menu: [{
|
||||||
|
text: _('ID_OFFLINE_TABLES_ENABLE'),
|
||||||
|
handler: function () {
|
||||||
|
OfflineEnableDisablePMTable(true);
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
text: _('ID_OFFLINE_TABLES_DISABLE'),
|
||||||
|
handler: function () {
|
||||||
|
OfflineEnableDisablePMTable(false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
disabled: true
|
||||||
|
});
|
||||||
|
|
||||||
dataButton = new Ext.Action({
|
dataButton = new Ext.Action({
|
||||||
id: 'dataButton',
|
id: 'dataButton',
|
||||||
text: ' ' + _('ID_DATA'),
|
text: ' ' + _('ID_DATA'),
|
||||||
@@ -136,9 +153,9 @@ Ext.onReady(function(){
|
|||||||
|
|
||||||
if (_PLUGIN_SIMPLEREPORTS !== false) {
|
if (_PLUGIN_SIMPLEREPORTS !== false) {
|
||||||
externalOption = new Ext.Action({
|
externalOption = new Ext.Action({
|
||||||
text:'',
|
text: '',
|
||||||
iconCls: 'x-btn-text button_menu_ext ss_sprite ss_report_picture',
|
iconCls: 'x-btn-text button_menu_ext ss_sprite ss_report_picture',
|
||||||
handler: function() {
|
handler: function () {
|
||||||
updateTag('plugin@simplereport');
|
updateTag('plugin@simplereport');
|
||||||
},
|
},
|
||||||
disabled: false
|
disabled: false
|
||||||
@@ -146,7 +163,7 @@ Ext.onReady(function(){
|
|||||||
externalPermissions = new Ext.Action({
|
externalPermissions = new Ext.Action({
|
||||||
text: _('ID_PERMISSIONS'),
|
text: _('ID_PERMISSIONS'),
|
||||||
iconCls: 'x-btn-text button_menu_ext ss_sprite ss_key_add',
|
iconCls: 'x-btn-text button_menu_ext ss_sprite ss_key_add',
|
||||||
handler: function() {
|
handler: function () {
|
||||||
updateTagPermissions('plugin@simplereport');
|
updateTagPermissions('plugin@simplereport');
|
||||||
},
|
},
|
||||||
disabled: false
|
disabled: false
|
||||||
@@ -160,19 +177,19 @@ Ext.onReady(function(){
|
|||||||
items: contextMenuItems
|
items: contextMenuItems
|
||||||
});
|
});
|
||||||
|
|
||||||
searchText = new Ext.form.TextField ({
|
searchText = new Ext.form.TextField({
|
||||||
id: 'searchTxt',
|
id: 'searchTxt',
|
||||||
ctCls:'pm_search_text_field',
|
ctCls: 'pm_search_text_field',
|
||||||
allowBlank: true,
|
allowBlank: true,
|
||||||
width: 150,
|
width: 150,
|
||||||
emptyText: _('ID_EMPTY_SEARCH'),
|
emptyText: _('ID_EMPTY_SEARCH'),
|
||||||
listeners: {
|
listeners: {
|
||||||
specialkey: function(f,e){
|
specialkey: function (f, e) {
|
||||||
if (e.getKey() == e.ENTER) {
|
if (e.getKey() == e.ENTER) {
|
||||||
DoSearch();
|
DoSearch();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
focus: function(f,e) {
|
focus: function (f, e) {
|
||||||
var row = infoGrid.getSelectionModel().getSelected();
|
var row = infoGrid.getSelectionModel().getSelected();
|
||||||
infoGrid.getSelectionModel().deselectRow(infoGrid.getStore().indexOf(row));
|
infoGrid.getSelectionModel().deselectRow(infoGrid.getStore().indexOf(row));
|
||||||
}
|
}
|
||||||
@@ -182,28 +199,28 @@ Ext.onReady(function(){
|
|||||||
clearTextButton = new Ext.Action({
|
clearTextButton = new Ext.Action({
|
||||||
id: 'clearTextButton',
|
id: 'clearTextButton',
|
||||||
text: 'X',
|
text: 'X',
|
||||||
ctCls:'pm_search_x_button',
|
ctCls: 'pm_search_x_button',
|
||||||
handler: GridByDefault
|
handler: GridByDefault
|
||||||
});
|
});
|
||||||
|
|
||||||
storePageSize = new Ext.data.SimpleStore({
|
storePageSize = new Ext.data.SimpleStore({
|
||||||
fields: ['size'],
|
fields: ['size'],
|
||||||
data: [['20'],['30'],['40'],['50'],['100']],
|
data: [['20'], ['30'], ['40'], ['50'], ['100']],
|
||||||
autoLoad: true
|
autoLoad: true
|
||||||
});
|
});
|
||||||
|
|
||||||
comboPageSize = new Ext.form.ComboBox({
|
comboPageSize = new Ext.form.ComboBox({
|
||||||
id: 'comboPageSize',
|
id: 'comboPageSize',
|
||||||
typeAhead : false,
|
typeAhead: false,
|
||||||
mode : 'local',
|
mode: 'local',
|
||||||
triggerAction : 'all',
|
triggerAction: 'all',
|
||||||
store: storePageSize,
|
store: storePageSize,
|
||||||
valueField: 'size',
|
valueField: 'size',
|
||||||
displayField: 'size',
|
displayField: 'size',
|
||||||
width: 50,
|
width: 50,
|
||||||
editable: false,
|
editable: false,
|
||||||
listeners:{
|
listeners: {
|
||||||
select: function(c,d,i){
|
select: function (c, d, i) {
|
||||||
UpdatePageConfig(d.data['size']);
|
UpdatePageConfig(d.data['size']);
|
||||||
bbarpaging.pageSize = parseInt(d.data['size']);
|
bbarpaging.pageSize = parseInt(d.data['size']);
|
||||||
bbarpaging.moveFirst();
|
bbarpaging.moveFirst();
|
||||||
@@ -213,30 +230,31 @@ Ext.onReady(function(){
|
|||||||
|
|
||||||
comboPageSize.setValue(pageSize);
|
comboPageSize.setValue(pageSize);
|
||||||
|
|
||||||
store = new Ext.data.GroupingStore( {
|
store = new Ext.data.GroupingStore({
|
||||||
autoLoad: false,
|
autoLoad: false,
|
||||||
remoteSort: true,
|
remoteSort: true,
|
||||||
proxy : new Ext.data.HttpProxy({
|
proxy: new Ext.data.HttpProxy({
|
||||||
url: 'pmTablesProxy/getList' + (PRO_UID? '?pro_uid='+PRO_UID: '')
|
url: 'pmTablesProxy/getList' + (PRO_UID ? '?pro_uid=' + PRO_UID : '')
|
||||||
}),
|
}),
|
||||||
reader : new Ext.data.JsonReader( {
|
reader: new Ext.data.JsonReader({
|
||||||
root: 'rows',
|
root: 'rows',
|
||||||
totalProperty: 'count',
|
totalProperty: 'count',
|
||||||
fields : [
|
fields: [
|
||||||
{name : 'ADD_TAB_UID'},
|
{name: 'ADD_TAB_UID'},
|
||||||
{name : 'ADD_TAB_NAME'},
|
{name: 'ADD_TAB_NAME'},
|
||||||
{name : 'ADD_TAB_DESCRIPTION'},
|
{name: 'ADD_TAB_DESCRIPTION'},
|
||||||
{name : 'PRO_TITLE'},
|
{name: 'PRO_TITLE'},
|
||||||
{name : 'TYPE'},
|
{name: 'TYPE'},
|
||||||
{name : 'ADD_TAB_TYPE'},
|
{name: 'ADD_TAB_TYPE'},
|
||||||
{name : 'ADD_TAB_TAG'},
|
{name: 'ADD_TAB_TAG'},
|
||||||
{name : 'PRO_UID'},
|
{name: 'PRO_UID'},
|
||||||
{name : "DBS_UID"},
|
{name: "DBS_UID"},
|
||||||
{name : 'NUM_ROWS'}
|
{name: 'NUM_ROWS'},
|
||||||
|
{name: 'ADD_TAB_OFFLINE'}
|
||||||
]
|
]
|
||||||
}),
|
}),
|
||||||
listeners: {
|
listeners: {
|
||||||
load: function(a,b){
|
load: function (a, b) {
|
||||||
if (currentSelectedRow != -1) {
|
if (currentSelectedRow != -1) {
|
||||||
Ext.getCmp('infoGrid').getSelectionModel().selectRow(currentSelectedRow);
|
Ext.getCmp('infoGrid').getSelectionModel().selectRow(currentSelectedRow);
|
||||||
Ext.getCmp('infoGrid').fireEvent('rowclick', Ext.getCmp('infoGrid'), currentSelectedRow)
|
Ext.getCmp('infoGrid').fireEvent('rowclick', Ext.getCmp('infoGrid'), currentSelectedRow)
|
||||||
@@ -246,27 +264,30 @@ Ext.onReady(function(){
|
|||||||
});
|
});
|
||||||
|
|
||||||
chkSelModel = new Ext.grid.CheckboxSelectionModel({
|
chkSelModel = new Ext.grid.CheckboxSelectionModel({
|
||||||
listeners:{
|
listeners: {
|
||||||
selectionchange: function(sm){
|
selectionchange: function (sm) {
|
||||||
var count_rows = sm.getCount();
|
var count_rows = sm.getCount();
|
||||||
currentSelectedRow = sm.last;
|
currentSelectedRow = sm.last;
|
||||||
switch(count_rows){
|
switch (count_rows) {
|
||||||
case 0:
|
case 0:
|
||||||
editButton.disable();
|
editButton.disable();
|
||||||
deleteButton.disable();
|
deleteButton.disable();
|
||||||
exportButton.disable();
|
exportButton.disable();
|
||||||
|
offlineEnableDisable.disable();
|
||||||
dataButton.disable();
|
dataButton.disable();
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
editButton.enable();
|
editButton.enable();
|
||||||
deleteButton.enable();
|
deleteButton.enable();
|
||||||
exportButton.enable();
|
exportButton.enable();
|
||||||
|
offlineEnableDisable.enable();
|
||||||
dataButton.enable();
|
dataButton.enable();
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
editButton.disable();
|
editButton.disable();
|
||||||
deleteButton.enable();
|
deleteButton.enable();
|
||||||
exportButton.enable();
|
exportButton.enable();
|
||||||
|
offlineEnableDisable.enable();
|
||||||
dataButton.disable();
|
dataButton.disable();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -276,16 +297,17 @@ Ext.onReady(function(){
|
|||||||
|
|
||||||
cmodelColumns = new Array();
|
cmodelColumns = new Array();
|
||||||
cmodelColumns.push(chkSelModel);
|
cmodelColumns.push(chkSelModel);
|
||||||
cmodelColumns.push({id:'ADD_TAB_UID', dataIndex: 'ADD_TAB_UID', hidden:true, hideable:false});
|
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({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){
|
cmodelColumns.push({header: _('ID_NAME'), dataIndex: 'ADD_TAB_NAME', width: 300, align: 'left', renderer: function (v, p, r) {
|
||||||
return r.get('TYPE') == 'CLASSIC'? v + ' <span style="font-size:9px; color:green">('+ _('ID_OLD_VERSION') +')</font>' : v;
|
return r.get('TYPE') == 'CLASSIC' ? v + ' <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) {
|
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')) {
|
if (r.get('ADD_TAB_TAG')) {
|
||||||
tag = r.get('ADD_TAB_TAG').replace('plugin@', '');
|
tag = r.get('ADD_TAB_TAG').replace('plugin@', '');
|
||||||
tag = tag.charAt(0).toUpperCase() + tag.slice(1);
|
tag = tag.charAt(0).toUpperCase() + tag.slice(1);
|
||||||
switch(tag.toLowerCase()){
|
switch (tag.toLowerCase()) {
|
||||||
case 'simplereport':
|
case 'simplereport':
|
||||||
tag = _('ID_SIMPLE_REPORT');
|
tag = _('ID_SIMPLE_REPORT');
|
||||||
break;
|
break;
|
||||||
@@ -294,25 +316,33 @@ Ext.onReady(function(){
|
|||||||
|
|
||||||
v = Ext.util.Format.htmlEncode(v);
|
v = Ext.util.Format.htmlEncode(v);
|
||||||
|
|
||||||
return r.get("ADD_TAB_TAG") ? "<span style = \"font-size:9px; color:green\">" + tag + ":</span> "+ v : 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){
|
});
|
||||||
|
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';
|
color = r.get('PRO_UID') ? 'blue' : 'green';
|
||||||
value = r.get('PRO_UID') ? _('ID_REPORT_TABLE') : _('ID_PMTABLE');
|
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({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>';
|
return '<div style="text-align:' + (isNaN(v) ? 'left' : 'right') + ';">' + v + '</div>';
|
||||||
}});
|
}
|
||||||
|
});
|
||||||
|
|
||||||
if (PRO_UID === false) {
|
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({
|
cmodel = new Ext.grid.ColumnModel({
|
||||||
defaults: {
|
defaults: {
|
||||||
@@ -327,26 +357,26 @@ Ext.onReady(function(){
|
|||||||
pageSize: pageSize,
|
pageSize: pageSize,
|
||||||
store: store,
|
store: store,
|
||||||
displayInfo: true,
|
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'),
|
emptyMsg: _('ID_GRID_PAGE_NO_PMTABLES_MESSAGE'),
|
||||||
items: ['-',_('ID_PAGE_SIZE')+':',comboPageSize]
|
items: ['-', _('ID_PAGE_SIZE') + ':', comboPageSize]
|
||||||
});
|
});
|
||||||
|
|
||||||
infoGrid = new Ext.grid.GridPanel({
|
infoGrid = new Ext.grid.GridPanel({
|
||||||
region: 'center',
|
region: 'center',
|
||||||
layout: 'fit',
|
layout: 'fit',
|
||||||
id: 'infoGrid',
|
id: 'infoGrid',
|
||||||
height:100,
|
height: 100,
|
||||||
autoWidth : true,
|
autoWidth: true,
|
||||||
title : (PRO_UID? _('ID_REPORT_TABLES') : _('ID_PMTABLE')),
|
title: (PRO_UID ? _('ID_REPORT_TABLES') : _('ID_PMTABLE')),
|
||||||
stateful : true,
|
stateful: true,
|
||||||
stateId : 'gridList',
|
stateId: 'gridList',
|
||||||
enableColumnResize: true,
|
enableColumnResize: true,
|
||||||
enableHdMenu: true,
|
enableHdMenu: true,
|
||||||
frame:false,
|
frame: false,
|
||||||
columnLines: false,
|
columnLines: false,
|
||||||
viewConfig: {
|
viewConfig: {
|
||||||
forceFit:true
|
forceFit: true
|
||||||
},
|
},
|
||||||
store: store,
|
store: store,
|
||||||
loadMask: true,
|
loadMask: true,
|
||||||
@@ -355,10 +385,11 @@ Ext.onReady(function(){
|
|||||||
tbar: [
|
tbar: [
|
||||||
newButton,
|
newButton,
|
||||||
editButton,
|
editButton,
|
||||||
deleteButton,'-',
|
deleteButton, '-',
|
||||||
dataButton,'-' ,
|
dataButton, '-',
|
||||||
importButton,
|
importButton,
|
||||||
exportButton,
|
exportButton,
|
||||||
|
offlineEnableDisable,
|
||||||
'->',
|
'->',
|
||||||
searchText,
|
searchText,
|
||||||
clearTextButton,
|
clearTextButton,
|
||||||
@@ -366,12 +397,12 @@ Ext.onReady(function(){
|
|||||||
bbar: bbarpaging,
|
bbar: bbarpaging,
|
||||||
listeners: {
|
listeners: {
|
||||||
rowdblclick: EditPMTable,
|
rowdblclick: EditPMTable,
|
||||||
render: function(){
|
render: function () {
|
||||||
this.loadMask = new Ext.LoadMask(this.body, {msg: _('ID_LOADING_GRID')});
|
this.loadMask = new Ext.LoadMask(this.body, {msg: _('ID_LOADING_GRID')});
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
view: new Ext.grid.GroupingView({
|
view: new Ext.grid.GroupingView({
|
||||||
forceFit:true,
|
forceFit: true,
|
||||||
groupTextTpl: '{text}'
|
groupTextTpl: '{text}'
|
||||||
})
|
})
|
||||||
});
|
});
|
||||||
@@ -397,12 +428,14 @@ Ext.onReady(function(){
|
|||||||
} else {
|
} else {
|
||||||
externalOption.setDisabled(true);
|
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.on('contextmenu', function (evt) {
|
||||||
infoGrid.addListener('rowcontextmenu',onMessageContextMenu, this);
|
evt.preventDefault();
|
||||||
|
}, this);
|
||||||
|
infoGrid.addListener('rowcontextmenu', onMessageContextMenu, this);
|
||||||
|
|
||||||
viewport = new Ext.Viewport({
|
viewport = new Ext.Viewport({
|
||||||
layout: 'fit',
|
layout: 'fit',
|
||||||
@@ -413,82 +446,80 @@ Ext.onReady(function(){
|
|||||||
infoGrid.store.load();
|
infoGrid.store.load();
|
||||||
});
|
});
|
||||||
|
|
||||||
//Funtion Handles Context Menu Opening
|
//Function Handles Context Menu Opening
|
||||||
onMessageContextMenu = function (grid, rowIndex, e) {
|
onMessageContextMenu = function (grid, rowIndex, e) {
|
||||||
e.stopEvent();
|
e.stopEvent();
|
||||||
var coords = e.getXY();
|
var coords = e.getXY();
|
||||||
contextMenu.showAt([coords[0], coords[1]]);
|
contextMenu.showAt([coords[0], coords[1]]);
|
||||||
};
|
};
|
||||||
|
|
||||||
/////JS FUNCTIONS
|
// JS Functions
|
||||||
|
|
||||||
//Capitalize String Function
|
//Capitalize String Function
|
||||||
capitalize = function(s){
|
capitalize = function (s) {
|
||||||
s = s.toLowerCase();
|
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
|
//Do Nothing Function
|
||||||
DoNothing = function(){};
|
DoNothing = function () {};
|
||||||
|
|
||||||
//Load New PM Table Forms
|
//Load New PM Table Forms
|
||||||
NewReportTable = function() {
|
NewReportTable = function () {
|
||||||
if(PRO_UID !== false) {
|
if (PRO_UID !== false) {
|
||||||
location.href = 'pmTables/edit?PRO_UID='+PRO_UID+'&tableType=report&flagProcessmap='+flagProcessmap;
|
location.href = 'pmTables/edit?PRO_UID=' + PRO_UID + '&tableType=report&flagProcessmap=' + flagProcessmap;
|
||||||
} else {
|
} 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';
|
location.href = 'reportTables/reportTables_Edit?PRO_UID=' + PRO_UID;
|
||||||
//parent.reportTables2();
|
|
||||||
//parent.Pm.data.render.buildingBlocks.injector('reportTables2');
|
|
||||||
location.href = 'reportTables/reportTables_Edit?PRO_UID='+PRO_UID;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
newPMTable = function(){
|
newPMTable = function () {
|
||||||
location.href = 'pmTables/edit?tableType=table';
|
location.href = 'pmTables/edit?tableType=table';
|
||||||
};
|
};
|
||||||
|
|
||||||
EditPMTable = function(){
|
EditPMTable = function () {
|
||||||
var row = Ext.getCmp('infoGrid').getSelectionModel().getSelected();
|
var row = Ext.getCmp('infoGrid').getSelectionModel().getSelected();
|
||||||
|
|
||||||
if (row.data.TYPE != 'CLASSIC') {
|
if (row.data.TYPE != 'CLASSIC') {
|
||||||
tableType = row.data.PRO_UID ? 'report' : 'table';
|
tableType = row.data.PRO_UID ? 'report' : 'table';
|
||||||
proParam = PRO_UID !== false ? '&PRO_UID='+PRO_UID : '';
|
proParam = PRO_UID !== false ? '&PRO_UID=' + PRO_UID : '';
|
||||||
location.href = 'pmTables/edit?id='+row.data.ADD_TAB_UID+'&flagProcessmap='+flagProcessmap+'&tableType=' + tableType + proParam;
|
location.href = 'pmTables/edit?id=' + row.data.ADD_TAB_UID + '&flagProcessmap=' + flagProcessmap + '&tableType=' + tableType + proParam;
|
||||||
}
|
} else { //edit old report table
|
||||||
else { //edit old report table
|
location.href = 'reportTables/reportTables_Edit?REP_TAB_UID=' + row.data.ADD_TAB_UID
|
||||||
location.href = 'reportTables/reportTables_Edit?REP_TAB_UID='+row.data.ADD_TAB_UID
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
//Confirm PM Table Deletion Tasks
|
//Confirm PM Table Deletion Tasks
|
||||||
DeletePMTable = function() {
|
DeletePMTable = function () {
|
||||||
var rows = Ext.getCmp('infoGrid').getSelectionModel().getSelections();
|
var rows = Ext.getCmp('infoGrid').getSelectionModel().getSelections();
|
||||||
var selections = new Array();
|
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')};
|
selections[i] = {id: rows[i].get('ADD_TAB_UID'), type: rows[i].get('TYPE')};
|
||||||
}
|
}
|
||||||
|
|
||||||
Ext.Msg.confirm( _('ID_CONFIRM'), _('ID_CONFIRM_DELETE_PM_TABLE'),
|
Ext.Msg.confirm(_('ID_CONFIRM'), _('ID_CONFIRM_DELETE_PM_TABLE'),
|
||||||
function(btn, text) {
|
function (btn, text) {
|
||||||
if (btn == "yes") {
|
if (btn == "yes") {
|
||||||
Ext.Msg.show({
|
Ext.Msg.show({
|
||||||
title : '',
|
title: '',
|
||||||
msg : _('ID_REMOVING_SELECTED_TABLES'),
|
msg: _('ID_REMOVING_SELECTED_TABLES'),
|
||||||
wait:true,
|
wait: true,
|
||||||
waitConfig: {interval:500}
|
waitConfig: {interval: 500}
|
||||||
});
|
});
|
||||||
|
|
||||||
Ext.Ajax.request ({
|
Ext.Ajax.request({
|
||||||
url: 'pmTablesProxy/delete',
|
url: 'pmTablesProxy/delete',
|
||||||
params: {
|
params: {
|
||||||
rows: Ext.util.JSON.encode(selections)
|
rows: Ext.util.JSON.encode(selections)
|
||||||
},
|
},
|
||||||
success: function(resp){
|
success: function (resp) {
|
||||||
Ext.MessageBox.hide();
|
Ext.MessageBox.hide();
|
||||||
result = Ext.util.JSON.decode(resp.responseText);
|
result = Ext.util.JSON.decode(resp.responseText);
|
||||||
Ext.getCmp('infoGrid').getStore().reload();
|
Ext.getCmp('infoGrid').getStore().reload();
|
||||||
@@ -500,15 +531,16 @@ DeletePMTable = function() {
|
|||||||
PMExt.error(_("ID_ERROR"), result.message.nl2br());
|
PMExt.error(_("ID_ERROR"), result.message.nl2br());
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
failure: function(obj, resp){
|
failure: function (obj, resp) {
|
||||||
Ext.MessageBox.hide();
|
Ext.MessageBox.hide();
|
||||||
Ext.getCmp('infoGrid').getStore().reload();
|
Ext.getCmp('infoGrid').getStore().reload();
|
||||||
Ext.Msg.alert( _('ID_ERROR'), resp.result.message);
|
Ext.Msg.alert(_('ID_ERROR'), resp.result.message);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
editButton.disable();
|
editButton.disable();
|
||||||
deleteButton.disable();
|
deleteButton.disable();
|
||||||
exportButton.disable();
|
exportButton.disable();
|
||||||
|
offlineEnableDisable.disable();
|
||||||
dataButton.disable();
|
dataButton.disable();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -516,7 +548,7 @@ DeletePMTable = function() {
|
|||||||
};
|
};
|
||||||
|
|
||||||
//Load Import PM Table Form
|
//Load Import PM Table Form
|
||||||
ImportPMTable = function(){
|
ImportPMTable = function () {
|
||||||
|
|
||||||
var aOverwrite,
|
var aOverwrite,
|
||||||
aRelated,
|
aRelated,
|
||||||
@@ -532,12 +564,11 @@ ImportPMTable = function(){
|
|||||||
resizable: false,
|
resizable: false,
|
||||||
items: [
|
items: [
|
||||||
new Ext.FormPanel({
|
new Ext.FormPanel({
|
||||||
/*renderTo: 'form-panel',*/
|
id: 'uploader',
|
||||||
id:'uploader',
|
|
||||||
fileUpload: true,
|
fileUpload: true,
|
||||||
width: 400,
|
width: 400,
|
||||||
frame: true,
|
frame: true,
|
||||||
title: (PRO_UID? _('ID_IMPORT_RT') : _('ID_IMPORT_PMT')),
|
title: (PRO_UID ? _('ID_IMPORT_RT') : _('ID_IMPORT_PMT')),
|
||||||
autoHeight: false,
|
autoHeight: false,
|
||||||
bodyStyle: 'padding: 10px 10px 0 10px;',
|
bodyStyle: 'padding: 10px 10px 0 10px;',
|
||||||
labelWidth: 50,
|
labelWidth: 50,
|
||||||
@@ -559,7 +590,7 @@ ImportPMTable = function(){
|
|||||||
}, {
|
}, {
|
||||||
xtype: 'hidden',
|
xtype: 'hidden',
|
||||||
name: 'form[TYPE_TABLE]',
|
name: 'form[TYPE_TABLE]',
|
||||||
value: (PRO_UID? 'designer' : 'admin')
|
value: (PRO_UID ? 'designer' : 'admin')
|
||||||
}, {
|
}, {
|
||||||
xtype: 'hidden',
|
xtype: 'hidden',
|
||||||
name: 'form[PRO_UID]',
|
name: 'form[PRO_UID]',
|
||||||
@@ -581,8 +612,7 @@ ImportPMTable = function(){
|
|||||||
|
|
||||||
if (result.success) {
|
if (result.success) {
|
||||||
PMExt.notify('', result.message);
|
PMExt.notify('', result.message);
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
win = new Ext.Window({
|
win = new Ext.Window({
|
||||||
id: 'windowImportingError',
|
id: 'windowImportingError',
|
||||||
applyTo: 'hello-win',
|
applyTo: 'hello-win',
|
||||||
@@ -593,7 +623,6 @@ ImportPMTable = function(){
|
|||||||
plain: true,
|
plain: true,
|
||||||
html: '<h3>' + _('ID_IMPORTING_ERROR') + '</h3>' + result.message,
|
html: '<h3>' + _('ID_IMPORTING_ERROR') + '</h3>' + result.message,
|
||||||
items: [],
|
items: [],
|
||||||
|
|
||||||
buttons: [{
|
buttons: [{
|
||||||
text: 'Close',
|
text: 'Close',
|
||||||
handler: function () {
|
handler: function () {
|
||||||
@@ -648,10 +677,10 @@ ImportPMTable = function(){
|
|||||||
Ext.MessageBox.alert(_("ID_ERROR"), _("ID_FILE_UPLOAD_INCORRECT_EXTENSION"));
|
Ext.MessageBox.alert(_("ID_ERROR"), _("ID_FILE_UPLOAD_INCORRECT_EXTENSION"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},{
|
}, {
|
||||||
id: 'importPMTableButtonCancel',
|
id: 'importPMTableButtonCancel',
|
||||||
text: TRANSLATIONS.ID_CANCEL,
|
text: TRANSLATIONS.ID_CANCEL,
|
||||||
handler: function(){
|
handler: function () {
|
||||||
w.close();
|
w.close();
|
||||||
}
|
}
|
||||||
}]
|
}]
|
||||||
@@ -662,17 +691,17 @@ ImportPMTable = function(){
|
|||||||
}
|
}
|
||||||
|
|
||||||
//Load Export PM Tables Form
|
//Load Export PM Tables Form
|
||||||
ExportPMTable = function(){
|
ExportPMTable = function () {
|
||||||
var rows = Ext.getCmp('infoGrid').getSelectionModel().getSelections();
|
var rows = Ext.getCmp('infoGrid').getSelectionModel().getSelections();
|
||||||
var toExportRows = new Array();
|
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') == '') {
|
if (rows[i].get('TYPE') == '') {
|
||||||
toExportRows.push([
|
toExportRows.push([
|
||||||
rows[i].get('ADD_TAB_UID'),
|
rows[i].get('ADD_TAB_UID'),
|
||||||
rows[i].get('PRO_UID'),
|
rows[i].get('PRO_UID'),
|
||||||
rows[i].get('ADD_TAB_NAME'),
|
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,
|
true,
|
||||||
(rows[i].get('PRO_UID') ? false : true)
|
(rows[i].get('PRO_UID') ? false : true)
|
||||||
]);
|
]);
|
||||||
@@ -684,12 +713,11 @@ ExportPMTable = function(){
|
|||||||
};
|
};
|
||||||
|
|
||||||
//Load PM TAble Data
|
//Load PM TAble Data
|
||||||
PMTableData = function()
|
PMTableData = function ()
|
||||||
{
|
{
|
||||||
var row = Ext.getCmp('infoGrid').getSelectionModel().getSelected();
|
var row = Ext.getCmp('infoGrid').getSelectionModel().getSelected();
|
||||||
var type = row.get('PRO_UID');
|
var type = row.get('PRO_UID');
|
||||||
|
|
||||||
//location.href = 'pmTables/data?id='+row.get('ADD_TAB_UID');
|
|
||||||
if (row.get('TYPE') != '') {
|
if (row.get('TYPE') != '') {
|
||||||
PMExt.info(_('ID_INFO'), _('ID_DATA_LIST_NOT_AVAILABLE_FOR_OLDVER'));
|
PMExt.info(_('ID_INFO'), _('ID_DATA_LIST_NOT_AVAILABLE_FOR_OLDVER'));
|
||||||
return;
|
return;
|
||||||
@@ -700,19 +728,18 @@ PMTableData = function()
|
|||||||
layout: 'fit',
|
layout: 'fit',
|
||||||
width: 700,
|
width: 700,
|
||||||
height: 400,
|
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,
|
modal: true,
|
||||||
maximizable: true,
|
maximizable: true,
|
||||||
constrain: true,
|
constrain: true,
|
||||||
//closeAction:'hide',
|
|
||||||
plain: true,
|
plain: true,
|
||||||
items: [{
|
items: [{
|
||||||
xtype:"iframepanel",
|
xtype: "iframepanel",
|
||||||
defaultSrc : 'pmTables/data?id='+row.get('ADD_TAB_UID')+'&type='+row.get('TYPE'),
|
defaultSrc: 'pmTables/data?id=' + row.get('ADD_TAB_UID') + '&type=' + row.get('TYPE'),
|
||||||
loadMask:{msg: _('ID_LOADING')}
|
loadMask: {msg: _('ID_LOADING')}
|
||||||
}],
|
}],
|
||||||
listeners: {
|
listeners: {
|
||||||
close: function() {
|
close: function () {
|
||||||
store.reload();
|
store.reload();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -722,30 +749,30 @@ PMTableData = function()
|
|||||||
};
|
};
|
||||||
|
|
||||||
//Gets UIDs from a array of rows
|
//Gets UIDs from a array of rows
|
||||||
RetrieveRowsID = function(rows){
|
RetrieveRowsID = function (rows) {
|
||||||
var arrAux = new Array();
|
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');
|
arrAux[c] = rows[c].get('ADD_TAB_UID');
|
||||||
}
|
}
|
||||||
return arrAux.join(',');
|
return arrAux.join(',');
|
||||||
};
|
};
|
||||||
|
|
||||||
//Update Page Size Configuration
|
//Update Page Size Configuration
|
||||||
UpdatePageConfig = function(pageSize){
|
UpdatePageConfig = function (pageSize) {
|
||||||
Ext.Ajax.request({
|
Ext.Ajax.request({
|
||||||
url: 'additionalTablesAjax',
|
url: 'additionalTablesAjax',
|
||||||
params: {action:'updatePageSize', size: pageSize}
|
params: {action: 'updatePageSize', size: pageSize}
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
//Do Search Function
|
//Do Search Function
|
||||||
DoSearch = function(){
|
DoSearch = function () {
|
||||||
infoGrid.store.setBaseParam('textFilter', searchText.getValue());
|
infoGrid.store.setBaseParam('textFilter', searchText.getValue());
|
||||||
infoGrid.store.load();
|
infoGrid.store.load();
|
||||||
};
|
};
|
||||||
|
|
||||||
//Load Grid By Default
|
//Load Grid By Default
|
||||||
GridByDefault = function(){
|
GridByDefault = function () {
|
||||||
searchText.reset();
|
searchText.reset();
|
||||||
infoGrid.store.setBaseParam('textFilter', searchText.getValue());
|
infoGrid.store.setBaseParam('textFilter', searchText.getValue());
|
||||||
infoGrid.store.load();
|
infoGrid.store.load();
|
||||||
@@ -759,31 +786,31 @@ function updateTag(value)
|
|||||||
url: 'pmTablesProxy/updateTag',
|
url: 'pmTablesProxy/updateTag',
|
||||||
params: {
|
params: {
|
||||||
ADD_TAB_UID: rowsSelected[0].get('ADD_TAB_UID'),
|
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();
|
Ext.getCmp('infoGrid').store.reload();
|
||||||
},
|
},
|
||||||
failure: function(obj, resp){
|
failure: function (obj, resp) {
|
||||||
Ext.Msg.alert( _('ID_ERROR'), resp.result.msg);
|
Ext.Msg.alert(_('ID_ERROR'), resp.result.msg);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function updateTagPermissions(){
|
function updateTagPermissions() {
|
||||||
var rowsSelected = Ext.getCmp('infoGrid').getSelectionModel().getSelections();
|
var rowsSelected = Ext.getCmp('infoGrid').getSelectionModel().getSelections();
|
||||||
if (rowsSelected){
|
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;
|
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) {
|
function PopupCenter(pageURL, title, w, h) {
|
||||||
var left = (Ext.getBody().getViewSize().width/3);
|
var left = (Ext.getBody().getViewSize().width / 3);
|
||||||
var top = (Ext.getBody().getViewSize().height/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);
|
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 = [],
|
var jsonDataArray = [],
|
||||||
i,
|
i,
|
||||||
fieldMessage,
|
fieldMessage,
|
||||||
@@ -797,57 +824,57 @@ function pmtablesErrors(aOverwrite,aRelated,aMessage){
|
|||||||
nameId,
|
nameId,
|
||||||
number;
|
number;
|
||||||
//Show the error message ERROR_PROCESS_NOT_EXIST or ERROR_NO_REPORT_TABLE
|
//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 = {
|
fieldMessage = {
|
||||||
xtype : 'fieldset',
|
xtype: 'fieldset',
|
||||||
title : aMessage[i]['ERROR_MESS'],
|
title: aMessage[i]['ERROR_MESS'],
|
||||||
id : aMessage[i]['NAME_TABLE'],
|
id: aMessage[i]['NAME_TABLE'],
|
||||||
autoHeight : true
|
autoHeight: true
|
||||||
};
|
};
|
||||||
jsonDataArray.push(fieldMessage);
|
jsonDataArray.push(fieldMessage);
|
||||||
}
|
}
|
||||||
//Check the ERROR_OVERWRITE_RELATED_PROCESS
|
//Check the ERROR_OVERWRITE_RELATED_PROCESS
|
||||||
for (i = 0; i < aRelated.length; i++){
|
for (i = 0; i < aRelated.length; i++) {
|
||||||
fieldRadio2Options = {
|
fieldRadio2Options = {
|
||||||
xtype : 'fieldset',
|
xtype: 'fieldset',
|
||||||
title : aRelated[i]['ERROR_MESS'],
|
title: aRelated[i]['ERROR_MESS'],
|
||||||
id : aRelated[i]['NAME_TABLE'],
|
id: aRelated[i]['NAME_TABLE'],
|
||||||
autoHeight : true,
|
autoHeight: true,
|
||||||
defaultType: 'radio', // each item will be a radio button
|
defaultType: 'radio', // each item will be a radio button
|
||||||
items: [{
|
items: [{
|
||||||
checked : true,
|
checked: true,
|
||||||
boxLabel : _('ID_RADIO_RELATED_PROCESS'),
|
boxLabel: _('ID_RADIO_RELATED_PROCESS'),
|
||||||
name : aRelated[i]['NAME_TABLE'],
|
name: aRelated[i]['NAME_TABLE'],
|
||||||
inputValue : 'related'
|
inputValue: 'related'
|
||||||
}, {
|
}, {
|
||||||
boxLabel : _('ID_RADIO_NOT_IMPORTED_RPT'),
|
boxLabel: _('ID_RADIO_NOT_IMPORTED_RPT'),
|
||||||
name : aRelated[i]['NAME_TABLE'],
|
name: aRelated[i]['NAME_TABLE'],
|
||||||
inputValue : 'no'
|
inputValue: 'no'
|
||||||
}]
|
}]
|
||||||
};
|
};
|
||||||
jsonDataArray.push(fieldRadio2Options);
|
jsonDataArray.push(fieldRadio2Options);
|
||||||
}
|
}
|
||||||
// check the ERROR_PM_TABLES_OVERWRITE or ERROR_RP_TABLES_OVERWRITE
|
// 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 = {
|
fieldRadio3Options = {
|
||||||
xtype : 'fieldset',
|
xtype: 'fieldset',
|
||||||
title : aOverwrite[i]['ERROR_MESS'],
|
title: aOverwrite[i]['ERROR_MESS'],
|
||||||
id : aOverwrite[i]['NAME_TABLE'],
|
id: aOverwrite[i]['NAME_TABLE'],
|
||||||
autoHeight : true,
|
autoHeight: true,
|
||||||
defaultType : 'radio', // each item will be a radio button
|
defaultType: 'radio', // each item will be a radio button
|
||||||
items: [{
|
items: [{
|
||||||
boxLabel : _('ID_RADIO_CREATE_NEW'),
|
boxLabel: _('ID_RADIO_CREATE_NEW'),
|
||||||
name : aOverwrite[i]['NAME_TABLE'],
|
name: aOverwrite[i]['NAME_TABLE'],
|
||||||
inputValue : 'new'
|
inputValue: 'new'
|
||||||
}, {
|
}, {
|
||||||
boxLabel : _('ID_RADIO_OVERWRITE'),
|
boxLabel: _('ID_RADIO_OVERWRITE'),
|
||||||
name : aOverwrite[i]['NAME_TABLE'],
|
name: aOverwrite[i]['NAME_TABLE'],
|
||||||
inputValue : 'overwrite'
|
inputValue: 'overwrite'
|
||||||
}, {
|
}, {
|
||||||
checked : true,
|
checked: true,
|
||||||
boxLabel : _('ID_RADIO_NOT_IMPORTED'),
|
boxLabel: _('ID_RADIO_NOT_IMPORTED'),
|
||||||
name : aOverwrite[i]['NAME_TABLE'],
|
name: aOverwrite[i]['NAME_TABLE'],
|
||||||
inputValue : 'no'
|
inputValue: 'no'
|
||||||
}]
|
}]
|
||||||
};
|
};
|
||||||
jsonDataArray.push(fieldRadio3Options);
|
jsonDataArray.push(fieldRadio3Options);
|
||||||
@@ -855,51 +882,51 @@ function pmtablesErrors(aOverwrite,aRelated,aMessage){
|
|||||||
|
|
||||||
number = Math.floor((Math.random() * 100) + 1);
|
number = Math.floor((Math.random() * 100) + 1);
|
||||||
win = new Ext.Window({
|
win = new Ext.Window({
|
||||||
id : 'winPmtableRptableErrors'+number,
|
id: 'winPmtableRptableErrors' + number,
|
||||||
layout : 'fit',
|
layout: 'fit',
|
||||||
width : 700,
|
width: 700,
|
||||||
height : 400,
|
height: 400,
|
||||||
title : _('ID_WARNING_PMTABLES'),
|
title: _('ID_WARNING_PMTABLES'),
|
||||||
modal : true,
|
modal: true,
|
||||||
maximizable: true,
|
maximizable: true,
|
||||||
constrain : true,
|
constrain: true,
|
||||||
plain : true,
|
plain: true,
|
||||||
autoScroll : true,
|
autoScroll: true,
|
||||||
items : jsonDataArray,
|
items: jsonDataArray,
|
||||||
buttons : [{
|
buttons: [{
|
||||||
text : _('ID_CONTINUE'),
|
text: _('ID_CONTINUE'),
|
||||||
handler: function(){
|
handler: function () {
|
||||||
tablesOfNo = '';
|
tablesOfNo = '';
|
||||||
tablesOfYes = '';
|
tablesOfYes = '';
|
||||||
tablesOfNew = '';
|
tablesOfNew = '';
|
||||||
for (i = 0; i < aMessage.length; i++){
|
for (i = 0; i < aMessage.length; i++) {
|
||||||
nameId = aMessage[i]['NAME_TABLE'];
|
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'];
|
nameId = aRelated[i]['NAME_TABLE'];
|
||||||
valueSelected = Ext.getCmp(nameId).items.get(0).getGroupValue();
|
valueSelected = Ext.getCmp(nameId).items.get(0).getGroupValue();
|
||||||
switch(valueSelected) {
|
switch (valueSelected) {
|
||||||
case 'related':
|
case 'related':
|
||||||
tablesOfYes = tablesOfYes.concat('|',nameId);
|
tablesOfYes = tablesOfYes.concat('|', nameId);
|
||||||
break;
|
break;
|
||||||
case 'no':
|
case 'no':
|
||||||
tablesOfNo = tablesOfNo.concat('|',nameId);
|
tablesOfNo = tablesOfNo.concat('|', nameId);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
for (i = 0; i < aOverwrite.length; i++){
|
for (i = 0; i < aOverwrite.length; i++) {
|
||||||
nameId = aOverwrite[i]['NAME_TABLE'];
|
nameId = aOverwrite[i]['NAME_TABLE'];
|
||||||
valueSelected = Ext.getCmp(nameId).items.get(0).getGroupValue();
|
valueSelected = Ext.getCmp(nameId).items.get(0).getGroupValue();
|
||||||
switch(valueSelected) {
|
switch (valueSelected) {
|
||||||
case 'new':
|
case 'new':
|
||||||
tablesOfNew = tablesOfNew.concat('|',nameId);
|
tablesOfNew = tablesOfNew.concat('|', nameId);
|
||||||
break;
|
break;
|
||||||
case 'overwrite':
|
case 'overwrite':
|
||||||
tablesOfYes = tablesOfYes.concat('|',nameId);
|
tablesOfYes = tablesOfYes.concat('|', nameId);
|
||||||
break;
|
break;
|
||||||
case 'no':
|
case 'no':
|
||||||
tablesOfNo = tablesOfNo.concat('|',nameId);
|
tablesOfNo = tablesOfNo.concat('|', nameId);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -907,42 +934,78 @@ function pmtablesErrors(aOverwrite,aRelated,aMessage){
|
|||||||
Ext.Ajax.request({
|
Ext.Ajax.request({
|
||||||
url: 'pmTablesProxy/import',
|
url: 'pmTablesProxy/import',
|
||||||
params: {
|
params: {
|
||||||
'form[FROM_CONFIRM]':'yes',
|
'form[FROM_CONFIRM]': 'yes',
|
||||||
'form[TYPE_TABLE]':(PRO_UID? 'designer' : 'admin'),
|
'form[TYPE_TABLE]': (PRO_UID ? 'designer' : 'admin'),
|
||||||
'form[OVERWRITE]':true,
|
'form[OVERWRITE]': true,
|
||||||
'form[TABLES_OF_NO]':tablesOfNo,
|
'form[TABLES_OF_NO]': tablesOfNo,
|
||||||
'form[TABLES_OF_YES]':tablesOfYes,
|
'form[TABLES_OF_YES]': tablesOfYes,
|
||||||
'form[TABLES_OF_NEW]':tablesOfNew
|
'form[TABLES_OF_NEW]': tablesOfNew
|
||||||
},
|
},
|
||||||
success: function(resp){
|
success: function (resp) {
|
||||||
var result = Ext.util.JSON.decode(resp.responseText);
|
var result = Ext.util.JSON.decode(resp.responseText);
|
||||||
if (result.success) {
|
if (result.success) {
|
||||||
PMExt.notify('', result.message);
|
PMExt.notify('', result.message);
|
||||||
Ext.getCmp('infoGrid').getStore().reload();
|
Ext.getCmp('infoGrid').getStore().reload();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
failure: function(obj, resp){
|
failure: function (obj, resp) {
|
||||||
var result = Ext.util.JSON.decode(resp.responseText);
|
var result = Ext.util.JSON.decode(resp.responseText);
|
||||||
Ext.getCmp('infoGrid').getStore().reload();
|
Ext.getCmp('infoGrid').getStore().reload();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
},{
|
}, {
|
||||||
text: _('ID_CANCEL'),
|
text: _('ID_CANCEL'),
|
||||||
handler: function(){
|
handler: function () {
|
||||||
win.close();
|
win.close();
|
||||||
}
|
}
|
||||||
}]
|
}]
|
||||||
});
|
});
|
||||||
win.show();
|
win.show();
|
||||||
|
|
||||||
for (i = 0; i < aMessage.length; i++){
|
for (i = 0; i < aMessage.length; i++) {
|
||||||
Ext.get(aMessage[i]['NAME_TABLE']).setStyle({border: '0', marginTop:'0'} );
|
Ext.get(aMessage[i]['NAME_TABLE']).setStyle({border: '0', marginTop: '0'});
|
||||||
}
|
}
|
||||||
for (i = 0; i < aRelated.length; i++){
|
for (i = 0; i < aRelated.length; i++) {
|
||||||
Ext.get(aRelated[i]['NAME_TABLE']).setStyle({border: '0', marginTop:'0'} );
|
Ext.get(aRelated[i]['NAME_TABLE']).setStyle({border: '0', marginTop: '0'});
|
||||||
}
|
}
|
||||||
for (i = 0; i < aOverwrite.length; i++){
|
for (i = 0; i < aOverwrite.length; i++) {
|
||||||
Ext.get(aOverwrite[i]['NAME_TABLE']).setStyle({border: '0', marginTop:'0'} );
|
Ext.get(aOverwrite[i]['NAME_TABLE']).setStyle({border: '0', marginTop: '0'});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function OfflineEnableDisablePMTable(enableDisable) {
|
||||||
|
var rows = Ext.getCmp('infoGrid').getSelectionModel().getSelections();
|
||||||
|
if (rows.length <= 0) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
var selections = [];
|
||||||
|
for (var i = 0; i < rows.length; i++) {
|
||||||
|
selections[i] = {
|
||||||
|
id: rows[i].get('ADD_TAB_UID'),
|
||||||
|
type: rows[i].get('ADD_TAB_TYPE'),
|
||||||
|
offline: enableDisable
|
||||||
|
};
|
||||||
|
}
|
||||||
|
Ext.Ajax.request({
|
||||||
|
url: 'pmTablesProxy/updateOffline',
|
||||||
|
params: {
|
||||||
|
rows: Ext.util.JSON.encode(selections)
|
||||||
|
},
|
||||||
|
success: function (response) {
|
||||||
|
Ext.MessageBox.hide();
|
||||||
|
var result = Ext.util.JSON.decode(response.responseText);
|
||||||
|
if (result.success) {
|
||||||
|
PMExt.notify(_("ID_OFFLINE_TABLES"), result.message.nl2br());
|
||||||
|
} else {
|
||||||
|
PMExt.error(_("ID_ERROR"), result.message.nl2br());
|
||||||
|
}
|
||||||
|
Ext.getCmp('infoGrid').getStore().reload();
|
||||||
|
},
|
||||||
|
failure: function (target, response) {
|
||||||
|
Ext.MessageBox.hide();
|
||||||
|
Ext.getCmp('infoGrid').getStore().reload();
|
||||||
|
Ext.Msg.alert(_('ID_ERROR'), response.result.message);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|||||||
BIN
workflow/public_html/images/offline-pin.png
Normal file
BIN
workflow/public_html/images/offline-pin.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 317 B |
Reference in New Issue
Block a user