You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by ro...@apache.org on 2020/06/27 12:01:46 UTC

[cloudstack-primate] 02/02: src: router-link fixes

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 <ro...@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 <ro...@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()
         })