From 7fe1ea0f8822a1ac77bdfcdc70e759b6278e6ebf Mon Sep 17 00:00:00 2001 From: Elsio Sanchez <45974454+elsiosanchez@users.noreply.github.com> Date: Wed, 5 May 2021 18:01:37 -0400 Subject: [PATCH] Add lock and unlock record to record access dialog box (#805) * Add lock and unlock record to record access dialog box * minima change * support mobile * minimal changes * delete comment * minimal changes Co-authored-by: elsiosanchez Co-authored-by: elsiosanchez --- .../ContextMenu/contextMenuDesktop.vue | 24 ++ .../ContextMenu/contextMenuMobile.vue | 24 ++ src/components/ADempiere/Dialog/embedded.vue | 8 +- src/components/ADempiere/Dialog/index.vue | 6 - .../ADempiere/RecordAccess/recordAccess.js | 25 +- .../RecordAccess/recordAccessDesktop.vue | 78 ++++-- .../RecordAccess/recordAccessMobile.vue | 249 +++++++++++++++--- src/lang/ADempiere/en.js | 14 +- src/lang/ADempiere/es.js | 14 +- 9 files changed, 372 insertions(+), 70 deletions(-) diff --git a/src/components/ADempiere/ContextMenu/contextMenuDesktop.vue b/src/components/ADempiere/ContextMenu/contextMenuDesktop.vue index 5f765223..d1ded097 100644 --- a/src/components/ADempiere/ContextMenu/contextMenuDesktop.vue +++ b/src/components/ADempiere/ContextMenu/contextMenuDesktop.vue @@ -119,6 +119,28 @@ + +
+
+ +
+
+ + + {{ $t('components.contextMenuShareLink') }} + + +

+ {{ $t('data.noDescription') }} +

+
+
+
@@ -268,6 +290,8 @@ export default { clickRunAction(action) { if (action === 'refreshData') { this.refreshData() + } else if (action === 'shareLink') { + this.setShareLink() } else if (action.action === 'recordAccess') { this.$store.commit('changeShowRigthPanel', true) this.$store.commit('setRecordAccess', true) diff --git a/src/components/ADempiere/ContextMenu/contextMenuMobile.vue b/src/components/ADempiere/ContextMenu/contextMenuMobile.vue index c7dc7ec1..ed4d6a82 100644 --- a/src/components/ADempiere/ContextMenu/contextMenuMobile.vue +++ b/src/components/ADempiere/ContextMenu/contextMenuMobile.vue @@ -73,6 +73,28 @@ + +
+
+ +
+
+ + + {{ $t('components.contextMenuShareLink') }} + + +

+ {{ $t('data.noDescription') }} +

+
+
+
@@ -218,6 +240,8 @@ export default { clickRunAction(action) { if (action === 'refreshData') { this.refreshData() + } else if (action === 'shareLink') { + this.setShareLink() } else if (action.action === 'recordAccess') { this.$store.commit('changeShowRigthPanel', true) this.$store.commit('setRecordAccess', true) diff --git a/src/components/ADempiere/Dialog/embedded.vue b/src/components/ADempiere/Dialog/embedded.vue index 939cbbbd..13398e7d 100644 --- a/src/components/ADempiere/Dialog/embedded.vue +++ b/src/components/ADempiere/Dialog/embedded.vue @@ -21,6 +21,7 @@ show-close :before-close="closeDialog" :width="width + '%'" + custom-class="embedded-style" top="5vh" close-on-press-escape close-on-click-modal @@ -80,7 +81,7 @@ export default { if (this.isMobile) { return 80 } - return 70 + return 90 }, attributeEmbedded() { return this.$store.getters.getAttributeEmbedded @@ -213,7 +214,7 @@ export default { diff --git a/src/components/ADempiere/Dialog/index.vue b/src/components/ADempiere/Dialog/index.vue index 60764a37..5c45a83c 100644 --- a/src/components/ADempiere/Dialog/index.vue +++ b/src/components/ADempiere/Dialog/index.vue @@ -58,7 +58,6 @@ icon="el-icon-close" @click="closeDialog" /> - alooooooooo !role.isLocked) + return this.recordAccess.roles.filter(role => !role.isRoleConfig) } else { return [] } @@ -79,7 +79,7 @@ export default { includedList: { get() { if (this.recordAccess.roles) { - return this.recordAccess.roles.filter(role => role.isLocked) + return this.recordAccess.roles.filter(role => role.isRoleConfig) } else { return [] } @@ -105,13 +105,16 @@ export default { access.availableRoles.forEach(role => { this.recordAccess.roles.push({ ...role, - isLocked: false + isRoleConfig: false, + isLocked: role.isExclude }) }) access.currentRoles.forEach(role => { - this.recordAccess.roles.find(availableRole => availableRole.roleId === role.roleId).isLocked = true + this.recordAccess.roles.find(availableRole => availableRole.roleId === role.roleId).isLocked = role.isExclude + this.recordAccess.roles.find(availableRole => availableRole.roleId === role.roleId).isRoleConfig = true this.recordAccess.roles.find(availableRole => availableRole.roleId === role.roleId).isDependentEntities = role.isDependentEntities this.recordAccess.roles.find(availableRole => availableRole.roleId === role.roleId).isReadOnly = role.isReadOnly + this.recordAccess.roles.find(availableRole => availableRole.roleId === role.roleId).isExclude = role.isExclude }) }) }, @@ -143,7 +146,7 @@ export default { index, element }) { - this.recordAccess.roles[index].isLocked = true + this.recordAccess.roles[index].isRoleConfig = true }, /** * @param {number} index: the index of the element before remove @@ -153,7 +156,7 @@ export default { index, element }) { - this.recordAccess.roles[index].isLocked = false + this.recordAccess.roles[index].isRoleConfig = false }, getOrder(arrayToSort, orderBy = this.order) { return arrayToSort.sort((itemA, itemB) => { @@ -181,6 +184,16 @@ export default { console.warn(`setPreference error: ${error.message}.`) }) }, + validateList(list) { + list.forEach(element => { + if (element.isExclude) { + element.isReadOnly = false + } else { + element.isDependentEntities = false + } + }) + return list + }, close() { this.$store.dispatch('setShowDialog', { type: 'window', diff --git a/src/components/ADempiere/RecordAccess/recordAccessDesktop.vue b/src/components/ADempiere/RecordAccess/recordAccessDesktop.vue index 04000ed1..164b51fe 100644 --- a/src/components/ADempiere/RecordAccess/recordAccessDesktop.vue +++ b/src/components/ADempiere/RecordAccess/recordAccessDesktop.vue @@ -22,11 +22,11 @@ :key="1" class="kanban todo" header-text="Todo" - style="padding: 0px;margin: 0px;width: 35%;padding-right: 3%;" + style="padding: 0px;margin: 0px;width: 35%;padding-right: 2%;" >
- {{ $t('data.recordAccess.hideRecord') }} ({{ excludedList.length }}) + {{ $t('data.recordAccess.availableRoles') }} ({{ excludedList.length }})
- + + +
@@ -59,11 +66,11 @@ :key="2" class="kanban working" header-text="Working" - style="padding: 0px;margin: 0px;width: 65%;padding-right: 3%;" + style="padding: 0px;margin: 0px;width: 65%;padding-right: 1.5%;" >
- {{ $t('data.recordAccess.recordDisplay') }} ({{ includedList.length }}) + {{ $t('data.recordAccess.configRoles') }} ({{ includedList.length }})
- + + + -