From bda8f1d4ec51fd9412dd88c7bba8888bfea3ce8f Mon Sep 17 00:00:00 2001 From: Paula Quispe Date: Wed, 4 Aug 2021 16:13:22 -0400 Subject: [PATCH 01/10] PMCORE-965 --- gulliver/system/class.rbac.php | 6 +-- rbac/engine/data/mysql/insert.sql | 3 -- workflow/engine/classes/WorkspaceTools.php | 22 ++++++++++ .../translations/english/processmaker.en.po | 36 --------------- workflow/engine/data/mysql/insert.sql | 1 - workflow/engine/menus/setup.php | 10 ----- .../methods/setup/processHeartBeatConfig.php | 38 ---------------- .../xmlform/setup/processHeartBeatConfig.html | 44 ------------------- .../xmlform/setup/processHeartBeatConfig.xml | 22 ---------- 9 files changed, 23 insertions(+), 159 deletions(-) delete mode 100644 workflow/engine/methods/setup/processHeartBeatConfig.php delete mode 100644 workflow/engine/xmlform/setup/processHeartBeatConfig.html delete mode 100644 workflow/engine/xmlform/setup/processHeartBeatConfig.xml diff --git a/gulliver/system/class.rbac.php b/gulliver/system/class.rbac.php index a16fb0f54..00b430293 100644 --- a/gulliver/system/class.rbac.php +++ b/gulliver/system/class.rbac.php @@ -409,11 +409,7 @@ class RBAC "PER_CODE" => "PM_SETUP_CLEAR_CACHE", "PER_NAME" => "Setup Clear Cache" ], - [ - "PER_UID" => "00000000000000000000000000000025", - "PER_CODE" => "PM_SETUP_HEART_BEAT", - "PER_NAME" => "Setup Heart Beat" - ], + // The 00000000000000000000000000000025 was deleted related to the heart beat [ "PER_UID" => "00000000000000000000000000000026", "PER_CODE" => "PM_SETUP_ENVIRONMENT", diff --git a/rbac/engine/data/mysql/insert.sql b/rbac/engine/data/mysql/insert.sql index 41e5e9a1a..9532b006c 100755 --- a/rbac/engine/data/mysql/insert.sql +++ b/rbac/engine/data/mysql/insert.sql @@ -23,7 +23,6 @@ INSERT INTO `RBAC_PERMISSIONS` VALUES ('00000000000000000000000000000022','PM_SETUP_CALENDAR','2016-03-01 00:00:00','2016-03-01 00:00:00',1,'00000000000000000000000000000002'), ('00000000000000000000000000000023','PM_SETUP_PROCESS_CATEGORIES','2016-03-01 00:00:00','2016-03-01 00:00:00',1,'00000000000000000000000000000002'), ('00000000000000000000000000000024','PM_SETUP_CLEAR_CACHE','2016-03-01 00:00:00','2016-03-01 00:00:00',1,'00000000000000000000000000000002'), -('00000000000000000000000000000025','PM_SETUP_HEART_BEAT','2016-03-01 00:00:00','2016-03-01 00:00:00',1,'00000000000000000000000000000002'), ('00000000000000000000000000000026','PM_SETUP_ENVIRONMENT','2016-03-01 00:00:00','2016-03-01 00:00:00',1,'00000000000000000000000000000002'), ('00000000000000000000000000000027','PM_SETUP_PM_TABLES','2016-03-01 00:00:00','2016-03-01 00:00:00',1,'00000000000000000000000000000002'), ('00000000000000000000000000000028','PM_SETUP_LOGIN','2016-03-01 00:00:00','2016-03-01 00:00:00',1,'00000000000000000000000000000002'), @@ -105,7 +104,6 @@ INSERT INTO `RBAC_ROLES_PERMISSIONS` VALUES ('00000000000000000000000000000002','00000000000000000000000000000022'), ('00000000000000000000000000000002','00000000000000000000000000000023'), ('00000000000000000000000000000002','00000000000000000000000000000024'), -('00000000000000000000000000000002','00000000000000000000000000000025'), ('00000000000000000000000000000002','00000000000000000000000000000026'), ('00000000000000000000000000000002','00000000000000000000000000000027'), ('00000000000000000000000000000002','00000000000000000000000000000028'), @@ -187,7 +185,6 @@ INSERT INTO `RBAC_ROLES_PERMISSIONS` VALUES ('00000000000000000000000000000004','00000000000000000000000000000022'), ('00000000000000000000000000000004','00000000000000000000000000000023'), ('00000000000000000000000000000004','00000000000000000000000000000024'), -('00000000000000000000000000000004','00000000000000000000000000000025'), ('00000000000000000000000000000004','00000000000000000000000000000026'), ('00000000000000000000000000000004','00000000000000000000000000000027'), ('00000000000000000000000000000004','00000000000000000000000000000028'), diff --git a/workflow/engine/classes/WorkspaceTools.php b/workflow/engine/classes/WorkspaceTools.php index d4ac249c0..486388036 100644 --- a/workflow/engine/classes/WorkspaceTools.php +++ b/workflow/engine/classes/WorkspaceTools.php @@ -3325,6 +3325,8 @@ class WorkspaceTools */ public function checkRbacPermissions() { + CLI::logging("-> Remove the permissions depreacated in RBAC \n"); + $this->removePermission(); CLI::logging("-> Verifying roles permissions in RBAC \n"); //Update table RBAC permissions $RBAC = RBAC::getSingleton(); @@ -4079,6 +4081,26 @@ class WorkspaceTools CLI::logging(" Migrating Self-Service by Value Cases Done \n"); } + /** + * Remove the permissions deprecated + */ + public function removePermission() + { + // Initializing + $this->initPropel(true); + $con = Propel::getConnection(RbacUsersPeer::DATABASE_NAME); + // Remove the permission PM_SETUP_HEART_BEAT + CLI::logging("-> Remove permission PM_SETUP_HEART_BEAT \n"); + $con->begin(); + $stmt = $con->createStatement(); + $rs = $stmt->executeQuery("DELETE FROM RBAC_ROLES_PERMISSIONS WHERE PER_UID = '00000000000000000000000000000025'"); + $con->commit(); + $con->begin(); + $stmt = $con->createStatement(); + $rs = $stmt->executeQuery("DELETE FROM RBAC_PERMISSIONS WHERE PER_UID = '00000000000000000000000000000025'"); + $con->commit(); + } + /** * Populate new fields used for avoiding the use of the "APP_CACHE_VIEW" table */ diff --git a/workflow/engine/content/translations/english/processmaker.en.po b/workflow/engine/content/translations/english/processmaker.en.po index 8d825507e..55eec5ea3 100755 --- a/workflow/engine/content/translations/english/processmaker.en.po +++ b/workflow/engine/content/translations/english/processmaker.en.po @@ -43785,42 +43785,6 @@ msgstr "" msgid "[setup/plugin_ListOptions.xml?MNU_IMPORT] Import" msgstr "Import" -# setup/processHeartBeatConfig.xml?HB_TITLE -# setup/processHeartBeatConfig.xml -#: title - HB_TITLE -msgid "Processmaker Heartbeat" -msgstr "Processmaker Heartbeat" - -# setup/processHeartBeatConfig.xml?HB_OPTION -# setup/processHeartBeatConfig.xml -#: dropdown - HB_OPTION -msgid "Enable Heartbeat" -msgstr "Enable Heartbeat" - -# setup/processHeartBeatConfig.xml?HB_OPTION-0 -# setup/processHeartBeatConfig.xml -#: dropdown - HB_OPTION - 0 -msgid "[setup/processHeartBeatConfig.xml?HB_OPTION-0]" -msgstr "No" - -# setup/processHeartBeatConfig.xml?HB_OPTION-1 -# setup/processHeartBeatConfig.xml -#: dropdown - HB_OPTION - 1 -msgid "[setup/processHeartBeatConfig.xml?HB_OPTION-1]" -msgstr "Yes" - -# setup/processHeartBeatConfig.xml?HB_SAVE -# setup/processHeartBeatConfig.xml -#: button - HB_SAVE -msgid "[setup/processHeartBeatConfig.xml?HB_SAVE] save" -msgstr "save" - -# setup/processHeartBeatConfig.xml?HB_LINKINFO -# setup/processHeartBeatConfig.xml -#: link - HB_LINKINFO -msgid "[setup/processHeartBeatConfig.xml?HB_LINKINFO] Read Online Documentation" -msgstr "Read Online Documentation" - # setup/showMessage.xml?TITLE # setup/showMessage.xml #: title - TITLE diff --git a/workflow/engine/data/mysql/insert.sql b/workflow/engine/data/mysql/insert.sql index b40a740d7..5a6251fad 100755 --- a/workflow/engine/data/mysql/insert.sql +++ b/workflow/engine/data/mysql/insert.sql @@ -30,7 +30,6 @@ INSERT INTO CONTENT (CON_CATEGORY,CON_PARENT,CON_ID,CON_LANG,CON_VALUE) VALUES ('PER_NAME','','00000000000000000000000000000022','en','Setup Calendar'), ('PER_NAME','','00000000000000000000000000000023','en','Setup Process Categories'), ('PER_NAME','','00000000000000000000000000000024','en','Setup Clear Cache'), -('PER_NAME','','00000000000000000000000000000025','en','Setup Heart Beat'), ('PER_NAME','','00000000000000000000000000000026','en','Setup Environment'), ('PER_NAME','','00000000000000000000000000000027','en','Setup PM Tables'), ('PER_NAME','','00000000000000000000000000000028','en','Setup Login'), diff --git a/workflow/engine/menus/setup.php b/workflow/engine/menus/setup.php index cc6d1d854..7aca46ec4 100755 --- a/workflow/engine/menus/setup.php +++ b/workflow/engine/menus/setup.php @@ -71,16 +71,6 @@ if ($RBAC->userCanAccess('PM_SETUP') === 1) { * Remove heartbeat config from core, it will probably be used again * when the functionality will be redesigned. */ - if ($RBAC->userCanAccess('PM_SETUP_HEART_BEAT') === 1 && false) { - $G_TMP_MENU->AddIdRawOption( - 'HEARTBEAT', - 'processHeartBeatConfig', - G::LoadTranslation('ID_HEARTBEAT_CONFIG'), - 'heartBeat.jpg', - '', - 'settings' - ); - } } if ($RBAC->userCanAccess('PM_SETUP_ENVIRONMENT') === 1) { $G_TMP_MENU->AddIdRawOption( diff --git a/workflow/engine/methods/setup/processHeartBeatConfig.php b/workflow/engine/methods/setup/processHeartBeatConfig.php deleted file mode 100644 index d69dceeac..000000000 --- a/workflow/engine/methods/setup/processHeartBeatConfig.php +++ /dev/null @@ -1,38 +0,0 @@ -. - * - * For more information, contact Colosa Inc, 2566 Le Jeune Rd., - * Coral Gables, FL, 33134, USA, or email info@colosa.com. - */ -global $RBAC; -$RBAC->requirePermissions('PM_SETUP', 'PM_SETUP_HEART_BEAT'); - -$oHeadPublisher = headPublisher::getSingleton(); -$oServerConf = ServerConf::getSingleton(); - -//you can use SYS_TEMP or SYS_SYS ON HEAR_BEAT_CONF to save for each workspace -$sflag = $oServerConf->getHeartbeatProperty('HB_OPTION', 'HEART_BEAT_CONF'); -$heartBeatChecked = $sflag == 1 ? true : false; - -$oHeadPublisher->addExtJsScript('setup/processHeartBeatConfig', true); //adding a javascript file .js - - -$oHeadPublisher->assign('heartBeatChecked', $heartBeatChecked); -G::RenderPage('publish', 'extJs'); diff --git a/workflow/engine/xmlform/setup/processHeartBeatConfig.html b/workflow/engine/xmlform/setup/processHeartBeatConfig.html deleted file mode 100644 index 180c19d08..000000000 --- a/workflow/engine/xmlform/setup/processHeartBeatConfig.html +++ /dev/null @@ -1,44 +0,0 @@ -
-
-
- - - - -
- - - - - - - - - - - - - - - - - - - -
-
{$form.HB_TITLE} {$form.HB_LINKINFO}
-
{$HB_OPTION}{$form.HB_OPTION}
{$form.HB_SAVE}
-
-
-
-
- -
- - - - diff --git a/workflow/engine/xmlform/setup/processHeartBeatConfig.xml b/workflow/engine/xmlform/setup/processHeartBeatConfig.xml deleted file mode 100644 index c25b13efd..000000000 --- a/workflow/engine/xmlform/setup/processHeartBeatConfig.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - - - - - - var sendValues=function(form){ - var hbOption = getField('HB_OPTION').value; - ajax_function('processHeartBeatSave','','HB_OPTION='+hbOption,'POST') ; - window.location = 'processHeartBeatConfig'; - }; - - From 0eb36a75c44af7954063a9b2d4e341c82ec34347 Mon Sep 17 00:00:00 2001 From: fabio Date: Wed, 11 Aug 2021 10:25:35 -0400 Subject: [PATCH 02/10] PMCORE-3116:UI - Download a JSON custon case list Documentation --- package.json | 1 + .../js/admin/settings/customCaseList/Tables.vue | 12 ++++++++++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 417606900..c544d500e 100644 --- a/package.json +++ b/package.json @@ -30,6 +30,7 @@ "bootstrap-vue-font-awesome-picker": "^0.1.3", "chart.js": "^2.7.2", "dateformat": "^3.0.3", + "downloadjs": "^1.4.7", "faker": "^5.1.0", "font-awesome": "^4.7.0", "hammerjs": "^2.0.8", diff --git a/resources/assets/js/admin/settings/customCaseList/Tables.vue b/resources/assets/js/admin/settings/customCaseList/Tables.vue index d5787e36e..84c30e264 100644 --- a/resources/assets/js/admin/settings/customCaseList/Tables.vue +++ b/resources/assets/js/admin/settings/customCaseList/Tables.vue @@ -28,7 +28,9 @@ import ButtonFleft from "../../../components/home/ButtonFleft.vue"; import Ellipsis from "../../../components/utils/ellipsis.vue"; import utils from "../../../utils/utils"; import OwnerCell from "../../../components/vuetable/OwnerCell"; -import ModalDeleteCaseList from "./../../Modals/ModalDeleteCaseList.vue" +import ModalDeleteCaseList from "./../../Modals/ModalDeleteCaseList.vue"; +import download from "downloadjs"; + export default { name: "Tables", props: ["module"], @@ -188,8 +190,14 @@ export default { editCustomCaseList(data) { }, + /** + * Export the Custom Case List in a json + * @param {object} data + */ downloadCaseList(data) { - + var fileName = data.name, + typeMime = "text/plain"; + download(JSON.stringify(data), fileName + ".json", typeMime); }, /** * Show options in the ellipsis From a02b0493c18879b9b2e7329d84935364d86a7242 Mon Sep 17 00:00:00 2001 From: Rodrigo Quelca Date: Thu, 12 Aug 2021 19:53:32 +0000 Subject: [PATCH 03/10] PMCORE-3144: UI - Create the assigne row component --- .../js/admin/Modals/ModalDeleteCaseList.vue | 9 +- .../settings/customCaseList/Api/CaseList.js | 18 +- .../customCaseList/Api/Mocks/defaults.json | 300 +++++++++ .../settings/customCaseList/Api/Services.js | 4 +- .../customCaseList/CaseListSketch.vue | 605 ++++++++++++------ .../customCaseList/CustomCaseList.vue | 45 +- .../admin/settings/customCaseList/Tables.vue | 12 +- resources/assets/js/utils/utils.js | 354 ---------- .../translations/english/processmaker.en.po | 42 ++ workflow/engine/data/mysql/insert.sql | 8 + .../engine/methods/cases/casesListSetup.php | 2 + 11 files changed, 816 insertions(+), 583 deletions(-) create mode 100644 resources/assets/js/admin/settings/customCaseList/Api/Mocks/defaults.json diff --git a/resources/assets/js/admin/Modals/ModalDeleteCaseList.vue b/resources/assets/js/admin/Modals/ModalDeleteCaseList.vue index c88f394e7..2448a41a6 100644 --- a/resources/assets/js/admin/Modals/ModalDeleteCaseList.vue +++ b/resources/assets/js/admin/Modals/ModalDeleteCaseList.vue @@ -51,10 +51,11 @@ export default { this.$refs["modal-delete-list"].hide(); }, deleteCustomCaseList() { - api.deleteCaseList(this.data).then((response) => { - if (response.statusText == "OK") { - that.$refs["modal-pause-case"].hide(); - that.$parent.$refs["vueTable"].getData(); + let that = this; + api.deleteCaseList(this.data).then((response) => { + if (response.statusText === "OK") { + that.$refs["modal-delete-list"].hide(); + that.$parent.$refs["table"].getData(); } }); } diff --git a/resources/assets/js/admin/settings/customCaseList/Api/CaseList.js b/resources/assets/js/admin/settings/customCaseList/Api/CaseList.js index c41472048..889f9c753 100644 --- a/resources/assets/js/admin/settings/customCaseList/Api/CaseList.js +++ b/resources/assets/js/admin/settings/customCaseList/Api/CaseList.js @@ -1,7 +1,7 @@ import axios from "axios"; import Api from "../../../../api/Api"; import Services from "./Services"; - +import Defaults from "./Mocks/defaults.json"; class caseListApi extends Api { constructor(services) { // Here, it calls the parent class' constructor with lengths @@ -49,6 +49,22 @@ class caseListApi extends Api { } ); } + reportTables(data) { + return this.get({ + service: 'REPORT_TABLES', + params: data, + keys: {} + }); + } + getDefault(module){ + return Defaults[module] + } + createCaseList(data) { + return this.post({ + service: "CASE_LIST", + data: data + }); + } } let api = new caseListApi(Services); diff --git a/resources/assets/js/admin/settings/customCaseList/Api/Mocks/defaults.json b/resources/assets/js/admin/settings/customCaseList/Api/Mocks/defaults.json new file mode 100644 index 000000000..4b6b3832a --- /dev/null +++ b/resources/assets/js/admin/settings/customCaseList/Api/Mocks/defaults.json @@ -0,0 +1,300 @@ +{ + "inbox": [ + { + "field": "case_number", + "name": "Case #", + "type": "integer", + "source": "APPLICATION", + "typeSearch": "integer range", + "enableFilter": false, + "set": true + }, + { + "field": "case_title", + "name": "Case Title", + "type": "string", + "source": "APPLICATION", + "typeSearch": "search text", + "enableFilter": false, + "set": true + }, + { + "field": "process_name", + "name": "Process Name", + "type": "string", + "source": "APPLICATION", + "typeSearch": "search text", + "enableFilter": false, + "set": true + }, + { + "field": "task", + "name": "Task", + "type": "string", + "source": "APPLICATION", + "typeSearch": "search text", + "enableFilter": false, + "set": true + }, + { + "field": "send_by", + "name": "**ID_SEND_BY**", + "type": "string", + "source": "APPLICATION", + "typeSearch": "search text", + "enableFilter": false, + "set": true + }, + { + "field": "due_date", + "name": "Due Date", + "type": "date", + "source": "APPLICATION", + "typeSearch": "date range", + "enableFilter": false, + "set": true + }, + { + "field": "delegation_date", + "name": "Delegation Date", + "type": "date", + "source": "APPLICATION", + "typeSearch": "date range", + "enableFilter": false, + "set": true + }, + { + "field": "priority", + "name": "Priority", + "type": "string", + "source": "APPLICATION", + "typeSearch": "option", + "enableFilter": false, + "set": true + } + ], + "draft": [ + { + "field": "case_number", + "name": "Case #", + "type": "integer", + "source": "APPLICATION", + "typeSearch": "integer range", + "enableFilter": false, + "set": true + }, + { + "field": "case_title", + "name": "Case Title", + "type": "string", + "source": "APPLICATION", + "typeSearch": "search text", + "enableFilter": false, + "set": true + }, + { + "field": "process_name", + "name": "Process Name", + "type": "string", + "source": "APPLICATION", + "typeSearch": "search text", + "enableFilter": false, + "set": true + }, + { + "field": "task", + "name": "Task", + "type": "string", + "source": "APPLICATION", + "typeSearch": "search text", + "enableFilter": false, + "set": true + } + ], + "paused": [ + { + "field": "case_number", + "name": "Case #", + "type": "integer", + "source": "APPLICATION", + "typeSearch": "integer range", + "enableFilter": false, + "set": true + }, + { + "field": "case_title", + "name": "Case Title", + "type": "string", + "source": "APPLICATION", + "typeSearch": "search text", + "enableFilter": false, + "set": true + }, + { + "field": "process_name", + "name": "Process Name", + "type": "string", + "source": "APPLICATION", + "typeSearch": "search text", + "enableFilter": false, + "set": true + }, + { + "field": "task", + "name": "Task", + "type": "string", + "source": "APPLICATION", + "typeSearch": "search text", + "enableFilter": false, + "set": true + }, + { + "field": "send_by", + "name": "**ID_SEND_BY**", + "type": "string", + "source": "APPLICATION", + "typeSearch": "search text", + "enableFilter": false, + "set": true + }, + { + "field": "due_date", + "name": "Due Date", + "type": "date", + "source": "APPLICATION", + "typeSearch": "date range", + "enableFilter": false, + "set": true + }, + { + "field": "delegation_date", + "name": "Delegation Date", + "type": "date", + "source": "APPLICATION", + "typeSearch": "date range", + "enableFilter": false, + "set": true + }, + { + "field": "priority", + "name": "Priority", + "type": "string", + "source": "APPLICATION", + "typeSearch": "option", + "enableFilter": false, + "set": true + } + ], + "inbox": [ + { + "field": "case_number", + "name": "Case #", + "type": "integer", + "source": "APPLICATION", + "typeSearch": "integer range", + "enableFilter": false, + "set": true + }, + { + "field": "case_title", + "name": "Case Title", + "type": "string", + "source": "APPLICATION", + "typeSearch": "search text", + "enableFilter": false, + "set": true + }, + { + "field": "process_name", + "name": "Process Name", + "type": "string", + "source": "APPLICATION", + "typeSearch": "search text", + "enableFilter": false, + "set": true + }, + { + "field": "task", + "name": "Task", + "type": "string", + "source": "APPLICATION", + "typeSearch": "search text", + "enableFilter": false, + "set": true + }, + { + "field": "send_by", + "name": "**ID_SEND_BY**", + "type": "string", + "source": "APPLICATION", + "typeSearch": "search text", + "enableFilter": false, + "set": true + }, + { + "field": "due_date", + "name": "Due Date", + "type": "date", + "source": "APPLICATION", + "typeSearch": "date range", + "enableFilter": false, + "set": true + }, + { + "field": "delegation_date", + "name": "Delegation Date", + "type": "date", + "source": "APPLICATION", + "typeSearch": "date range", + "enableFilter": false, + "set": true + }, + { + "field": "priority", + "name": "Priority", + "type": "string", + "source": "APPLICATION", + "typeSearch": "option", + "enableFilter": false, + "set": true + } + ], + "unassigned": [ + { + "field": "case_number", + "name": "Case #", + "type": "integer", + "source": "APPLICATION", + "typeSearch": "integer range", + "enableFilter": false, + "set": true + }, + { + "field": "case_title", + "name": "Case Title", + "type": "string", + "source": "APPLICATION", + "typeSearch": "search text", + "enableFilter": false, + "set": true + }, + { + "field": "process_name", + "name": "Process Name", + "type": "string", + "source": "APPLICATION", + "typeSearch": "search text", + "enableFilter": false, + "set": true + }, + { + "field": "task", + "name": "Task", + "type": "string", + "source": "APPLICATION", + "typeSearch": "search text", + "enableFilter": false, + "set": true + } + ] +} \ No newline at end of file diff --git a/resources/assets/js/admin/settings/customCaseList/Api/Services.js b/resources/assets/js/admin/settings/customCaseList/Api/Services.js index 2fee94841..e8eb7e5a0 100644 --- a/resources/assets/js/admin/settings/customCaseList/Api/Services.js +++ b/resources/assets/js/admin/settings/customCaseList/Api/Services.js @@ -2,5 +2,7 @@ export default { CASE_LIST_TODO: "/caseList/inbox", CASE_LIST_DRAFT: "/caseList/draft", CASE_LIST_UNASSIGNED: "/caseList/unassigned", - CASE_LIST_PAUSED: "/caseList/paused" + CASE_LIST_PAUSED: "/caseList/paused", + REPORT_TABLES: "/caseList/report-tables", + CASE_LIST: "/caseList" }; diff --git a/resources/assets/js/admin/settings/customCaseList/CaseListSketch.vue b/resources/assets/js/admin/settings/customCaseList/CaseListSketch.vue index 083af74f0..ed5c77a17 100644 --- a/resources/assets/js/admin/settings/customCaseList/CaseListSketch.vue +++ b/resources/assets/js/admin/settings/customCaseList/CaseListSketch.vue @@ -2,187 +2,257 @@
-
{{ $t("ID_NEW_CASES_LISTS") }}
- -
-
- - - - - - - - - {{ $t("ID_NEW_CASES_LISTS") }} ({{ module.title }}) + + + + + + - - - - - - - - - - - - - - - -
-
- - - -
-
- -
-
- - - -
+ + + + + + + + + + + + + + + +
+
+ + + + +
+
+ +
+
+ - - - - - + -
+
+ + + + + + + +
-
- - + - - + + + + + +
+ + + + + + + +
+ + + +
+
-
+ + +
+ {{ + $t("ID_CANCEL") + }} + {{ + $t("ID_PREVIEW") + }} + {{ + $t("ID_SAVE") + }}
-
- - -
-
-
- Cancel - Preview - Save -
+
@@ -190,7 +260,7 @@ - diff --git a/resources/assets/js/admin/settings/customCaseList/CustomCaseList.vue b/resources/assets/js/admin/settings/customCaseList/CustomCaseList.vue index 1fbffd51a..b61263674 100644 --- a/resources/assets/js/admin/settings/customCaseList/CustomCaseList.vue +++ b/resources/assets/js/admin/settings/customCaseList/CustomCaseList.vue @@ -7,22 +7,13 @@
{{ $t("ID_CUSTOM_CASES_LISTS") }}
- - - + + - - - - - - - - - @@ -30,8 +21,9 @@
@@ -50,11 +42,30 @@ export default { data() { return { showSketch: false, - params: {} + params: {}, + tabModule: null, + tabs: [ + { + key: "inbox", + title: this.$i18n.t("TO_DO") + }, + { + key: "draft", + title: this.$i18n.t("ID_DRAFT") + }, + { + key: "unassigned", + title: this.$i18n.t("ID_UNASSIGNED") + }, + { + key: "paused", + title: this.$i18n.t("ID_PAUSED") + } + ] }; }, mounted() { - + this.tabModule= this.tabs[0]; }, methods: { onShowSketch (params) { @@ -63,6 +74,10 @@ export default { }, onCloseSketch (params) { this.showSketch = false; + }, + onInputTab(tabIndex){ + console.log(tabIndex); + this.tabModule= this.tabs[tabIndex]; } } }; diff --git a/resources/assets/js/admin/settings/customCaseList/Tables.vue b/resources/assets/js/admin/settings/customCaseList/Tables.vue index d5787e36e..b9c917579 100644 --- a/resources/assets/js/admin/settings/customCaseList/Tables.vue +++ b/resources/assets/js/admin/settings/customCaseList/Tables.vue @@ -49,12 +49,12 @@ export default { class: "btn-success", onClick: () => { this.$emit("showSketch", { - name: "Rocko", - description: "algo te texto", - tableUid: "1234", - iconList: 'far fa-calendar-alt', - iconColor: '#4287f5', - iconColorScreen:'#4287f5', + name: "", + description: "", + tableUid: "", + iconList: "far fa-check-circle", + iconColor: '#000000', + iconColorScreen: '#FFFFFF', type: this.module }); diff --git a/resources/assets/js/utils/utils.js b/resources/assets/js/utils/utils.js index 5c7e07158..6349ffd81 100644 --- a/resources/assets/js/utils/utils.js +++ b/resources/assets/js/utils/utils.js @@ -89,359 +89,5 @@ export default { } return obj; - }, - getData() { - return [{ - code: "ZW", - name: "Zimbabwe", - created_at: "2015-04-24T01:46:50.459583", - updated_at: "2015-04-24T01:46:50.459593", - uri: "http://api.lobbyfacts.eu/api/1/country/245", - id: 245 - }, { - code: "ZM", - name: "Zambia", - created_at: "2015-04-24T01:46:50.457459", - updated_at: "2015-04-24T01:46:50.457468", - uri: "http://api.lobbyfacts.eu/api/1/country/244", - id: 244 - }, { - code: "YE", - name: "Yemen", - created_at: "2015-04-24T01:46:50.454731", - updated_at: "2015-04-24T01:46:50.454741", - uri: "http://api.lobbyfacts.eu/api/1/country/243", - id: 243 - }, { - code: "EH", - name: "Western Sahara", - created_at: "2015-04-24T01:46:50.452002", - updated_at: "2015-04-24T01:46:50.452011", - uri: "http://api.lobbyfacts.eu/api/1/country/242", - id: 242 - }, { - code: "WF", - name: "Wallis & Futuna", - created_at: "2015-04-24T01:46:50.449346", - updated_at: "2015-04-24T01:46:50.449355", - uri: "http://api.lobbyfacts.eu/api/1/country/241", - id: 241 - }, { - code: "VN", - name: "Vietnam", - created_at: "2015-04-24T01:46:50.446644", - updated_at: "2015-04-24T01:46:50.446652", - uri: "http://api.lobbyfacts.eu/api/1/country/240", - id: 240 - }, { - code: "VE", - name: "Venezuela", - created_at: "2015-04-24T01:46:50.444031", - updated_at: "2015-04-24T01:46:50.444040", - uri: "http://api.lobbyfacts.eu/api/1/country/239", - id: 239 - }, { - code: "VU", - name: "Vanuatu", - created_at: "2015-04-24T01:46:50.441423", - updated_at: "2015-04-24T01:46:50.441433", - uri: "http://api.lobbyfacts.eu/api/1/country/238", - id: 238 - }, { - code: "UZ", - name: "Uzbekistan", - created_at: "2015-04-24T01:46:50.438748", - updated_at: "2015-04-24T01:46:50.438757", - uri: "http://api.lobbyfacts.eu/api/1/country/237", - id: 237 - }, { - code: "UY", - name: "Uruguay", - created_at: "2015-04-24T01:46:50.435761", - updated_at: "2015-04-24T01:46:50.435770", - uri: "http://api.lobbyfacts.eu/api/1/country/236", - id: 236 - }, { - code: "VI", - name: "United States Virgin Islands", - created_at: "2015-04-24T01:46:50.433229", - updated_at: "2015-04-24T01:46:50.433238", - uri: "http://api.lobbyfacts.eu/api/1/country/235", - id: 235 - }, { - code: "US", - name: "United States", - created_at: "2015-04-24T01:46:50.430335", - updated_at: "2015-04-24T01:46:50.430340", - uri: "http://api.lobbyfacts.eu/api/1/country/234", - id: 234 - }, { - code: "GB", - name: "United Kingdom", - created_at: "2015-04-24T01:46:50.427956", - updated_at: "2015-04-24T01:46:50.427961", - uri: "http://api.lobbyfacts.eu/api/1/country/233", - id: 233 - }, { - code: "AE", - name: "United Arab Emirates", - created_at: "2015-04-24T01:46:50.425383", - updated_at: "2015-04-24T01:46:50.425392", - uri: "http://api.lobbyfacts.eu/api/1/country/232", - id: 232 - }, { - code: "UA", - name: "Ukraine", - created_at: "2015-04-24T01:46:50.422970", - updated_at: "2015-04-24T01:46:50.422980", - uri: "http://api.lobbyfacts.eu/api/1/country/231", - id: 231 - }, { - code: "UG", - name: "Uganda", - created_at: "2015-04-24T01:46:50.419963", - updated_at: "2015-04-24T01:46:50.419968", - uri: "http://api.lobbyfacts.eu/api/1/country/230", - id: 230 - }, { - code: "TV", - name: "Tuvalu", - created_at: "2015-04-24T01:46:50.417896", - updated_at: "2015-04-24T01:46:50.417906", - uri: "http://api.lobbyfacts.eu/api/1/country/229", - id: 229 - }, { - code: "TC", - name: "Turks & Caicos Islands", - created_at: "2015-04-24T01:46:50.414854", - updated_at: "2015-04-24T01:46:50.414868", - uri: "http://api.lobbyfacts.eu/api/1/country/228", - id: 228 - }, { - code: "TM", - name: "Turkmenistan", - created_at: "2015-04-24T01:46:50.412601", - updated_at: "2015-04-24T01:46:50.412605", - uri: "http://api.lobbyfacts.eu/api/1/country/227", - id: 227 - }, { - code: "TR", - name: "Turkey", - created_at: "2015-04-24T01:46:50.411105", - updated_at: "2015-04-24T01:46:50.411110", - uri: "http://api.lobbyfacts.eu/api/1/country/226", - id: 226 - }, { - code: "TN", - name: "Tunisia", - created_at: "2015-04-24T01:46:50.409535", - updated_at: "2015-04-24T01:46:50.409539", - uri: "http://api.lobbyfacts.eu/api/1/country/225", - id: 225 - }, { - code: "TT", - name: "Trinidad & Tobago", - created_at: "2015-04-24T01:46:50.408030", - updated_at: "2015-04-24T01:46:50.408034", - uri: "http://api.lobbyfacts.eu/api/1/country/224", - id: 224 - }, { - code: "TO", - name: "Tonga", - created_at: "2015-04-24T01:46:50.406306", - updated_at: "2015-04-24T01:46:50.406311", - uri: "http://api.lobbyfacts.eu/api/1/country/223", - id: 223 - }, { - code: "TK", - name: "Tokelau", - created_at: "2015-04-24T01:46:50.404794", - updated_at: "2015-04-24T01:46:50.404799", - uri: "http://api.lobbyfacts.eu/api/1/country/222", - id: 222 - }, { - code: "TG", - name: "Togo", - created_at: "2015-04-24T01:46:50.403306", - updated_at: "2015-04-24T01:46:50.403310", - uri: "http://api.lobbyfacts.eu/api/1/country/221", - id: 221 - }, { - code: "TH", - name: "Thailand", - created_at: "2015-04-24T01:46:50.400840", - updated_at: "2015-04-24T01:46:50.400849", - uri: "http://api.lobbyfacts.eu/api/1/country/220", - id: 220 - }, { - code: "TZ", - name: "Tanzania", - created_at: "2015-04-24T01:46:50.397846", - updated_at: "2015-04-24T01:46:50.397855", - uri: "http://api.lobbyfacts.eu/api/1/country/219", - id: 219 - }, { - code: "TJ", - name: "Tajikistan", - created_at: "2015-04-24T01:46:50.394924", - updated_at: "2015-04-24T01:46:50.394933", - uri: "http://api.lobbyfacts.eu/api/1/country/218", - id: 218 - }, { - code: "TW", - name: "Taiwan", - created_at: "2015-04-24T01:46:50.391969", - updated_at: "2015-04-24T01:46:50.391978", - uri: "http://api.lobbyfacts.eu/api/1/country/217", - id: 217 - }, { - code: "SY", - name: "Syria", - created_at: "2015-04-24T01:46:50.389120", - updated_at: "2015-04-24T01:46:50.389124", - uri: "http://api.lobbyfacts.eu/api/1/country/216", - id: 216 - }, { - code: "CH", - name: "Switzerland", - created_at: "2015-04-24T01:46:50.386939", - updated_at: "2015-04-24T01:46:50.386943", - uri: "http://api.lobbyfacts.eu/api/1/country/215", - id: 215 - }, { - code: "SE", - name: "Sweden", - created_at: "2015-04-24T01:46:50.385345", - updated_at: "2015-04-24T01:46:50.385349", - uri: "http://api.lobbyfacts.eu/api/1/country/214", - id: 214 - }, { - code: "SZ", - name: "Swaziland", - created_at: "2015-04-24T01:46:50.383834", - updated_at: "2015-04-24T01:46:50.383838", - uri: "http://api.lobbyfacts.eu/api/1/country/213", - id: 213 - }, { - code: "SR", - name: "Suriname", - created_at: "2015-04-24T01:46:50.382073", - updated_at: "2015-04-24T01:46:50.382078", - uri: "http://api.lobbyfacts.eu/api/1/country/212", - id: 212 - }, { - code: "SD", - name: "Sudan", - created_at: "2015-04-24T01:46:50.380114", - updated_at: "2015-04-24T01:46:50.380119", - uri: "http://api.lobbyfacts.eu/api/1/country/211", - id: 211 - }, { - code: "LK", - name: "Sri Lanka", - created_at: "2015-04-24T01:46:50.378189", - updated_at: "2015-04-24T01:46:50.378195", - uri: "http://api.lobbyfacts.eu/api/1/country/210", - id: 210 - }, { - code: "ES", - name: "Spain", - created_at: "2015-04-24T01:46:50.376105", - updated_at: "2015-04-24T01:46:50.376109", - uri: "http://api.lobbyfacts.eu/api/1/country/209", - id: 209 - }, { - code: "SS", - name: "South Sudan", - created_at: "2015-04-24T01:46:50.373942", - updated_at: "2015-04-24T01:46:50.373946", - uri: "http://api.lobbyfacts.eu/api/1/country/208", - id: 208 - }, { - code: "KR", - name: "South Korea", - created_at: "2015-04-24T01:46:50.371790", - updated_at: "2015-04-24T01:46:50.371794", - uri: "http://api.lobbyfacts.eu/api/1/country/207", - id: 207 - }, { - code: "GS", - name: "South Georgia & The South Sandwish Islands", - created_at: "2015-04-24T01:46:50.369460", - updated_at: "2015-04-24T01:46:50.369465", - uri: "http://api.lobbyfacts.eu/api/1/country/206", - id: 206 - }, { - code: "ZA", - name: "South Africa", - created_at: "2015-04-24T01:46:50.367247", - updated_at: "2015-04-24T01:46:50.367252", - uri: "http://api.lobbyfacts.eu/api/1/country/205", - id: 205 - }, { - code: "SO", - name: "Somaliland", - created_at: "2015-04-24T01:46:50.362905", - updated_at: "2016-09-18T18:34:35.724427", - uri: "http://api.lobbyfacts.eu/api/1/country/204", - id: 204 - }, { - code: "SB", - name: "Solomon Islands", - created_at: "2015-04-24T01:46:50.360631", - updated_at: "2015-04-24T01:46:50.360635", - uri: "http://api.lobbyfacts.eu/api/1/country/203", - id: 203 - }, { - code: "SI", - name: "Slovenia", - created_at: "2015-04-24T01:46:50.358394", - updated_at: "2015-04-24T01:46:50.358399", - uri: "http://api.lobbyfacts.eu/api/1/country/202", - id: 202 - }, { - code: "SK", - name: "Slovakia", - created_at: "2015-04-24T01:46:50.356154", - updated_at: "2015-04-24T01:46:50.356158", - uri: "http://api.lobbyfacts.eu/api/1/country/201", - id: 201 - }, { - code: "SX", - name: "Sint Maarten", - created_at: "2015-04-24T01:46:50.353807", - updated_at: "2015-04-24T01:46:50.353811", - uri: "http://api.lobbyfacts.eu/api/1/country/200", - id: 200 - }, { - code: "SG", - name: "Singapore", - created_at: "2015-04-24T01:46:50.349354", - updated_at: "2015-04-24T01:46:50.349358", - uri: "http://api.lobbyfacts.eu/api/1/country/199", - id: 199 - }, { - code: "SL", - name: "Sierra Leone", - created_at: "2015-04-24T01:46:50.347186", - updated_at: "2015-04-24T01:46:50.347190", - uri: "http://api.lobbyfacts.eu/api/1/country/198", - id: 198 - }, { - code: "SC", - name: "Seychelles", - created_at: "2015-04-24T01:46:50.344980", - updated_at: "2015-04-24T01:46:50.344984", - uri: "http://api.lobbyfacts.eu/api/1/country/197", - id: 197 - }, { - code: "RS", - name: "Serbia", - created_at: "2015-04-24T01:46:50.342496", - updated_at: "2015-04-24T01:46:50.342501", - uri: "http://api.lobbyfacts.eu/api/1/country/196", - id: 196 - }]; } - } \ No newline at end of file diff --git a/workflow/engine/content/translations/english/processmaker.en.po b/workflow/engine/content/translations/english/processmaker.en.po index b78564129..94b09f855 100755 --- a/workflow/engine/content/translations/english/processmaker.en.po +++ b/workflow/engine/content/translations/english/processmaker.en.po @@ -8537,6 +8537,12 @@ msgstr "Failure" msgid "FALSE" msgstr "FALSE" +# TRANSLATION +# LABEL/ID_FIELD +#: LABEL/ID_FIELD +msgid "Field" +msgstr "Field" + # TRANSLATION # LABEL/ID_FIELDS #: LABEL/ID_FIELDS @@ -9899,6 +9905,12 @@ msgstr "Hour(s)" msgid "HTML" msgstr "HTML" +# TRANSLATION +# LABEL/ID_ICON +#: LABEL/ID_ICON +msgid "Icon" +msgstr "Icon" + # TRANSLATION # LABEL/ID_IDENTIFIER_IMPORT_USER #: LABEL/ID_IDENTIFIER_IMPORT_USER @@ -19109,6 +19121,12 @@ msgstr "Memory Limit (MB)" msgid "Memory Limit value has to be either a positive integer or -1" msgstr "Memory Limit value has to be either a positive integer or -1" +# TRANSLATION +# LABEL/ID_MENU_COLOR +#: LABEL/ID_MENU_COLOR +msgid "Menu Color" +msgstr "Menu Color" + # TRANSLATION # LABEL/ID_MENU_NAME #: LABEL/ID_MENU_NAME @@ -24215,6 +24233,12 @@ msgstr "Scheduled Task ID" msgid "Schema" msgstr "Schema" +# TRANSLATION +# LABEL/ID_SCREEN_COLOR_ICON +#: LABEL/ID_SCREEN_COLOR_ICON +msgid "Screen Color Icon" +msgstr "Screen Color Icon" + # TRANSLATION # LABEL/ID_SCRIPT_TASK #: LABEL/ID_SCRIPT_TASK @@ -24851,6 +24875,12 @@ msgstr "Test SMTP Connection" msgid "Setup" msgstr "Setup" +# TRANSLATION +# LABEL/ID_SET_A_CASE_LIST_NAME +#: LABEL/ID_SET_A_CASE_LIST_NAME +msgid "Set a Case List Name" +msgstr "Set a Case List Name" + # TRANSLATION # LABEL/ID_SET_A_TABLE_NAME #: LABEL/ID_SET_A_TABLE_NAME @@ -25304,6 +25334,12 @@ msgstr "Some actor(s) is/are already assigned to task {0}" # TRANSLATION # LABEL/ID_SOME_FIELDS_REQUIRED #: LABEL/ID_SOME_FIELDS_REQUIRED +msgid "Some Text" +msgstr "Some Text" + +# TRANSLATION +# LABEL/ID_SOME_TEXT +#: LABEL/ID_SOME_TEXT msgid "Some Fields are required." msgstr "Some Fields are required." @@ -25313,6 +25349,12 @@ msgstr "Some Fields are required." msgid "Sort by" msgstr "Sort by" +# TRANSLATION +# LABEL/ID_SOURCE +#: LABEL/ID_SOURCE +msgid "Source" +msgstr "Source" + # TRANSLATION # LABEL/ID_SOUTHPANEL #: LABEL/ID_SOUTHPANEL diff --git a/workflow/engine/data/mysql/insert.sql b/workflow/engine/data/mysql/insert.sql index 8e7848df6..699b93784 100755 --- a/workflow/engine/data/mysql/insert.sql +++ b/workflow/engine/data/mysql/insert.sql @@ -58265,6 +58265,7 @@ INSERT INTO TRANSLATION (TRN_CATEGORY,TRN_ID,TRN_LANG,TRN_VALUE,TRN_UPDATE_DATE ( 'LABEL','ID_FAILED_VALIDATION_IN_CLASS1','en','Failed Validation in class {CLASS}.','2014-01-15') , ( 'LABEL','ID_FAILURE','en','Failure','2014-01-15') , ( 'LABEL','ID_FALSE','en','FALSE','2014-01-15') , +( 'LABEL','ID_FIELD','en','Field','2021-08-10') , ( 'LABEL','ID_FIELDS','en','Fields','2014-01-15') , ( 'LABEL','ID_FIELDS_CHANGED_NUMBER','en','Fields changed','2014-01-15') , ( 'LABEL','ID_FIELDS_LIST','en','Fields handler','2014-01-15') , @@ -58500,6 +58501,7 @@ INSERT INTO TRANSLATION (TRN_CATEGORY,TRN_ID,TRN_LANG,TRN_VALUE,TRN_UPDATE_DATE ( 'LABEL','ID_HOUR_ABBREVIATE','en','Hr(s)','2020-10-02') , ( 'LABEL','ID_HOUR_HOURS','en','Hour(s)','2014-10-30') , ( 'LABEL','ID_HTML','en','HTML','2014-01-15') , +( 'LABEL','ID_ICON','en','Icon','2021-08-10') , ( 'LABEL','ID_IDENTIFIER_IMPORT_USER','en','Identifier for an imported user','2014-01-15') , ( 'LABEL','ID_IMAGE','en','Image','2014-01-15') , ( 'LABEL','ID_IMAGES_SELECTED','en','images selected','2014-01-15') , @@ -60070,6 +60072,7 @@ INSERT INTO TRANSLATION (TRN_CATEGORY,TRN_ID,TRN_LANG,TRN_VALUE,TRN_UPDATE_DATE ( 'LABEL','ID_MEMBER_OF','en','MEMBER OF','2014-01-15') , ( 'LABEL','ID_MEMORY_LIMIT','en','Memory Limit (MB)','2014-01-15') , ( 'LABEL','ID_MEMORY_LIMIT_VALIDATE','en','Memory Limit value has to be either a positive integer or -1','2017-04-05') , +( 'LABEL','ID_MENU_COLOR','en','Menu Color','2021-08-10') , ( 'LABEL','ID_MENU_NAME','en','Enterprise Manager','2014-10-17') , ( 'LABEL','ID_MESSAGE','en','Message','2014-01-15') , ( 'LABEL','ID_MESSAGES','en','Messages','2014-01-15') , @@ -60948,6 +60951,7 @@ INSERT INTO TRANSLATION (TRN_CATEGORY,TRN_ID,TRN_LANG,TRN_VALUE,TRN_UPDATE_DATE ( 'LABEL','ID_SCHEDULER_SUCCESS_UPDATE','en','Case Scheduler has been updated correctly.','2014-01-15') , ( 'LABEL','ID_SCHEDULER_TASK','en','Scheduled Task ID','2014-01-15') , ( 'LABEL','ID_SCHEMA','en','Schema','2014-01-15') , +( 'LABEL','ID_SCREEN_COLOR_ICON','en','Screen Color Icon','2021-08-10') , ( 'LABEL','ID_SCRIPT_TASK','en','Script Task','2015-10-19') , ( 'LABEL','ID_SCRIPT_TASK_ACTIVITY_ALREADY_REGISTERED','en','The Script-Task with {0}: "{1}" already registered','2016-08-01') , ( 'LABEL','ID_SEARCH','en','Search','2014-01-15') , @@ -61057,6 +61061,7 @@ INSERT INTO TRANSLATION (TRN_CATEGORY,TRN_ID,TRN_LANG,TRN_VALUE,TRN_UPDATE_DATE ( 'LABEL','ID_SETUP','en','Admin','2014-01-15') , ( 'LABEL','ID_SETUP_MAILCONF_TITLE','en','Test SMTP Connection','2014-01-15') , ( 'LABEL','ID_SETUP_WEBSERVICES','en','Setup','2014-01-15') , +( 'LABEL','ID_SET_A_CASE_LIST_NAME','en','Set a Case List Name','2021-08-10') , ( 'LABEL','ID_SET_A_TABLE_NAME','en','Set a Table Name','2014-01-15') , ( 'LABEL','ID_SET_COLUMNS','en','Set Columns','2014-10-10') , ( 'LABEL','ID_SET_MANAGER','en','Set Manager','2015-03-09') , @@ -61132,10 +61137,13 @@ INSERT INTO TRANSLATION (TRN_CATEGORY,TRN_ID,TRN_LANG,TRN_VALUE,TRN_UPDATE_DATE ( 'LABEL','ID_SMTP_ERROR_USERNAME_NOT_ACCEPTED','en','Username not accepted by the server','2014-10-21') , ( 'LABEL','ID_SMTP_FAILED_CONNECT_SERVER','en','Failed to connect to server','2014-02-12') , ( 'LABEL','ID_SNAP_GEOMETRY','en','Snap Geometry','2014-01-15') , + ( 'LABEL','ID_SOMETHING_WRONG','en','Something was wrong','2014-01-15') , ( 'LABEL','ID_SOME_ACTORS_ALREADY_ASSIGNED','en','Some actor(s) is/are already assigned to task {0}','2014-01-15') , ( 'LABEL','ID_SOME_FIELDS_REQUIRED','en','Some Fields are required.','2014-01-15') , +( 'LABEL','ID_SOME_TEXT','en','Some Text','2021-08-10') , ( 'LABEL','ID_SORT_BY','en','Sort by','2015-04-28') , +( 'LABEL','ID_SOURCE','en','Source','2021-08-10') , ( 'LABEL','ID_SOUTHPANEL','en','southPanel','2014-01-15') , ( 'LABEL','ID_SPECIFY_DELEGATION_INDEX','en','Please specify the delegation index','2014-01-15') , ( 'LABEL','ID_SPLIT_BUTTON','en','Split Button','2014-01-15') , diff --git a/workflow/engine/methods/cases/casesListSetup.php b/workflow/engine/methods/cases/casesListSetup.php index ef6c541c8..58d652fa2 100644 --- a/workflow/engine/methods/cases/casesListSetup.php +++ b/workflow/engine/methods/cases/casesListSetup.php @@ -2,6 +2,7 @@ use Eusebiu\JavaScript\Facades\ScriptVariables; use Illuminate\Support\Facades\View; use ProcessMaker\Core\System; +use ProcessMaker\Model\User; global $translation; global $RBAC; @@ -33,4 +34,5 @@ ScriptVariables::add('SYS_URI', SYS_URI); ScriptVariables::add('SYS_LANG', SYS_LANG); ScriptVariables::add('TRANSLATIONS', $translation); ScriptVariables::add('FORMATS', $conf->getFormats()); +ScriptVariables::add('userId', User::getId($_SESSION['USER_LOGGED'])); echo View::make('Views::admin.settings.customCasesList', compact("userCanAccess"))->render(); \ No newline at end of file From 9037eeab79f8d6ec9eda5278c9a91288b460e7ce Mon Sep 17 00:00:00 2001 From: Rodrigo Quelca Date: Fri, 13 Aug 2021 18:03:29 +0000 Subject: [PATCH 04/10] add edit mode --- package-lock.json | 5 + .../settings/customCaseList/Api/CaseList.js | 9 + .../settings/customCaseList/Api/Services.js | 3 +- .../customCaseList/CaseListSketch.vue | 195 +++++++++++++++--- .../admin/settings/customCaseList/Tables.vue | 14 +- 5 files changed, 197 insertions(+), 29 deletions(-) diff --git a/package-lock.json b/package-lock.json index b2750c39f..322624234 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3079,6 +3079,11 @@ "integrity": "sha1-3vHxyl1gWdJKdm5YeULCEQbOEnU=", "dev": true }, + "downloadjs": { + "version": "1.4.7", + "resolved": "https://registry.npmjs.org/downloadjs/-/downloadjs-1.4.7.tgz", + "integrity": "sha1-9p+W+UDg0FU9rCkROYZaPNAQHjw=" + }, "duplexify": { "version": "3.7.1", "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", diff --git a/resources/assets/js/admin/settings/customCaseList/Api/CaseList.js b/resources/assets/js/admin/settings/customCaseList/Api/CaseList.js index 889f9c753..552e5dcaf 100644 --- a/resources/assets/js/admin/settings/customCaseList/Api/CaseList.js +++ b/resources/assets/js/admin/settings/customCaseList/Api/CaseList.js @@ -65,6 +65,15 @@ class caseListApi extends Api { data: data }); } + updateCaseList(data) { + return this.put({ + service: "PUT_CASE_LIST", + keys: { + id: data.id + }, + data: data + }); + } } let api = new caseListApi(Services); diff --git a/resources/assets/js/admin/settings/customCaseList/Api/Services.js b/resources/assets/js/admin/settings/customCaseList/Api/Services.js index e8eb7e5a0..e6cc594f4 100644 --- a/resources/assets/js/admin/settings/customCaseList/Api/Services.js +++ b/resources/assets/js/admin/settings/customCaseList/Api/Services.js @@ -4,5 +4,6 @@ export default { CASE_LIST_UNASSIGNED: "/caseList/unassigned", CASE_LIST_PAUSED: "/caseList/paused", REPORT_TABLES: "/caseList/report-tables", - CASE_LIST: "/caseList" + CASE_LIST: "/caseList", + PUT_CASE_LIST: "/caseList/{id}" }; diff --git a/resources/assets/js/admin/settings/customCaseList/CaseListSketch.vue b/resources/assets/js/admin/settings/customCaseList/CaseListSketch.vue index ed5c77a17..105522531 100644 --- a/resources/assets/js/admin/settings/customCaseList/CaseListSketch.vue +++ b/resources/assets/js/admin/settings/customCaseList/CaseListSketch.vue @@ -75,7 +75,7 @@ > - + +
+ + + +
- +
@@ -187,7 +198,7 @@ > + + +
@@ -280,9 +303,10 @@ export default { isSelectedCaseList: false, pmTablesOptions: [], checkedRows: [], + enabledFilterRows: [], closedRows: [], checkedRowsCaseList: [], - columns: ["selected", "name", "field", "type", "source"], + columns: ["selected", "name", "field", "type", "source", "action"], //data: utils.getData(), data: [], options: { @@ -291,11 +315,14 @@ export default { field: this.$i18n.t("ID_FIELD"), type: this.$i18n.t("ID_TYPE"), source: this.$i18n.t("ID_SOURCE"), + action: "", }, sortable: [], filterable: true, - columnsDisplay: { - type: "desktop", + perPage: 1000, + perPageValues: [], + texts: { + count: "", }, }, dataCaseList: [], @@ -339,10 +366,35 @@ export default { mounted() { this.defaultCaseList = Api.getDefault(this.module.key); this.dataCaseList = this.defaultCaseList; + if(this.params.id) { + this.editMode(); + } + }, methods: { + /** + * Edit mode handler + * prepare the datato be rendered + */ + editMode(){ + let that = this; + this.pmTable = { + label: this.params.tableName, + value: this.params.tableUid + } + this.data =this.params.columns.filter(elem => elem.set === false); + this.dataCaseList =this.params.columns.filter(elem => elem.set === true); + this.dataCaseList.forEach(function (value) { + if (value.enableFilter) { + that.enabledFilterRows.push(value.field); + } + + }); + }, + /** + * Select all checkbox handler into available pm tables column list + */ selectAllAtOnce() { - console.log("isSelected: ", this.isSelected); let length = this.data.length; this.isSelected = !this.isSelected; this.checkedRows = []; @@ -353,6 +405,9 @@ export default { } } }, + /** + * Select all checkbox handler into case list table + */ selectAllAtOnceCaseList() { let length = this.dataCaseList.length; this.isSelectedCaseList = !this.isSelectedCaseList; @@ -364,6 +419,9 @@ export default { } } }, + /** + * Unassign the selected columns from custm list + */ unassignSelected() { let temp; let length = this.checkedRowsCaseList.length; @@ -379,10 +437,19 @@ export default { } this.checkedRowsCaseList = []; }, + /** + * Unassign all columns from custom list + */ unassignAll() { this.data = [...this.data, ...this.dataCaseList]; + this.data.forEach(function (element) { + element.set = false; + }); this.dataCaseList = []; }, + /** + * Assign the selected row to custom list + */ assignSelected() { let temp; let length = this.checkedRows.length; @@ -396,24 +463,40 @@ export default { } this.checkedRows = []; }, + /** + * Assign all columns to custom list + */ assignAll() { this.dataCaseList = [...this.dataCaseList, ...this.data]; + this.dataCaseList.forEach(function (element) { + element.set = true; + }); this.data = []; }, + /** + * On select icon handler + */ onSelectIcon(data) { - console.log(data); - // this.params.iconList = data; + this.params.iconList = data; }, + /** + * On change color handler + */ onChangeColor(color) { - console.log(color); - this.menuColor = color; + this.params.iconColor = color; }, + /** + * On change color screen handler + */ + onChangeColorScreen(color) { + this.params.iconColorScreen = color; + }, + /** + * On Cancel event handler + */ onCancel() { this.$emit("closeSketch"); }, - onChange(e) { - console.log(e); - }, /** * Find asynchronously in the server * @param {string} query - string from the text field @@ -438,15 +521,23 @@ export default { this.isLoading = false; }) - .catch((e) => { + .catch((err) => { console.error(err); }); }, + /** + * On select event handler in multiselect component + * @param {object} option + */ onSelect(option) { this.checkedRows = []; this.data = option.fields; this.dataCaseList = this.defaultCaseList; }, + /** + * On remove row event handler + * @param {object} row + */ onRemoveRow(row) { var temp = this.dataCaseList.find((x) => x.field === row.field); if (temp) { @@ -457,6 +548,23 @@ export default { }); } }, + /** + * On remove row event handler + * @param {object} row + */ + onAddRow(row) { + var temp = this.data.find((x) => x.field === row.field); + if (temp) { + temp["set"] = true; + this.dataCaseList.push(temp); + this.data = this.data.filter((item) => { + return item.field != row.field; + }); + } + }, + /** + * On submit event handler + */ onSubmit() { this.isValidName = true; this.isValidTable = true; @@ -469,20 +577,53 @@ export default { return; } this.params.tableUid = this.pmTable.value; - this.params.columns = this.dataCaseList; + this.params.columns = [...this.preparePostColumns(this.dataCaseList), ...this.preparePostColumns(this.data)]; this.params.type = this.module.key; this.params.userId = window.config.userId; - Api.createCaseList(this.params) - .then((response) => { - this.$emit("closeSketch"); - - }) - .catch((e) => { - console.error(err); - }); - + if (this.params.id) { + delete this.params["tableName"]; + Api.updateCaseList(this.params) + .then((response) => { + this.$emit("closeSketch"); + + }) + .catch((err) => { + console.error(err); + }); + } else { + Api.createCaseList(this.params) + .then((response) => { + this.$emit("closeSketch"); + + }) + .catch((err) => { + console.error(err); + }); + } }, - onReset() {}, + /** + * Prepares columns data to be sended to the server + * @param {array} collection + */ + preparePostColumns(collection){ + let temp = []; + collection.forEach(function (value) { + temp.push({ + field: value.field, + enableFilter: value.enableFilter || false, + set: value.set || false + }) + }); + return temp; + }, + /** + * Tongle filter switcher + * @param {string} field + */ + onTongleFilter(field){ + let objIndex = this.dataCaseList.findIndex((obj => obj.field === field)); + this.dataCaseList[objIndex].enableFilter = !this.dataCaseList[objIndex].enableFilter + } }, }; diff --git a/resources/assets/js/admin/settings/customCaseList/Tables.vue b/resources/assets/js/admin/settings/customCaseList/Tables.vue index 10558a51d..d02c764e0 100644 --- a/resources/assets/js/admin/settings/customCaseList/Tables.vue +++ b/resources/assets/js/admin/settings/customCaseList/Tables.vue @@ -188,7 +188,19 @@ export default { }, editCustomCaseList(data) { - + this.$emit("showSketch", { + id: data.id, + name: data.name, + description: data.description, + tableUid: data.tableUid, + tableName: data.tableName, + iconList: data.iconList, + iconColor: data.iconColor, + iconColorScreen: data.iconColorScreen, + columns: data.columns, + enableFilter: data.enableFilter, + type: this.module + }); }, /** * Export the Custom Case List in a json From d7ae0fedb2c7900262b44a48cfbc3bacc6b18599 Mon Sep 17 00:00:00 2001 From: Rodrigo Quelca Date: Fri, 13 Aug 2021 19:14:07 +0000 Subject: [PATCH 05/10] add translations --- .../admin/settings/customCaseList/CaseListSketch.vue | 4 ++-- .../content/translations/english/processmaker.en.po | 12 ++++++++++++ workflow/engine/data/mysql/insert.sql | 2 ++ 3 files changed, 16 insertions(+), 2 deletions(-) diff --git a/resources/assets/js/admin/settings/customCaseList/CaseListSketch.vue b/resources/assets/js/admin/settings/customCaseList/CaseListSketch.vue index 105522531..1231d477d 100644 --- a/resources/assets/js/admin/settings/customCaseList/CaseListSketch.vue +++ b/resources/assets/js/admin/settings/customCaseList/CaseListSketch.vue @@ -340,8 +340,8 @@ export default { name: this.$i18n.t("ID_NAME"), field: this.$i18n.t("ID_FIELD"), type: this.$i18n.t("ID_TYPE"), - typeOfSearching: "Type of Searching", - enableSearchFilter: "Enable Search Filter", + typeOfSearching: this.$i18n.t("ID_TYPE_OF_SEARCHING"), + enableSearchFilter: this.$i18n.t("ID_ENABLE_SEARCH_FILTER"), action: "", }, filterable: false, diff --git a/workflow/engine/content/translations/english/processmaker.en.po b/workflow/engine/content/translations/english/processmaker.en.po index 94b09f855..cc85b4418 100755 --- a/workflow/engine/content/translations/english/processmaker.en.po +++ b/workflow/engine/content/translations/english/processmaker.en.po @@ -7769,6 +7769,12 @@ msgstr "Enable Google Drive." msgid "Enable PM Gmail" msgstr "Enable PM Gmail" +# TRANSLATION +# LABEL/ID_ENABLE_SEARCH_FILTER +#: LABEL/ID_ENABLE_SEARCH_FILTER +msgid "Enable Search Filter" +msgstr "Enable Search Filter" + # TRANSLATION # LABEL/ID_ENABLE_USER #: LABEL/ID_ENABLE_USER @@ -26933,6 +26939,12 @@ msgstr "Tue" msgid "Type" msgstr "Type" +# TRANSLATION +# LABEL/ID_TYPE_OF_SEARCHING +#: LABEL/ID_TYPE_OF_SEARCHING +msgid "Type of Searching" +msgstr "Type of Searching" + # TRANSLATION # LABEL/ID_TYPE_PASSWORD #: LABEL/ID_TYPE_PASSWORD diff --git a/workflow/engine/data/mysql/insert.sql b/workflow/engine/data/mysql/insert.sql index 699b93784..39b228bd0 100755 --- a/workflow/engine/data/mysql/insert.sql +++ b/workflow/engine/data/mysql/insert.sql @@ -58127,6 +58127,7 @@ INSERT INTO TRANSLATION (TRN_CATEGORY,TRN_ID,TRN_LANG,TRN_VALUE,TRN_UPDATE_DATE ( 'LABEL','ID_ENABLE_PLUGIN_TIP','en','Enable the selected add-on','2014-10-21') , ( 'LABEL','ID_ENABLE_PMDRIVE','en','Enable Google Drive.','2016-01-05') , ( 'LABEL','ID_ENABLE_PMGMAIL','en','Enable PM Gmail','2015-07-27') , +( 'LABEL','ID_ENABLE_SEARCH_FILTER','en','Enable Search Filter','2021-08-13') , ( 'LABEL','ID_ENABLE_USER','en','Enable User','2014-10-10') , ( 'LABEL','ID_ENABLE_VERSIONING','en','Enable Versioning','2014-01-15') , ( 'LABEL','ID_ENABLE_VIRTUAL_KEYBOARD','en','Enable Virtual Keyboard (Only uxmodern skin)','2014-01-15') , @@ -61446,6 +61447,7 @@ INSERT INTO TRANSLATION (TRN_CATEGORY,TRN_ID,TRN_LANG,TRN_VALUE,TRN_UPDATE_DATE ( 'LABEL','ID_TRYING_CANCEL','en','You are tying to cancel the current case. Please be aware this action cannot be undone','2020-12-01') , ( 'LABEL','ID_TUE','en','Tue','2014-01-15') , ( 'LABEL','ID_TYPE','en','Type','2014-01-15') , +( 'LABEL','ID_TYPE_OF_SEARCHING','en','Type of Searching','2021-08-13') , ( 'LABEL','ID_TYPE_PASSWORD','en','Type Password','2020-12-15') , ( 'LABEL','ID_TYPE_PROCESS','en','Process Type','2014-10-22') , ( 'LABEL','ID_TWICE_PER_DAY','en','Twice per day','2014-10-22') , From 9e59bbe59908fa6df53706e35737433bdff5d27b Mon Sep 17 00:00:00 2001 From: Rodrigo Quelca Date: Fri, 13 Aug 2021 19:23:44 +0000 Subject: [PATCH 06/10] fix code style --- .../assets/js/admin/settings/customCaseList/CaseListSketch.vue | 1 - 1 file changed, 1 deletion(-) diff --git a/resources/assets/js/admin/settings/customCaseList/CaseListSketch.vue b/resources/assets/js/admin/settings/customCaseList/CaseListSketch.vue index 1231d477d..741574867 100644 --- a/resources/assets/js/admin/settings/customCaseList/CaseListSketch.vue +++ b/resources/assets/js/admin/settings/customCaseList/CaseListSketch.vue @@ -307,7 +307,6 @@ export default { closedRows: [], checkedRowsCaseList: [], columns: ["selected", "name", "field", "type", "source", "action"], - //data: utils.getData(), data: [], options: { headings: { From 0d1a1399f9080eee1caf606ddcac3a9b98c2b571 Mon Sep 17 00:00:00 2001 From: Rodrigo Quelca Date: Fri, 13 Aug 2021 19:35:34 +0000 Subject: [PATCH 07/10] fix code style 2 --- .../assets/js/admin/settings/customCaseList/CustomCaseList.vue | 1 - workflow/engine/data/mysql/insert.sql | 1 - 2 files changed, 2 deletions(-) diff --git a/resources/assets/js/admin/settings/customCaseList/CustomCaseList.vue b/resources/assets/js/admin/settings/customCaseList/CustomCaseList.vue index b61263674..80aee5a37 100644 --- a/resources/assets/js/admin/settings/customCaseList/CustomCaseList.vue +++ b/resources/assets/js/admin/settings/customCaseList/CustomCaseList.vue @@ -76,7 +76,6 @@ export default { this.showSketch = false; }, onInputTab(tabIndex){ - console.log(tabIndex); this.tabModule= this.tabs[tabIndex]; } } diff --git a/workflow/engine/data/mysql/insert.sql b/workflow/engine/data/mysql/insert.sql index 39b228bd0..c6ca49583 100755 --- a/workflow/engine/data/mysql/insert.sql +++ b/workflow/engine/data/mysql/insert.sql @@ -61138,7 +61138,6 @@ INSERT INTO TRANSLATION (TRN_CATEGORY,TRN_ID,TRN_LANG,TRN_VALUE,TRN_UPDATE_DATE ( 'LABEL','ID_SMTP_ERROR_USERNAME_NOT_ACCEPTED','en','Username not accepted by the server','2014-10-21') , ( 'LABEL','ID_SMTP_FAILED_CONNECT_SERVER','en','Failed to connect to server','2014-02-12') , ( 'LABEL','ID_SNAP_GEOMETRY','en','Snap Geometry','2014-01-15') , - ( 'LABEL','ID_SOMETHING_WRONG','en','Something was wrong','2014-01-15') , ( 'LABEL','ID_SOME_ACTORS_ALREADY_ASSIGNED','en','Some actor(s) is/are already assigned to task {0}','2014-01-15') , ( 'LABEL','ID_SOME_FIELDS_REQUIRED','en','Some Fields are required.','2014-01-15') , From df419c34f342ce288901b5e4c2fd2cafc09691c2 Mon Sep 17 00:00:00 2001 From: Andrea Adamczyk Date: Fri, 13 Aug 2021 17:16:33 -0400 Subject: [PATCH 08/10] PMCORE-952 --- .../engine/content/translations/english/processmaker.en.po | 6 ++++++ workflow/engine/data/mysql/insert.sql | 1 + workflow/engine/templates/actionsByEmail/report.js | 2 +- 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/workflow/engine/content/translations/english/processmaker.en.po b/workflow/engine/content/translations/english/processmaker.en.po index b78564129..0978080ad 100755 --- a/workflow/engine/content/translations/english/processmaker.en.po +++ b/workflow/engine/content/translations/english/processmaker.en.po @@ -9083,6 +9083,12 @@ msgstr "Fri" msgid "From" msgstr "From" +# TRANSLATION +# LABEL/ID_SENDER +#: LABEL/ID_SENDER +msgid "Sender" +msgstr "Sender" + # TRANSLATION # LABEL/ID_FROM_EMAIL #: LABEL/ID_FROM_EMAIL diff --git a/workflow/engine/data/mysql/insert.sql b/workflow/engine/data/mysql/insert.sql index 8e7848df6..cee066aee 100755 --- a/workflow/engine/data/mysql/insert.sql +++ b/workflow/engine/data/mysql/insert.sql @@ -58358,6 +58358,7 @@ INSERT INTO TRANSLATION (TRN_CATEGORY,TRN_ID,TRN_LANG,TRN_VALUE,TRN_UPDATE_DATE ( 'LABEL','ID_FORMS_METADATA_CACHE','en','Forms metadata cache','2014-01-15') , ( 'LABEL','ID_FRI','en','Fri','2014-01-15') , ( 'LABEL','ID_FROM','en','From','2014-01-15') , +( 'LABEL','ID_SENDER','en','Sender','2021-08-13') , ( 'LABEL','ID_FROM_EMAIL','en','Sender Email','2017-02-21') , ( 'LABEL','ID_FROM_FINISH_DATE','en','From Finish Date','2020-12-16') , ( 'LABEL','ID_FROM_NAME','en','Sender Name','2017-02-21') , diff --git a/workflow/engine/templates/actionsByEmail/report.js b/workflow/engine/templates/actionsByEmail/report.js index 015541e26..ccb246537 100644 --- a/workflow/engine/templates/actionsByEmail/report.js +++ b/workflow/engine/templates/actionsByEmail/report.js @@ -70,7 +70,7 @@ store = new Ext.data.GroupingStore( { {header: _("DATE_LABEL"), width: 100, dataIndex: "ABE_REQ_DATE", sortable: true}, {header: _("ID_CASE_NUMBER_CAPITALIZED"), width: 70, dataIndex: "APP_NUMBER", sortable: true}, {header: _("ID_SUBJECT"), width: 150, dataIndex: "ABE_REQ_SUBJECT", sortable: true}, - {header: _("ID_FROM"), width: 110, dataIndex: "USER", sortable: true}, + {header: _("ID_SENDER"), width: 110, dataIndex: "USER", sortable: true}, {header: _("ID_TO"), width: 110, dataIndex: "ABE_REQ_SENT_TO", sortable: true}, {header: _("ID_STATUS"), width: 40, dataIndex: "ABE_REQ_STATUS", sortable: true}, {header: _("ID_ANSWERED"), width: 60, dataIndex: "ABE_REQ_ANSWERED"}, From 052c3815fe504668e651f0276df5b8a603fb0b60 Mon Sep 17 00:00:00 2001 From: Andrea Adamczyk Date: Mon, 16 Aug 2021 09:44:59 -0400 Subject: [PATCH 09/10] PMCORE-3214 --- workflow/engine/src/ProcessMaker/Services/Api/Metrics.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Metrics.php b/workflow/engine/src/ProcessMaker/Services/Api/Metrics.php index 4259eb361..8128507d2 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Metrics.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Metrics.php @@ -73,7 +73,7 @@ class Metrics extends Api /** * Get total cases by range * - * @url /process-total-cases + * @url GET /process-total-cases * * @param string $caseList * @param int $processId @@ -89,6 +89,7 @@ class Metrics extends Api */ public function getTotalCasesByRange($caseList, $processId = null, $dateFrom = null, $dateTo = null, $groupBy = 'day') { + $usrId = $this->getUserId(); try { switch ($caseList) { case 'inbox': @@ -104,6 +105,7 @@ class Metrics extends Api $list = new Unassigned(); break; } + $list->setUserId($usrId); $result = $list->getCountersByRange($processId, $dateFrom, $dateTo, $groupBy); return $result; } catch (Exception $e) { From 247f9a08d770bb865d3e682211df56e6e9a526de Mon Sep 17 00:00:00 2001 From: fabio Date: Mon, 16 Aug 2021 12:19:06 -0400 Subject: [PATCH 10/10] PMCORE-3116:UI - Preview Option of the Case List in the same size as in the Home View. corrections --- .../assets/js/admin/Modals/ModalPreview.vue | 269 ++++++++++++++++++ .../admin/settings/customCaseList/Tables.vue | 121 +++++--- 2 files changed, 343 insertions(+), 47 deletions(-) create mode 100644 resources/assets/js/admin/Modals/ModalPreview.vue diff --git a/resources/assets/js/admin/Modals/ModalPreview.vue b/resources/assets/js/admin/Modals/ModalPreview.vue new file mode 100644 index 000000000..837dd74f9 --- /dev/null +++ b/resources/assets/js/admin/Modals/ModalPreview.vue @@ -0,0 +1,269 @@ + + + \ No newline at end of file diff --git a/resources/assets/js/admin/settings/customCaseList/Tables.vue b/resources/assets/js/admin/settings/customCaseList/Tables.vue index d02c764e0..1843f3d5a 100644 --- a/resources/assets/js/admin/settings/customCaseList/Tables.vue +++ b/resources/assets/js/admin/settings/customCaseList/Tables.vue @@ -1,6 +1,7 @@ \ No newline at end of file