diff --git a/ayanova/src/api/open-object-handler.js b/ayanova/src/api/open-object-handler.js index b3c831fc..2eaecf36 100644 --- a/ayanova/src/api/open-object-handler.js +++ b/ayanova/src/api/open-object-handler.js @@ -49,7 +49,7 @@ export default { }); } else { vm.$router.push({ - name: "customer-user", + name: "cust-user", params: { recordid: tid.id } }); } diff --git a/ayanova/src/components/role-control.vue b/ayanova/src/components/role-control.vue index 87ab1dab..51be782d 100644 --- a/ayanova/src/components/role-control.vue +++ b/ayanova/src/components/role-control.vue @@ -21,9 +21,21 @@ export default { async created() { await window.$gz.enums.fetchEnumList("AuthorizationRoles"); - this.availableRoles = window.$gz.enums.getSelectionList( - "AuthorizationRoles" - ); + let rawRoles = window.$gz.enums.getSelectionList("AuthorizationRoles"); + if (this.limitSelectionTo == null) { + this.availableRoles = rawRoles; + } else { + if (this.limitSelectionTo == "inside") { + //CustomerLimited=2048, CustomerFull=4096 + this.availableRoles = rawRoles.filter( + z => z.id != 2048 && z.id != 4096 + ); + } else { + this.availableRoles = rawRoles.filter( + z => z.id == 2048 || z.id == 4096 + ); + } + } }, data() { return { @@ -42,6 +54,7 @@ export default { type: String, required: false }, + limitSelectionTo: { type: String, default: null }, //"inside" - no customer roles, "outside" - no non-customer roles testId: String }, computed: { diff --git a/ayanova/src/views/adm-user.vue b/ayanova/src/views/adm-user.vue index 9a6847f1..5e1e335b 100644 --- a/ayanova/src/views/adm-user.vue +++ b/ayanova/src/views/adm-user.vue @@ -56,6 +56,7 @@ testId="roles" :error-messages="form().serverErrors(this, 'roles')" @input="fieldValueChanged('roles')" + limitSelectionTo="inside" > diff --git a/ayanova/src/views/cust-user.vue b/ayanova/src/views/cust-user.vue index 711f8d31..65e90c14 100644 --- a/ayanova/src/views/cust-user.vue +++ b/ayanova/src/views/cust-user.vue @@ -11,6 +11,27 @@ + + + + - - - @@ -734,7 +740,7 @@ async function fetchTranslatedText(vm) { await window.$gz.translation.cacheTranslations([ "User", "Name", - "UserEmployeeNumber", + "Customer", "NewLogin", "NewPassword", "AuthorizationRoles", @@ -765,9 +771,9 @@ async function fetchTranslatedText(vm) { // async function populateSelectionLists(vm) { //ensure the pick lists required are pre-fetched - await window.$gz.enums.fetchEnumList("insideusertype"); + await window.$gz.enums.fetchEnumList("outsideusertype"); vm.selectLists.usertypes = window.$gz.enums.getSelectionList( - "insideusertype" + "outsideusertype" ); } diff --git a/ayanova/src/views/cust-users.vue b/ayanova/src/views/cust-users.vue index 02e95d74..42a35cc2 100644 --- a/ayanova/src/views/cust-users.vue +++ b/ayanova/src/views/cust-users.vue @@ -66,7 +66,7 @@ export default { window.$gz.eventBus.$emit("openobject", { type: window.$gz.type.User, id: item.id, - inside: true + inside: false }); }, rolesDisplayFromRoles(roles) { @@ -112,7 +112,7 @@ export default { id: o.id, name: o.name, active: o.active, - userType: window.$gz.enums.get("insideusertype", o.userType), + userType: window.$gz.enums.get("outsideusertype", o.userType), lastLogin: window.$gz.locale.utcDateToShortDateAndTimeLocalized( o.lastLogin, this.timeZoneName,