From f624621ac4fc718d6e5f802bbe289dec5f987977 Mon Sep 17 00:00:00 2001 From: Abhishek Kumar Date: Tue, 5 May 2020 13:36:29 +0530 Subject: [PATCH] offering: refresh offerings as the form opens (#323) Fixes #322 Signed-off-by: Abhishek Kumar Signed-off-by: Rohit Yadav --- .../views/offering/UpdateOfferingAccess.vue | 23 +++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/ui/src/views/offering/UpdateOfferingAccess.vue b/ui/src/views/offering/UpdateOfferingAccess.vue index 9c170f55c7a..ba4da436221 100644 --- a/ui/src/views/offering/UpdateOfferingAccess.vue +++ b/ui/src/views/offering/UpdateOfferingAccess.vue @@ -104,6 +104,7 @@ export default { }, data () { return { + formOffering: {}, selectedDomains: [], selectedZones: [], offeringIsPublic: false, @@ -151,12 +152,28 @@ export default { }, methods: { fetchData () { + this.fetchOfferingData() this.fetchDomainData() this.fetchZoneData() }, isAdmin () { return ['Admin'].includes(this.$store.getters.userInfo.roletype) }, + fetchOfferingData () { + this.loading = true + const params = {} + params.id = this.resource.id + params.isrecursive = true + var apiName = 'list' + this.offeringType + 's' + api(apiName, params).then(json => { + const offerings = json[apiName.toLowerCase() + 'response'][this.offeringType.toLowerCase()] + this.formOffering = offerings[0] + }).finally(() => { + this.updateDomainSelection() + this.updateZoneSelection() + this.loading = false + }) + }, fetchDomainData () { const params = {} params.listAll = true @@ -183,7 +200,8 @@ export default { }) }, updateDomainSelection () { - var offeringDomainIds = this.resource.domainid + if (!this.formOffering || Object.keys(this.formOffering).length === 0) return + var offeringDomainIds = this.formOffering.domainid this.selectedDomains = [] if (offeringDomainIds) { this.offeringIsPublic = false @@ -207,7 +225,8 @@ export default { } }, updateZoneSelection () { - var offeringZoneIds = this.resource.zoneid + if (!this.formOffering || Object.keys(this.formOffering).length === 0) return + var offeringZoneIds = this.formOffering.zoneid this.selectedZones = [] if (offeringZoneIds) { offeringZoneIds = offeringZoneIds.indexOf(',') !== -1 ? offeringZoneIds.split(',') : [offeringZoneIds]