diff --git a/src/api/ADempiere/actions/private-access.js b/src/api/ADempiere/actions/private-access.js index a69ec29a..d80d7fcc 100644 --- a/src/api/ADempiere/actions/private-access.js +++ b/src/api/ADempiere/actions/private-access.js @@ -35,8 +35,9 @@ export function getPrivateAccess({ .then(responsePrivateAccess => { return { tableName: responsePrivateAccess.table_name, - recordId: responsePrivateAccess.record_id, - recordUuid: responsePrivateAccess.record_uuid + recordId: responsePrivateAccess.id, + recordUuid: responsePrivateAccess.uuid, + isLocked: responsePrivateAccess.is_locked } }) } diff --git a/src/components/ADempiere/Tab/index.vue b/src/components/ADempiere/Tab/index.vue index 804fb815..9fa2104b 100644 --- a/src/components/ADempiere/Tab/index.vue +++ b/src/components/ADempiere/Tab/index.vue @@ -31,10 +31,10 @@ - + - + {{ tabAttributes.name }} @@ -129,14 +129,13 @@ export default { methods: { lockRecord() { const tableName = this.windowMetadata.firstTab.tableName - const action = this.lock ? 'lockRecord' : 'unlockRecord' + const action = this.lock ? 'unlockRecord' : 'lockRecord' this.$store.dispatch(action, { tableName, recordId: this.record[tableName + '_ID'], recordUuid: this.record.UUID }) .then(() => { - this.lock = !this.lock this.$message({ type: 'success', message: this.$t('data.notification.' + action), @@ -144,13 +143,22 @@ export default { }) }) .catch(() => { - this.lock = !this.lock this.$message({ type: 'error', message: this.$t('data.isError') + this.$t('data.' + action), showClose: true }) }) + .finally(() => { + this.$store.dispatch('getPrivateAccessFromServer', { + tableName, + recordId: this.record[tableName + '_ID'], + recordUuid: this.record.UUID + }) + .then(privateAccessResponse => { + this.lock = privateAccessResponse.isLocked + }) + }) }, setCurrentTab() { this.$store.dispatch('setCurrentTab', { diff --git a/src/store/modules/ADempiere/data/actions.js b/src/store/modules/ADempiere/data/actions.js index 9e87271f..b61f596b 100644 --- a/src/store/modules/ADempiere/data/actions.js +++ b/src/store/modules/ADempiere/data/actions.js @@ -765,18 +765,8 @@ const actions = { recordUuid }) .then(privateAccessResponse => { - // TODO: Evaluate uuid record - if (!isEmptyValue(privateAccessResponse.tableName)) { - return { - isLocked: false, - tableName, - recordId, - recordUuid - } - } return { - ...privateAccessResponse, - isLocked: true + ...privateAccessResponse } }) .catch(error => {