From b4bbf30a20b689ef5fa3818a31e38212d9b8acf8 Mon Sep 17 00:00:00 2001 From: erikbocks Date: Thu, 19 Mar 2026 16:51:22 -0300 Subject: [PATCH 1/3] Hide inactive offerings from User type accounts --- ui/src/config/section/offering.js | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/ui/src/config/section/offering.js b/ui/src/config/section/offering.js index 9d7b743a70aa..7b1003bef9a1 100644 --- a/ui/src/config/section/offering.js +++ b/ui/src/config/section/offering.js @@ -32,14 +32,18 @@ export default { permission: ['listServiceOfferings'], searchFilters: ['name', 'gpuenabled', 'zoneid', 'domainid', 'cpunumber', 'cpuspeed', 'memory'], params: () => { - var params = {} if (['Admin', 'DomainAdmin'].includes(store.getters.userInfo.roletype)) { - params = { isrecursive: 'true' } + return { isrecursive: 'true' } } - return params + return { state: 'Active' } }, - filters: ['active', 'inactive'], - columns: ['name', 'displaytext', 'state', 'cpunumber', 'cpuspeed', 'memory', 'gpu', 'domain', 'zone', 'order'], + filters: () => { + if (['Admin', 'DomainAdmin'].includes(store.getters.userInfo.roletype)) { + return ['active', 'inactive'] + } + return [] + }, + columns: ['name', 'displaytext', 'state', 'cpunumber', 'cpuspeed', 'memory', 'domain', 'zone', 'order'], details: () => { var fields = ['name', 'id', 'displaytext', 'offerha', 'provisioningtype', 'storagetype', 'iscustomized', 'iscustomizediops', 'limitcpuuse', 'cpunumber', 'cpuspeed', 'memory', 'hosttags', 'tags', 'storageaccessgroups', 'storagetags', 'domain', 'zone', 'created', 'dynamicscalingenabled', 'diskofferingstrictness', 'encryptroot', 'purgeresources', 'leaseduration', 'gpucardid', 'gpucardname', 'vgpuprofileid', 'vgpuprofilename', 'gpucount', 'gpudisplay', 'leaseexpiryaction', 'externaldetails'] if (store.getters.apis.createServiceOffering && From b1ef786590d043f3feb594883f2295a420bd0b83 Mon Sep 17 00:00:00 2001 From: erikbocks Date: Fri, 20 Mar 2026 06:58:19 -0300 Subject: [PATCH 2/3] Fix merge conflict --- ui/src/config/section/offering.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ui/src/config/section/offering.js b/ui/src/config/section/offering.js index 7b1003bef9a1..6ab9d38174e7 100644 --- a/ui/src/config/section/offering.js +++ b/ui/src/config/section/offering.js @@ -43,7 +43,7 @@ export default { } return [] }, - columns: ['name', 'displaytext', 'state', 'cpunumber', 'cpuspeed', 'memory', 'domain', 'zone', 'order'], + columns: ['name', 'displaytext', 'state', 'cpunumber', 'cpuspeed', 'memory', 'gpu', 'domain', 'zone', 'order'], details: () => { var fields = ['name', 'id', 'displaytext', 'offerha', 'provisioningtype', 'storagetype', 'iscustomized', 'iscustomizediops', 'limitcpuuse', 'cpunumber', 'cpuspeed', 'memory', 'hosttags', 'tags', 'storageaccessgroups', 'storagetags', 'domain', 'zone', 'created', 'dynamicscalingenabled', 'diskofferingstrictness', 'encryptroot', 'purgeresources', 'leaseduration', 'gpucardid', 'gpucardname', 'vgpuprofileid', 'vgpuprofilename', 'gpucount', 'gpudisplay', 'leaseexpiryaction', 'externaldetails'] if (store.getters.apis.createServiceOffering && @@ -429,7 +429,7 @@ export default { name: 'networkoffering', title: 'label.network.offerings', icon: 'wifi-outlined', - docHelp: 'adminguide/networking.html#network-offerings', + docHelp: 'adminguide/networking.html#network-offerings ', permission: ['listNetworkOfferings'], filters: ['all', 'forvpc', 'guestnetwork'], searchFilters: ['name', 'zoneid', 'domainid', 'guestiptype', 'tags'], From 905513690734c8a5ff4cd23cfbad199c916c2535 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erik=20B=C3=B6ck?= Date: Fri, 20 Mar 2026 07:28:43 -0300 Subject: [PATCH 3/3] Implement custom state query param handler in AutogenView --- ui/src/views/AutogenView.vue | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/ui/src/views/AutogenView.vue b/ui/src/views/AutogenView.vue index f4aa842d8f2b..56e410cfae37 100644 --- a/ui/src/views/AutogenView.vue +++ b/ui/src/views/AutogenView.vue @@ -1172,6 +1172,10 @@ export default { delete params.listall } + if (!['Admin', 'DomainAdmin'].includes(this.$store.getters.userInfo.roletype) && ['computeoffering'].includes(this.routeName)) { + delete params.state + } + callAPI(this.apiName, params).then(json => { var responseName var objectName