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/07/14 06:32:53 UTC

[cloudstack-primate] branch master updated: src: Bug fixes (#534)

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


The following commit(s) were added to refs/heads/master by this push:
     new 2a4bc96  src: Bug fixes (#534)
2a4bc96 is described below

commit 2a4bc96598433e20d81be62aa453f254053e5475
Author: davidjumani <dj...@gmail.com>
AuthorDate: Tue Jul 14 12:02:44 2020 +0530

    src: Bug fixes (#534)
    
    Fixes :
    - VR router offering link leads to an empty page
    - In the event listview, clicking the username redirects to the event not the user
    - While changing a systemvm service offering, need to fetch system offerings by passing issystem=true, virtualmachineid and systemvmtype to the listServiceOfferings api
    - When editing a role, resource admin is not in the dropdown
    - In DeployVM, disk offering search doesn't show 'No records' if none present but keeps the old rows
    - In add ACL Rule, the Rule# field should be a number, not text
    - No pagination for security groups ingress / egress rules
---
 src/components/view/InfoCard.vue                   | 3 ++-
 src/components/view/ListView.vue                   | 7 ++++---
 src/config/section/infra/systemVms.js              | 8 +++++++-
 src/views/compute/wizard/DiskOfferingSelection.vue | 6 ++----
 src/views/network/AclListRulesTab.vue              | 2 +-
 src/views/network/IngressEgressRuleConfigure.vue   | 6 ++++--
 6 files changed, 20 insertions(+), 12 deletions(-)

diff --git a/src/components/view/InfoCard.vue b/src/components/view/InfoCard.vue
index ec0bfcb..9be6ac8 100644
--- a/src/components/view/InfoCard.vue
+++ b/src/components/view/InfoCard.vue
@@ -374,7 +374,8 @@
           <div class="resource-detail-item__label">{{ $t('label.serviceofferingname') }}</div>
           <div class="resource-detail-item__details">
             <a-icon type="cloud" />
-            <router-link v-if="$router.resolve('/computeoffering/' + resource.serviceofferingid).route.name !== '404'" :to="{ path: '/computeoffering/' + resource.serviceofferingid }">{{ resource.serviceofferingname || resource.serviceofferingid }} </router-link>
+            <router-link v-if="$route.meta.name === 'router'" :to="{ path: '/computeoffering/' + resource.serviceofferingid, query: { issystem: true } }">{{ resource.serviceofferingname || resource.serviceofferingid }} </router-link>
+            <router-link v-else-if="$router.resolve('/computeoffering/' + resource.serviceofferingid).route.name !== '404'" :to="{ path: '/computeoffering/' + resource.serviceofferingid }">{{ resource.serviceofferingname || resource.serviceofferingid }} </router-link>
             <span v-else>{{ resource.serviceofferingname || resource.serviceofferingid }}</span>
           </div>
         </div>
diff --git a/src/components/view/ListView.vue b/src/components/view/ListView.vue
index 179d996..efce7c7 100644
--- a/src/components/view/ListView.vue
+++ b/src/components/view/ListView.vue
@@ -81,9 +81,10 @@
     <a slot="displayname" slot-scope="text, record" href="javascript:;">
       <router-link :to="{ path: $route.path + '/' + record.id }">{{ text }}</router-link>
     </a>
-    <a slot="username" slot-scope="text, record" href="javascript:;">
-      <router-link :to="{ path: $route.path + '/' + record.id }">{{ text }}</router-link>
-    </a>
+    <span slot="username" slot-scope="text, record" href="javascript:;">
+      <router-link :to="{ path: '/accountuser', query: { username: record.username, domainid: record.domainid } }" v-if="$store.getters.userInfo.roletype !== 'User'">{{ text }}</router-link>
+      <span v-else>{{ text }}</span>
+    </span>
     <a slot="ipaddress" slot-scope="text, record" href="javascript:;">
       <router-link :to="{ path: $route.path + '/' + record.id }">{{ text }}</router-link>
       <span v-if="record.issourcenat">
diff --git a/src/config/section/infra/systemVms.js b/src/config/section/infra/systemVms.js
index 59f2629..1834ade 100644
--- a/src/config/section/infra/systemVms.js
+++ b/src/config/section/infra/systemVms.js
@@ -56,7 +56,13 @@ export default {
       message: 'message.confirm.scale.up.system.vm',
       dataView: true,
       show: (record) => { return record.hypervisor !== 'KVM' },
-      args: ['serviceofferingid']
+      args: ['serviceofferingid'],
+      mapping: {
+        serviceofferingid: {
+          api: 'listServiceOfferings',
+          params: (record) => { return { virtualmachineid: record.virtualmachineid, issystem: true, systemvmtype: record.systemvmtype } }
+        }
+      }
     },
     {
       api: 'migrateSystemVm',
diff --git a/src/views/compute/wizard/DiskOfferingSelection.vue b/src/views/compute/wizard/DiskOfferingSelection.vue
index 7324eb1..90356e0 100644
--- a/src/views/compute/wizard/DiskOfferingSelection.vue
+++ b/src/views/compute/wizard/DiskOfferingSelection.vue
@@ -157,10 +157,8 @@ export default {
       }
     },
     items (newData, oldData) {
-      if (newData && newData.length > 0) {
-        this.initDataItem()
-        this.dataItems = this.dataItems.concat(newData)
-      }
+      this.initDataItem()
+      this.dataItems = this.dataItems.concat(newData)
     },
     loading () {
       if (!this.loading) {
diff --git a/src/views/network/AclListRulesTab.vue b/src/views/network/AclListRulesTab.vue
index fa43f29..e9152a1 100644
--- a/src/views/network/AclListRulesTab.vue
+++ b/src/views/network/AclListRulesTab.vue
@@ -133,7 +133,7 @@
     <a-modal :title="ruleModalTitle" v-model="ruleModalVisible" @ok="handleRuleModalForm">
       <a-form :form="ruleForm" @submit="handleRuleModalForm">
         <a-form-item :label="$t('label.number')">
-          <a-input v-decorator="['number']" />
+          <a-input-number style="width: 100%" v-decorator="['number']" />
         </a-form-item>
         <a-form-item :label="$t('label.cidrlist')">
           <a-input v-decorator="['cidr']" />
diff --git a/src/views/network/IngressEgressRuleConfigure.vue b/src/views/network/IngressEgressRuleConfigure.vue
index 52bcb89..34bb867 100644
--- a/src/views/network/IngressEgressRuleConfigure.vue
+++ b/src/views/network/IngressEgressRuleConfigure.vue
@@ -80,8 +80,8 @@
       style="overflow-y: auto"
       :columns="columns"
       :dataSource="rules"
-      :pagination="false"
-      :rowKey="record => record.id">
+      :pagination="{ pageSizeOptions: ['10', '20', '40', '80', '100', '500'], showSizeChanger: true}"
+      :rowKey="record => record.ruleid">
       <template slot="protocol" slot-scope="record">
         {{ record.protocol | capitalise }}
       </template>
@@ -187,6 +187,8 @@ export default {
       tagsLoading: false,
       addType: 'cidr',
       tabType: null,
+      page: 1,
+      pagesize: 10,
       columns: [
         {
           title: this.$t('label.protocol'),