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/04 06:01:06 UTC

[cloudstack-primate] branch master updated: src: Diabling actions for readonly admin (#469)

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 93e3291  src: Diabling actions for readonly admin (#469)
93e3291 is described below

commit 93e329110381191048158f6df086e23e7be3b1a8
Author: davidjumani <dj...@gmail.com>
AuthorDate: Sat Jul 4 11:30:59 2020 +0530

    src: Diabling actions for readonly admin (#469)
    
    Fixes #467
---
 src/components/widgets/Console.vue            |  2 +-
 src/views/iam/RolePermissionTab.vue           |  1 +
 src/views/iam/RuleDelete.vue                  |  8 ++++++--
 src/views/infra/network/IpRangesTabPublic.vue | 14 +++++++++++---
 4 files changed, 19 insertions(+), 6 deletions(-)

diff --git a/src/components/widgets/Console.vue b/src/components/widgets/Console.vue
index 7a93575..3064d8f 100644
--- a/src/components/widgets/Console.vue
+++ b/src/components/widgets/Console.vue
@@ -17,7 +17,7 @@
 
 <template>
   <a
-    v-if="['vm', 'systemvm', 'router', 'ilbvm'].includes($route.meta.name)"
+    v-if="['vm', 'systemvm', 'router', 'ilbvm'].includes($route.meta.name) && 'updateVirtualMachine' in $store.getters.apis"
     :href="'/client/console?cmd=access&vm=' + resource.id"
     target="_blank">
     <a-button style="margin-left: 5px" shape="circle" type="dashed" :size="size" :disabled="['Stopped', 'Error', 'Destroyed'].includes(resource.state)" >
diff --git a/src/views/iam/RolePermissionTab.vue b/src/views/iam/RolePermissionTab.vue
index bb63b9b..abdf36f 100644
--- a/src/views/iam/RolePermissionTab.vue
+++ b/src/views/iam/RolePermissionTab.vue
@@ -71,6 +71,7 @@
       <draggable
         v-model="rules"
         @change="changeOrder"
+        :disabled="!('updateRolePermission' in this.$store.getters.apis)"
         handle=".drag-handle"
         animation="200"
         ghostClass="drag-ghost">
diff --git a/src/views/iam/RuleDelete.vue b/src/views/iam/RuleDelete.vue
index e85ea2f..cb10b4b 100644
--- a/src/views/iam/RuleDelete.vue
+++ b/src/views/iam/RuleDelete.vue
@@ -23,8 +23,8 @@
     <a-popconfirm
       title="Delete Rule?"
       @confirm="handleDelete"
-    >
-      <a-button type="danger" shape="circle">
+      :disabled="disabled">
+      <a-button type="danger" shape="circle" :disabled="disabled">
         <a-icon type="delete" />
       </a-button>
     </a-popconfirm>
@@ -38,6 +38,10 @@ export default {
     record: {
       type: Object,
       required: true
+    },
+    disabled: {
+      type: Boolean,
+      default: false
     }
   },
   methods: {
diff --git a/src/views/infra/network/IpRangesTabPublic.vue b/src/views/infra/network/IpRangesTabPublic.vue
index eba4937..1e63718 100644
--- a/src/views/infra/network/IpRangesTabPublic.vue
+++ b/src/views/infra/network/IpRangesTabPublic.vue
@@ -18,6 +18,7 @@
 <template>
   <a-spin :spinning="componentLoading">
     <a-button
+      :disabled="!('createVlanIpRange' in this.$store.getters.apis)"
       type="dashed"
       icon="plus"
       style="margin-bottom: 20px; width: 100%"
@@ -43,7 +44,8 @@
             <a-button
               icon="user-add"
               shape="circle"
-              @click="() => handleOpenAddAccountModal(record)"></a-button>
+              @click="() => handleOpenAddAccountModal(record)"
+              :disabled="!('dedicatePublicIpRange' in $store.getters.apis)"></a-button>
           </a-popover>
           <a-popover
             v-else
@@ -53,11 +55,17 @@
               icon="user-delete"
               shape="circle"
               type="danger"
-              @click="() => handleRemoveAccount(record.id)"></a-button>
+              @click="() => handleRemoveAccount(record.id)"
+              :disabled="!('releasePublicIpRange' in $store.getters.apis)"></a-button>
           </a-popover>
           <a-popover placement="bottom">
             <template slot="content">{{ $t('label.remove.ip.range') }}</template>
-            <a-button icon="delete" shape="circle" type="danger" @click="handleDeleteIpRange(record.id)"></a-button>
+            <a-button
+              icon="delete"
+              shape="circle"
+              type="danger"
+              @click="handleDeleteIpRange(record.id)"
+              :disabled="!('deleteVlanIpRange' in $store.getters.apis)"></a-button>
           </a-popover>
         </div>
       </template>