diff --git a/ui/src/config/section/offering.js b/ui/src/config/section/offering.js index 155f1504911..085d85989f6 100644 --- a/ui/src/config/section/offering.js +++ b/ui/src/config/section/offering.js @@ -14,6 +14,7 @@ // KIND, either express or implied. See the License for the // specific language governing permissions and limitations // under the License. +import store from '@/store' export default { name: 'offering', @@ -29,7 +30,14 @@ export default { permission: ['listServiceOfferings', 'listDomains'], params: { isrecursive: 'true' }, columns: ['name', 'displaytext', 'cpunumber', 'cpuspeed', 'memory', 'domain', 'zone', 'order'], - details: ['name', 'id', 'displaytext', 'offerha', 'provisioningtype', 'storagetype', 'iscustomized', 'limitcpuuse', 'cpunumber', 'cpuspeed', 'memory', 'hosttags', 'tags', 'domain', 'zone', 'created'], + details: () => { + var fields = ['name', 'id', 'displaytext', 'offerha', 'provisioningtype', 'storagetype', 'iscustomized', 'limitcpuuse', 'cpunumber', 'cpuspeed', 'memory', 'hosttags', 'tags', 'domain', 'zone', 'created'] + if (store.getters.apis.createServiceOffering && + store.getters.apis.createServiceOffering.params.filter(x => x.name === 'storagepolicy').length > 0) { + fields.splice(6, 0, 'vspherestoragepolicy') + } + return fields + }, related: [{ name: 'vm', title: 'label.instances', @@ -111,7 +119,14 @@ export default { permission: ['listDiskOfferings', 'listDomains'], params: { isrecursive: 'true' }, columns: ['name', 'displaytext', 'disksize', 'domain', 'zone', 'order'], - details: ['name', 'id', 'displaytext', 'disksize', 'provisioningtype', 'storagetype', 'iscustomized', 'tags', 'domain', 'zone', 'created'], + details: () => { + var fields = ['name', 'id', 'displaytext', 'disksize', 'provisioningtype', 'storagetype', 'iscustomized', 'tags', 'domain', 'zone', 'created'] + if (store.getters.apis.createDiskOffering && + store.getters.apis.createDiskOffering.params.filter(x => x.name === 'storagepolicy').length > 0) { + fields.splice(6, 0, 'vspherestoragepolicy') + } + return fields + }, related: [{ name: 'volume', title: 'label.volumes', diff --git a/ui/src/locales/en.json b/ui/src/locales/en.json index ac4677cded9..aff571a99a6 100644 --- a/ui/src/locales/en.json +++ b/ui/src/locales/en.json @@ -2295,6 +2295,7 @@ "label.vsmusername": "Nexus 1000v Username", "label.vsmusername.req": "Nexus 1000v Username", "label.vsphere.managed": "vSphere Managed", +"label.vspherestoragepolicy": "vSphere Storage Policy", "label.vswitch.name": "vSwitch Name", "label.vswitch.type": "vSwitch Type", "label.vswitchguestname": "Guest Traffic vSwitch Name",