This is an automated email from the ASF dual-hosted git repository. rohit pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/cloudstack-primate.git
commit 4836cae2cca26940f06b199982eabe776743c1c4 Author: Rohit Yadav <rohit.ya...@shapeblue.com> AuthorDate: Sat Jun 27 15:37:10 2020 +0530 src: router-link fixes Fixes router-link issues for user role Signed-off-by: Rohit Yadav <rohit.ya...@shapeblue.com> --- src/components/view/InfoCard.vue | 11 +++++++---- src/config/section/compute.js | 2 +- src/config/section/network.js | 1 + src/views/dashboard/CapacityDashboard.vue | 15 +++++---------- src/views/network/EnableStaticNat.vue | 10 +++------- src/views/network/LoadBalancing.vue | 2 +- src/views/network/VpcTiersTab.vue | 3 ++- 7 files changed, 20 insertions(+), 24 deletions(-) diff --git a/src/components/view/InfoCard.vue b/src/components/view/InfoCard.vue index 2b01952..6adc9fe 100644 --- a/src/components/view/InfoCard.vue +++ b/src/components/view/InfoCard.vue @@ -385,20 +385,23 @@ <div class="resource-detail-item" v-if="resource.backupofferingid"> <div class="resource-detail-item__label">{{ $t('label.backupofferingid') }}</div> <a-icon type="cloud-upload" /> - <router-link :to="{ path: '/backupoffering/' + resource.backupofferingid }">{{ resource.backupofferingname || resource.backupofferingid }} </router-link> + <router-link v-if="$router.resolve('/backupoffering/' + resource.backupofferingid).route.name !== '404'" :to="{ path: '/backupoffering/' + resource.backupofferingid }">{{ resource.backupofferingname || resource.backupofferingid }} </router-link> + <span v-else>{{ resource.backupofferingname || resourece.backupofferingid }}</span> </div> <div class="resource-detail-item" v-if="resource.networkofferingid"> <div class="resource-detail-item__label">{{ $t('label.networkofferingid') }}</div> <div class="resource-detail-item__details"> <a-icon type="wifi" /> - <router-link :to="{ path: '/networkoffering/' + resource.networkofferingid }">{{ resource.networkofferingname || resource.networkofferingid }} </router-link> + <router-link v-if="$router.resolve('/networkoffering/' + resource.networkofferingid).route.name !== '404'" :to="{ path: '/networkoffering/' + resource.networkofferingid }">{{ resource.networkofferingname || resource.networkofferingid }} </router-link> + <span v-else>{{ resource.networkofferingname || resourece.networkofferingid }}</span> </div> </div> <div class="resource-detail-item" v-if="resource.vpcofferingid"> <div class="resource-detail-item__label">{{ $t('label.vpcoffering') }}</div> <div class="resource-detail-item__details"> <a-icon type="deployment-unit" /> - <router-link :to="{ path: '/vpcoffering/' + resource.vpcofferingid }">{{ resource.vpcofferingname || resource.vpcofferingid }} </router-link> + <router-link v-if="$router.resolve('/vpcoffering/' + resource.vpcofferingid).route.name !== '404'" :to="{ path: '/vpcoffering/' + resource.vpcofferingid }">{{ resource.vpcofferingname || resource.vpcofferingid }} </router-link> + <span v-else>{{ resource.vpcofferingname || resourece.vpcofferingid }}</span> </div> </div> <div class="resource-detail-item" v-if="resource.storageid"> @@ -441,7 +444,7 @@ <div class="resource-detail-item__details"> <a-icon type="global" /> <router-link v-if="$router.resolve('/zone/' + resource.zoneid).route.name !== '404'" :to="{ path: '/zone/' + resource.zoneid }">{{ resource.zone || resource.zonename || resource.zoneid }}</router-link> - <span v-else>{{ resource.zone || resource.zonename }}</span> + <span v-else>{{ resource.zone || resource.zonename || resource.zoneid }}</span> </div> </div> <div class="resource-detail-item" v-if="resource.account"> diff --git a/src/config/section/compute.js b/src/config/section/compute.js index 83f1641..5210fbb 100644 --- a/src/config/section/compute.js +++ b/src/config/section/compute.js @@ -334,7 +334,7 @@ export default { label: 'label.action.reset.password', message: 'message.action.instance.reset.password', dataView: true, - show: (record) => { return ['Running', 'Stopped'].includes(record.state) }, + show: (record) => { return ['Running', 'Stopped'].includes(record.state) && record.passwordenabled }, response: (result) => { return result.virtualmachine && result.virtualmachine.password ? `Password of the VM is ${result.virtualmachine.password}` : null } }, { diff --git a/src/config/section/network.js b/src/config/section/network.js index 30b4d3f..95f9db0 100644 --- a/src/config/section/network.js +++ b/src/config/section/network.js @@ -515,6 +515,7 @@ export default { title: 'label.vpn.users', icon: 'user', permission: ['listVpnUsers'], + hidden: true, columns: ['username', 'state', 'account', 'domain'], details: ['username', 'state', 'account', 'domain'], actions: [ diff --git a/src/views/dashboard/CapacityDashboard.vue b/src/views/dashboard/CapacityDashboard.vue index 01db271..7e55992 100644 --- a/src/views/dashboard/CapacityDashboard.vue +++ b/src/views/dashboard/CapacityDashboard.vue @@ -33,16 +33,11 @@ </a-select> </div> <div class="capacity-dashboard-button"> - <a-tooltip placement="bottom"> - <template slot="title"> - Fetch Latest - </template> - <a-button - shape="circle" - @click="listCapacity(zoneSelected, true)"> - <a-icon class="capacity-dashboard-button-icon" type="reload" /> - </a-button> - </a-tooltip> + <a-button + shape="round" + @click="listCapacity(zoneSelected, true)"> + {{ $t('label.fetch.latest') }} + </a-button> </div> </div> <a-row :gutter="12"> diff --git a/src/views/network/EnableStaticNat.vue b/src/views/network/EnableStaticNat.vue index c9e22b0..ebfc8e3 100644 --- a/src/views/network/EnableStaticNat.vue +++ b/src/views/network/EnableStaticNat.vue @@ -117,8 +117,9 @@ export default { scopedSlots: { customRender: 'name' } }, { - title: this.$t('label.instancename'), - dataIndex: 'instancename' + title: this.$t('label.state'), + dataIndex: 'state', + scopedSlots: { customRender: 'state' } }, { title: this.$t('label.displayname'), @@ -133,11 +134,6 @@ export default { dataIndex: 'zonename' }, { - title: this.$t('label.state'), - dataIndex: 'state', - scopedSlots: { customRender: 'state' } - }, - { title: 'Select', dataIndex: 'id', scopedSlots: { customRender: 'radio' } diff --git a/src/views/network/LoadBalancing.vue b/src/views/network/LoadBalancing.vue index 638da12..2feb090 100644 --- a/src/views/network/LoadBalancing.vue +++ b/src/views/network/LoadBalancing.vue @@ -107,7 +107,7 @@ <div> <status :text="instance.loadbalancerruleinstance.state" /> <a-icon type="desktop" /> - <router-link :to="{ path: '/vm/' + record.virtualmachineid }"> + <router-link :to="{ path: '/vm/' + instance.loadbalancerruleinstance.id }"> {{ instance.loadbalancerruleinstance.displayname }} </router-link> </div> diff --git a/src/views/network/VpcTiersTab.vue b/src/views/network/VpcTiersTab.vue index 2339c04..8cb1261 100644 --- a/src/views/network/VpcTiersTab.vue +++ b/src/views/network/VpcTiersTab.vue @@ -22,7 +22,7 @@ icon="plus" style="width: 100%;margin-bottom: 20px;" :disabled="!('createNetwork' in $store.getters.apis)" - @click="handleOpenModal">Add Network</a-button> + @click="handleOpenModal">{{ $t('label.add.network') }}</a-button> <a-list class="list"> <a-list-item v-for="(network, idx) in networks" :key="idx" class="list__item"> <div class="list__item-outer-container"> @@ -531,6 +531,7 @@ export default { this.$message.error('Failed to create Internal LB') }).finally(() => { this.modalLoading = false + this.fetchLoading = false this.showAddInternalLB = false this.fetchData() })