diff --git a/ayanova/src/components/gz-data-table.vue b/ayanova/src/components/gz-data-table.vue index 3711c94a..bd8f56e5 100644 --- a/ayanova/src/components/gz-data-table.vue +++ b/ayanova/src/components/gz-data-table.vue @@ -690,6 +690,9 @@ function buildRecords(listData, columndefinitions) { let hour12 = window.$gz.store.state.userOptions.hour12; let currencyName = window.$gz.store.state.userOptions.currencyName; + //this will cache the first time it's required (if required) + let availableRoles = null; + //comes as an array of arrays, needs to leave as an array of objects representing each row for (let iRow = 0; iRow < listData.length; iRow++) { let row = listData[iRow]; @@ -821,7 +824,24 @@ function buildRecords(listData, columndefinitions) { ); break; case 17: //Authorization Roles - //do nothing yet + if (availableRoles == null) { + availableRoles = window.$gz.enums.getSelectionList( + "AuthorizationRoles" + ); + } + let roles = display; + let roleNames = []; + + if (roles != null && roles != 0) { + for (let i = 0; i < availableRoles.length; i++) { + let role = availableRoles[i]; + if (!!(roles & role.id)) { + roleNames.push(role.name); + } + } + } + display = roleNames.join(", "); + break; default: //do nothing, allow it to stay as is (checkbox, plain text etc) diff --git a/ayanova/src/views/inv-parts.vue b/ayanova/src/views/inv-parts.vue index 6752021b..059f779e 100644 --- a/ayanova/src/views/inv-parts.vue +++ b/ayanova/src/views/inv-parts.vue @@ -14,6 +14,7 @@ :dataListFilter="dataListFilter" :dataListSort="dataListSort" :showSelect="rights.change" + :metaView="metaView" v-on:selection-change="handleSelected" data-cy="insideUsersTable" > @@ -25,6 +26,21 @@ const FORM_KEY = "inside-user-list"; export default { created() { + //FILTER OUT INSIDE: {"offset":0,"limit":50,"dataListKey":"TestWidgetDataList","listView":"[{\"fld\":\"widgetname\"},{\"fld\":\"widgetserial\"},{\"fld\":\"widgetdollaramount\"},{\"fld\":\"widgetusertype\",\"filter\":{\"items\":[{\"op\":\"=\",\"value\":3},{\"op\":\"=\",\"value\":4}],\"any\":true}},{\"fld\":\"widgetstartdate\"},{\"fld\":\"widgetactive\"},{\"fld\":\"username\"}]"} + //FILTER OUT OUTSIDE: {"offset":0,"limit":50,"dataListKey":"TestWidgetDataList","listView":"[{\"fld\":\"widgetname\"},{\"fld\":\"widgetserial\"},{\"fld\":\"widgetdollaramount\"},{\"fld\":\"widgetusertype\",\"filter\":{\"items\":[{\"op\":\"!=\",\"value\":3},{\"op\":\"!=\",\"value\":4}]}},{\"fld\":\"widgetstartdate\"},{\"fld\":\"widgetactive\"},{\"fld\":\"username\"}]"} + //filter OUT Outside (customer, ho) users + this.metaView = JSON.stringify([ + { + fld: "usertype", + filter: { + items: [ + { op: "!=", value: 3 }, + { op: "!=", value: 4 } + ] + } + } + ]); + this.rights = window.$gz.role.getRights(window.$gz.type.User); window.$gz.eventBus.$on("menu-click", clickHandler); generateMenu(this); @@ -38,6 +54,7 @@ export default { dataListKey: "InsideUserDataList", dataListFilter: "", dataListSort: "", + metaView: undefined, rights: window.$gz.role.defaultRightsObject(), ayType: window.$gz.type.User, selectedItems: []