diff --git a/resources/assets/js/admin/settings/customCaseList/Api/CaseList.js b/resources/assets/js/admin/settings/customCaseList/Api/CaseList.js index c6692a7b6..64c6fcaf3 100644 --- a/resources/assets/js/admin/settings/customCaseList/Api/CaseList.js +++ b/resources/assets/js/admin/settings/customCaseList/Api/CaseList.js @@ -2,6 +2,7 @@ import axios from "axios"; import Api from "../../../../api/Api"; import Services from "./Services"; import Defaults from "./Mocks/defaults.json"; +import { RCBase64 } from '../../../../utils/utils.js' class caseListApi extends Api { constructor(services) { // Here, it calls the parent class' constructor with lengths @@ -42,13 +43,14 @@ class caseListApi extends Api { * @returns */ deleteCaseList(data) { + var base64 = RCBase64(); return axios.delete( window.config.SYS_SERVER_API + '/api/1.0/' + window.config.SYS_WORKSPACE + '/caseList/' + data.id, { headers: { - 'Authorization': 'Bearer ' + window.config.SYS_CREDENTIALS.accessToken, + 'Authorization': 'Bearer ' + JSON.parse(base64.decode(window.config.SYS_CREDENTIALS)).accessToken, "Accept-Language": window.config.SYS_LANG } } diff --git a/resources/assets/js/home/CustomCaseList/CustomCaseList.vue b/resources/assets/js/home/CustomCaseList/CustomCaseList.vue index d69bc4ddf..bb9e625fe 100644 --- a/resources/assets/js/home/CustomCaseList/CustomCaseList.vue +++ b/resources/assets/js/home/CustomCaseList/CustomCaseList.vue @@ -337,7 +337,6 @@ export default { icon: "fas fa-check-circle", options: { filterable: false, - headings: {}, texts: { count: this.$i18n.t("ID_SHOWING_FROM_RECORDS_COUNT"), first: this.$i18n.t("ID_FIRST"), @@ -794,7 +793,10 @@ export default { product, newItems = []; that.filterItems = []; - that.headings = {}; + that.headings = { + detail: this.$i18n.t("ID_DETAIL_CASE"), + actions: "", + }; response.data.columns.forEach((item) => { if (item.enableFilter) { if (that.availableItems[that.itemMap[item.field]]) { diff --git a/resources/assets/js/home/MyCases/MyCases.vue b/resources/assets/js/home/MyCases/MyCases.vue index 1007c6901..839373b50 100644 --- a/resources/assets/js/home/MyCases/MyCases.vue +++ b/resources/assets/js/home/MyCases/MyCases.vue @@ -460,7 +460,7 @@ export default { PROCESS_NAME: v.PRO_TITLE, PROCESS_NAME: v.PRO_TITLE, PROCESS_CATEGORY: v.CATEGORY, - STATUS: v.APP_STATUS, + STATUS: this.$i18n.t("ID_CASES_STATUS_"+ v.APP_STATUS.toUpperCase()), START_DATE: v.APP_CREATE_DATE_LABEL || "", FINISH_DATE: v.APP_FINISH_DATE_LABEL || "", PENDING_TASKS: that.formantPendingTask( diff --git a/resources/assets/js/home/TaskMetrics/VueChartLvOne.vue b/resources/assets/js/home/TaskMetrics/VueChartLvOne.vue index 719ffe16c..5e82acd4c 100644 --- a/resources/assets/js/home/TaskMetrics/VueChartLvOne.vue +++ b/resources/assets/js/home/TaskMetrics/VueChartLvOne.vue @@ -85,7 +85,7 @@ @@ -100,10 +100,11 @@ import BreadCrumb from "../../components/utils/BreadCrumb.vue"; import ProcessPopover from "./ProcessPopover.vue"; import Multiselect from "vue-multiselect"; import eventBus from "./../EventBus/eventBus"; +import mixinLocales from "./mixinsLocales"; export default { name: "VueChartLvOne", - mixins: [], + mixins: [mixinLocales], components: { Multiselect, BreadCrumb, @@ -137,7 +138,7 @@ export default { data: [], }, ], - optionsBar: { + options: { chart: { type: "bar", id: "LevelOneChart", diff --git a/resources/assets/js/home/TaskMetrics/VueChartLvThree.vue b/resources/assets/js/home/TaskMetrics/VueChartLvThree.vue index 054744647..ca7fd3edd 100644 --- a/resources/assets/js/home/TaskMetrics/VueChartLvThree.vue +++ b/resources/assets/js/home/TaskMetrics/VueChartLvThree.vue @@ -69,7 +69,7 @@ " class="btn vp-btn-success btn-sm" > - On Time + {{ $t("ID_TASK_ON_TIME") }} @@ -112,10 +112,11 @@ import BreadCrumb from "../../components/utils/BreadCrumb.vue"; import moment from "moment"; import ModalUnpauseCase from "../modal/ModalUnpauseCase.vue"; import ModalClaimCase from "../modal/ModalClaimCase.vue"; +import mixinLocales from "./mixinsLocales"; export default { name: "VueChartLvThree", - mixins: [], + mixins: [mixinLocales], components: { Multiselect, BreadCrumb, @@ -357,7 +358,7 @@ export default { tickAmount: 7, }, title: { - text: "Overdue days", + text: this.$t("ID_TASK_OVERDUE_DAYS"), }, }); break; @@ -369,7 +370,7 @@ export default { tickAmount: 7, }, title: { - text: "Days before being Overdue", + text: this.$t("ID_TASK_DAYS_BEFORE_OVERDUE"), }, }); break; @@ -381,7 +382,7 @@ export default { tickAmount: 7, }, title: { - text: "Days before being At-Risk", + text: this.$t("ID_TASK_DAYS_BEFORE_AT_RISK"), }, }); break; diff --git a/resources/assets/js/home/TaskMetrics/VueChartLvTwo.vue b/resources/assets/js/home/TaskMetrics/VueChartLvTwo.vue index 10ddd3c28..f972dec09 100644 --- a/resources/assets/js/home/TaskMetrics/VueChartLvTwo.vue +++ b/resources/assets/js/home/TaskMetrics/VueChartLvTwo.vue @@ -87,9 +87,10 @@ import Multiselect from "vue-multiselect"; import BreadCrumb from "../../components/utils/BreadCrumb.vue"; import moment from "moment"; import eventBus from "./../EventBus/eventBus"; +import mixinLocales from "./mixinsLocales"; export default { name: "VueChartLvTwo", - mixins: [], + mixins: [mixinLocales], components: { Multiselect, BreadCrumb, diff --git a/resources/assets/js/home/TaskMetrics/mixinsLocales.js b/resources/assets/js/home/TaskMetrics/mixinsLocales.js new file mode 100644 index 000000000..72c240183 --- /dev/null +++ b/resources/assets/js/home/TaskMetrics/mixinsLocales.js @@ -0,0 +1,78 @@ +export default { + data() { + let that = this; + return { + options: { + chart: { + locales: [ + { + name: "en", + options: { + months: [ + this.$t("ID_MONTH_1"), + this.$t("ID_MONTH_2"), + this.$t("ID_MONTH_3"), + this.$t("ID_MONTH_4"), + this.$t("ID_MONTH_5"), + this.$t("ID_MONTH_6"), + this.$t("ID_MONTH_7"), + this.$t("ID_MONTH_8"), + this.$t("ID_MONTH_9"), + this.$t("ID_MONTH_10"), + this.$t("ID_MONTH_11"), + this.$t("ID_MONTH_12"), + ], + shortMonths: [ + this.$t("ID_MONTH_ABB_1"), + this.$t("ID_MONTH_ABB_2"), + this.$t("ID_MONTH_ABB_3"), + this.$t("ID_MONTH_ABB_4"), + this.$t("ID_MONTH_ABB_5"), + this.$t("ID_MONTH_ABB_6"), + this.$t("ID_MONTH_ABB_7"), + this.$t("ID_MONTH_ABB_8"), + this.$t("ID_MONTH_ABB_9"), + this.$t("ID_MONTH_ABB_10"), + this.$t("ID_MONTH_ABB_11"), + this.$t("ID_MONTH_ABB_12"), + ], + days: [ + this.$t("ID_WEEKDAY_0"), + this.$t("ID_WEEKDAY_1"), + this.$t("ID_WEEKDAY_2"), + this.$t("ID_WEEKDAY_3"), + this.$t("ID_WEEKDAY_4"), + this.$t("ID_WEEKDAY_5"), + this.$t("ID_WEEKDAY_6"), + ], + shortDays: [ + this.$t("ID_WEEKDAY_ABB_0"), + this.$t("ID_WEEKDAY_ABB_1"), + this.$t("ID_WEEKDAY_ABB_2"), + this.$t("ID_WEEKDAY_ABB_3"), + this.$t("ID_WEEKDAY_ABB_4"), + this.$t("ID_WEEKDAY_ABB_5"), + this.$t("ID_WEEKDAY_ABB_6"), + ], + toolbar: { + exportToSVG: this.$t("ID_DOWNLOAD_SVG"), + exportToPNG: this.$t("ID_DOWNLOAD_PNG"), + menu: this.$t("ID_MENU"), + selection: this.$t( + "ID_PROCESSMAP_SELECTION" + ), + selectionZoom: this.$t("ID_SELECTION_ZOOM"), + zoomIn: this.$t("ID_ZOOM_IN"), + zoomOut: this.$t("ID_ZOOM_OUT"), + pan: this.$t("ID_PANNING"), + reset: this.$t("ID_RESET"), + }, + }, + }, + ], + defaultLocale: "en", + }, + }, + }; + }, +}; diff --git a/workflow/engine/content/translations/english/processmaker.en.po b/workflow/engine/content/translations/english/processmaker.en.po index 62c41e2a6..6fb10543d 100755 --- a/workflow/engine/content/translations/english/processmaker.en.po +++ b/workflow/engine/content/translations/english/processmaker.en.po @@ -7019,6 +7019,18 @@ msgstr "Down" msgid "Download" msgstr "Download" +# TRANSLATION +# LABEL/ID_DOWNLOAD_SVG +#: LABEL/ID_DOWNLOAD_SVG +msgid "Download SVG" +msgstr "Download SVG" + +# TRANSLATION +# LABEL/ID_DOWNLOAD_PNG +#: LABEL/ID_DOWNLOAD_PNG +msgid "Download PNG" +msgstr "Download PNG" + # TRANSLATION # LABEL/ID_DOWNLOADING_FILE #: LABEL/ID_DOWNLOADING_FILE @@ -19211,6 +19223,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 +#: LABEL/ID_MENU +msgid "Menu" +msgstr "Menu" + # TRANSLATION # LABEL/ID_MENU_COLOR #: LABEL/ID_MENU_COLOR @@ -21299,6 +21317,12 @@ msgstr "Page" msgid "Page Size" msgstr "Page Size" +# TRANSLATION +# LABEL/ID_PANNING +#: LABEL/ID_PANNING +msgid "Panning" +msgstr "Panning" + # TRANSLATION # LABEL/ID_PARALLEL_TASK #: LABEL/ID_PARALLEL_TASK @@ -24587,6 +24611,12 @@ msgstr "See complete list" msgid "Select" msgstr "Select" +# TRANSLATION +# LABEL/ID_SELECTION_ZOOM +#: LABEL/ID_SELECTION_ZOOM +msgid "Selection zoom" +msgstr "Selection zoom" + # TRANSLATION # LABEL/ID_SELECTED #: LABEL/ID_SELECTED @@ -26237,6 +26267,30 @@ msgstr "The task doesn't have any steps" msgid "Overdue" msgstr "Overdue" +# TRANSLATION +# LABEL/ID_TASK_OVERDUE_DAYS +#: LABEL/ID_TASK_OVERDUE_DAYS +msgid "Overdue days" +msgstr "Overdue days" + +# TRANSLATION +# LABEL/ID_TASK_DAYS_BEFORE_AT_RISK +#: LABEL/ID_TASK_DAYS_BEFORE_AT_RISK +msgid "Days before being At-Risk" +msgstr "Days before being At-Risk" + +# TRANSLATION +# LABEL/ID_TASK_DAYS_BEFORE_OVERDUE +#: LABEL/ID_TASK_DAYS_BEFORE_OVERDUE +msgid "Days before being Overdue" +msgstr "Days before being Overdue" + +# TRANSLATION +# LABEL/ID_TASK_ON_TIME +#: LABEL/ID_TASK_ON_TIME +msgid "On time" +msgstr "On time" + # TRANSLATION # LABEL/ID_TASK_PROPERTIES_SAVE #: LABEL/ID_TASK_PROPERTIES_SAVE @@ -29057,6 +29111,18 @@ msgstr "You uploaded an unsupported file extension, please review the permitted msgid "Zip Code" msgstr "Zip Code" +# TRANSLATION +# LABEL/ID_ZOOM_IN +#: LABEL/ID_ZOOM_IN +msgid "Zoom in" +msgstr "Zoom in" + +# TRANSLATION +# LABEL/ID_ZOOM_OUT +#: LABEL/ID_ZOOM_OUT +msgid "Zoom out" +msgstr "Zoom out" + # TRANSLATION # LABEL/IMAGE_DETAIL #: LABEL/IMAGE_DETAIL @@ -53341,4 +53407,10 @@ msgstr "Sorry, No Solid icons found!" # LABEL/ID_SELECT_PROCESS_DRILL #: LABEL/ID_SELECT_PROCESS_DRILL msgid "Select a process to have the Drilling Down Options" -msgstr "Select a process to have the Drilling Down Options" \ No newline at end of file +msgstr "Select a process to have the Drilling Down Options" + +# TRANSLATION +# LABEL/ID_TASK_METRICS +#: LABEL/ID_TASK_METRICS +msgid "Task metrics" +msgstr "Task metrics" \ No newline at end of file diff --git a/workflow/engine/data/mysql/insert.sql b/workflow/engine/data/mysql/insert.sql index ef3173e02..5e94762a8 100755 --- a/workflow/engine/data/mysql/insert.sql +++ b/workflow/engine/data/mysql/insert.sql @@ -58001,6 +58001,8 @@ INSERT INTO TRANSLATION (TRN_CATEGORY,TRN_ID,TRN_LANG,TRN_VALUE,TRN_UPDATE_DATE ( 'LABEL','ID_DONT_MODIFY_PK_VALUE','en','You can not modify the primary key value for "{0}" field.','2014-01-15') , ( 'LABEL','ID_DOWN','en','Down','2014-01-15') , ( 'LABEL','ID_DOWNLOAD','en','Download','2014-01-15') , +( 'LABEL','ID_DOWNLOAD_SVG','en','Download SVG','2022-01-07') , +( 'LABEL','ID_DOWNLOAD_PNG','en','Download PNG','2022-01-07') , ( 'LABEL','ID_DOWNLOADING_FILE','en','Downloading file','2014-01-15') , ( 'LABEL','ID_DOWNLOADING_UPGRADE','en','Downloading upgrade:','2014-09-18') , ( 'LABEL','ID_DOWNLOAD_MANUALLY','en','You can download it manually here','2014-09-18') , @@ -60097,6 +60099,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','en','Menu','2022-01-07') , ( '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') , @@ -60457,6 +60460,7 @@ INSERT INTO TRANSLATION (TRN_CATEGORY,TRN_ID,TRN_LANG,TRN_VALUE,TRN_UPDATE_DATE ( 'LABEL','ID_OWNER_TYPE','en','Owner type','2015-05-08') , ( 'LABEL','ID_PAGE','en','Page','2014-01-15') , ( 'LABEL','ID_PAGE_SIZE','en','Page Size','2014-01-15') , +( 'LABEL','ID_PANNING','en','Panning','2022-01-07') , ( 'LABEL','ID_PARALLEL_TASK','en','Parallel Task','2014-01-15') , ( 'LABEL','ID_PARAMETERS','en','Parameters','2014-01-15') , ( 'LABEL','ID_PARENT_DEPARTMENT_NOT_EXIST','en','Parent department doesn''t exist','2014-01-15') , @@ -61023,6 +61027,7 @@ INSERT INTO TRANSLATION (TRN_CATEGORY,TRN_ID,TRN_LANG,TRN_VALUE,TRN_UPDATE_DATE ( 'LABEL','ID_SEE','en','See','2014-01-15') , ( 'LABEL','ID_SEE_FULL_LIST','en','See complete list','2016-02-29') , ( 'LABEL','ID_SELECT','en','Select','2014-01-15') , +( 'LABEL','ID_SELECTION_ZOOM','en','Selection zoom','2022-01-07') , ( 'LABEL','ID_SELECTED','en','selected','2014-01-15') , ( 'LABEL','ID_SELECTED_FIELD','en','selected field','2014-01-15') , ( 'LABEL','ID_SELECTED_IMAGE_DELETED','en','The selected image has been deleted.','2014-01-15') , @@ -61312,6 +61317,10 @@ INSERT INTO TRANSLATION (TRN_CATEGORY,TRN_ID,TRN_LANG,TRN_VALUE,TRN_UPDATE_DATE ( 'LABEL','ID_TASK_NOT_RELATED','en','[Not related to a task]','2014-01-15') , ( 'LABEL','ID_TASK_NO_STEPS','en','The task doesn''t have any steps','2014-01-15') , ( 'LABEL','ID_TASK_OVERDUE','en','Overdue','2015-06-09') , +( 'LABEL','ID_TASK_OVERDUE_DAYS','en','Overdue days','2022-01-07') , +( 'LABEL','ID_TASK_DAYS_BEFORE_AT_RISK','en','Days before being At-Risk','2022-01-07') , +( 'LABEL','ID_TASK_DAYS_BEFORE_OVERDUE','en','Days before being Overdue','2022-01-07') , +( 'LABEL','ID_TASK_ON_TIME','en','On time','2022-01-07') , ( 'LABEL','ID_TASK_PROPERTIES_SAVE','en','Task properties has been saved successfully','2014-01-15') , ( 'LABEL','ID_TASK_REASSIGNMENTS','en','Task Reassignments','2020-12-07') , ( 'LABEL','ID_TASK_TITLE','en','Task Title','2020-12-17') , @@ -61835,6 +61844,8 @@ INSERT INTO TRANSLATION (TRN_CATEGORY,TRN_ID,TRN_LANG,TRN_VALUE,TRN_UPDATE_DATE ( 'LABEL','ID_YOU_HAVE_ERROR','en','you have an error','2014-01-15') , ( 'LABEL','ID_YOU_UPLOADED_AN_UNSUPPORTED_FILE_EXTENSION','en','You uploaded an unsupported file extension, please review the permitted files uploaded in the wiki of ProcessMaker for the cases notes.','2020-06-12') , ( 'LABEL','ID_ZIP_CODE','en','Zip Code','2014-01-15') , +( 'LABEL','ID_ZOOM_IN','en','Zoom in','2022-01-07') , +( 'LABEL','ID_ZOOM_OUT','en','Zoom out','2022-01-07') , ( 'LABEL','IMAGE_DETAIL','en','Image detail','2014-01-15') , ( 'LABEL','IMPORT_LANGUAGE_ERR_NO_WRITABLE','en','The XML forms directory is not writable','2014-01-15') , ( 'LABEL','IMPORT_LANGUAGE_ERR_NO_WRITABLE2','en','Some files within XMLFORM directory are not writable, to install or update the translations the system requires that all files are writable. Contact your system administrator please.','2014-01-15') , diff --git a/workflow/engine/methods/cases/casesListSetup.php b/workflow/engine/methods/cases/casesListSetup.php index 58d652fa2..a87523cee 100644 --- a/workflow/engine/methods/cases/casesListSetup.php +++ b/workflow/engine/methods/cases/casesListSetup.php @@ -26,7 +26,7 @@ $oHeadPublisher->assignNumber("availableFields", G::json_encode($availableFields $userCanAccess = 1; $pmDynaform = new PmDynaform(); -ScriptVariables::add('SYS_CREDENTIALS', $pmDynaform->getCredentials()); +ScriptVariables::add('SYS_CREDENTIALS', base64_encode(G::json_encode($pmDynaform->getCredentials()))); ScriptVariables::add('SYS_SERVER_API', System::getHttpServerHostnameRequestsFrontEnd()); ScriptVariables::add('SYS_SERVER_AJAX', System::getServerProtocolHost()); ScriptVariables::add('SYS_WORKSPACE', config("system.workspace")); diff --git a/workflow/engine/src/ProcessMaker/Project/Adapter/WorkflowBpmn.php b/workflow/engine/src/ProcessMaker/Project/Adapter/WorkflowBpmn.php index 517c5924d..8267f09f6 100644 --- a/workflow/engine/src/ProcessMaker/Project/Adapter/WorkflowBpmn.php +++ b/workflow/engine/src/ProcessMaker/Project/Adapter/WorkflowBpmn.php @@ -87,9 +87,15 @@ class WorkflowBpmn extends Project\Workflow return parent::getList($start, $limit, $filter, $changeCaseTo); } - public function remove($flagRemoveCases = true, $onlyDiagram = false) + /** + * Remove project bpmn. + * @param bool $flagRemoveCases + * @param bool $onlyDiagram + * @param array $objectsToImport + */ + public function remove($flagRemoveCases = true, $onlyDiagram = false, $objectsToImport = []) { - parent::remove($flagRemoveCases, $onlyDiagram); + parent::remove($flagRemoveCases, $onlyDiagram, $objectsToImport); $this->bp->remove(); }