From 11dfaf4ad2ed56733b552016e5fb97a9d775e48f Mon Sep 17 00:00:00 2001 From: Abhishek Kumar Date: Sun, 14 Jun 2020 05:41:43 +0530 Subject: [PATCH] view: fix role-base checks on components to disable (#317) Fixes #310 Signed-off-by: Rohit Yadav Co-authored-by: Rohit Yadav --- ui/src/components/view/DedicateData.vue | 8 ++++++- ui/src/components/view/DetailSettings.vue | 19 +++++++++++++---- ui/src/components/view/InfoCard.vue | 8 +++---- ui/src/components/view/ListView.vue | 3 +++ ui/src/components/view/ResourceLimitTab.vue | 2 ++ ui/src/components/view/SettingsTab.vue | 1 + ui/src/config/section/image.js | 4 ++-- ui/src/config/section/storage.js | 2 +- ui/src/views/compute/InstanceHardware.vue | 10 ++++++++- ui/src/views/iam/RolePermissionTab.vue | 2 ++ ui/src/views/iam/SSLCertificateTab.vue | 1 + ui/src/views/image/RegisterOrUploadIso.vue | 2 +- .../views/image/RegisterOrUploadTemplate.vue | 2 +- .../views/infra/network/DedicatedVLANTab.vue | 9 ++++++-- .../infra/network/IpRangesTabManagement.vue | 2 ++ .../infra/network/IpRangesTabStorage.vue | 2 ++ ui/src/views/network/AclListRulesTab.vue | 9 ++++++-- ui/src/views/network/EgressRulesTab.vue | 4 ++-- ui/src/views/network/FirewallRules.vue | 14 +++++++++---- .../network/IngressEgressRuleConfigure.vue | 4 ++-- ui/src/views/network/IpAddressesTab.vue | 3 ++- ui/src/views/network/LoadBalancing.vue | 12 ++++++----- ui/src/views/network/PortForwarding.vue | 10 +++++++-- ui/src/views/network/StaticRoutesTab.vue | 8 +++---- ui/src/views/network/VpcTab.vue | 4 ++++ ui/src/views/network/VpcTiersTab.vue | 21 ++++++++++++++++--- ui/src/views/network/VpnDetails.vue | 4 ++-- ui/src/views/project/AccountsTab.vue | 9 +++++++- ui/src/views/storage/FormSchedule.vue | 2 +- 29 files changed, 135 insertions(+), 46 deletions(-) diff --git a/ui/src/components/view/DedicateData.vue b/ui/src/components/view/DedicateData.vue index 3adc7c7af76..5c9bea3567b 100644 --- a/ui/src/components/view/DedicateData.vue +++ b/ui/src/components/view/DedicateData.vue @@ -39,7 +39,7 @@
{{ $t('label.dedicated') }}
No
- + {{ dedicatedButtonLabel }}
@@ -70,6 +70,7 @@ export default { data () { return { modalActive: false, + dedicateButtonAvailable: true, dedicatedButtonLabel: 'Dedicate', releaseButtonLabel: 'Release', dedicatedModalLabel: 'Dedicate', @@ -86,27 +87,32 @@ export default { }, methods: { fetchData () { + this.dedicateButtonAvailable = true if (this.$route.meta.name === 'zone') { this.fetchDedicatedZones() this.releaseButtonLabel = this.$t('label.release.dedicated.zone') + this.dedicateButtonAvailable = ('dedicateZone' in this.$store.getters.apis) this.dedicatedButtonLabel = this.$t('label.dedicate.zone') this.dedicatedModalLabel = this.$t('label.dedicate.zone') } if (this.$route.meta.name === 'pod') { this.fetchDedicatedPods() this.releaseButtonLabel = this.$t('label.release.dedicated.pod') + this.dedicateButtonAvailable = ('dedicatePod' in this.$store.getters.apis) this.dedicatedButtonLabel = this.$t('label.dedicate.pod') this.dedicatedModalLabel = this.$t('label.dedicate.pod') } if (this.$route.meta.name === 'cluster') { this.fetchDedicatedClusters() this.releaseButtonLabel = this.$t('label.release.dedicated.cluster') + this.dedicateButtonAvailable = ('dedicateCluster' in this.$store.getters.apis) this.dedicatedButtonLabel = this.$t('label.dedicate.cluster') this.dedicatedModalLabel = this.$t('label.dedicate.cluster') } if (this.$route.meta.name === 'host') { this.fetchDedicatedHosts() this.releaseButtonLabel = this.$t('label.release.dedicated.host') + this.dedicateButtonAvailable = ('dedicateHost' in this.$store.getters.apis) this.dedicatedButtonLabel = this.$t('label.dedicate.host') this.dedicatedModalLabel = this.$t('label.dedicate.host') } diff --git a/ui/src/components/view/DetailSettings.vue b/ui/src/components/view/DetailSettings.vue index 0b02dbb7ef5..bb8e7366cd4 100644 --- a/ui/src/components/view/DetailSettings.vue +++ b/ui/src/components/view/DetailSettings.vue @@ -23,7 +23,14 @@ :message="$t('message.action.settings.warning.vm.running')" />
- {{ $t('label.add.setting') }} + + {{ $t('label.add.setting') }} +
{{ item.value }} -
+
- +
-
+
{{ $t('label.tags') }}
@@ -544,9 +544,9 @@ @blur="handleInputConfirm" @keyup.enter="handleInputConfirm" compact> - + - + @@ -555,7 +555,7 @@
- + New Tag
diff --git a/ui/src/components/view/ListView.vue b/ui/src/components/view/ListView.vue index 33e18e33c32..e05a84281b9 100644 --- a/ui/src/components/view/ListView.vue +++ b/ui/src/components/view/ListView.vue @@ -193,6 +193,7 @@ @@ -204,11 +205,13 @@
diff --git a/ui/src/views/iam/SSLCertificateTab.vue b/ui/src/views/iam/SSLCertificateTab.vue index d6012cf6309..f853a3d1802 100644 --- a/ui/src/views/iam/SSLCertificateTab.vue +++ b/ui/src/views/iam/SSLCertificateTab.vue @@ -40,6 +40,7 @@ {{ $t('label.delete.sslcertificate') }} - {{ $t('label.dedicate.vlan.vni.range') }} + {{ $t('label.dedicate.vlan.vni.range') }} - + diff --git a/ui/src/views/infra/network/IpRangesTabManagement.vue b/ui/src/views/infra/network/IpRangesTabManagement.vue index 3471895add6..fedff881e77 100644 --- a/ui/src/views/infra/network/IpRangesTabManagement.vue +++ b/ui/src/views/infra/network/IpRangesTabManagement.vue @@ -18,6 +18,7 @@
- {{ $t('label.add') }} + {{ $t('label.add') }}
@@ -75,7 +75,13 @@ @@ -101,14 +107,14 @@

{{ $t('label.value') }}

- {{ $t('label.add') }} + {{ $t('label.add') }}
- + {{ tag.key }} = {{ tag.value }}
diff --git a/ui/src/views/network/IngressEgressRuleConfigure.vue b/ui/src/views/network/IngressEgressRuleConfigure.vue index 54c7063fd01..c078f7c26ee 100644 --- a/ui/src/views/network/IngressEgressRuleConfigure.vue +++ b/ui/src/views/network/IngressEgressRuleConfigure.vue @@ -64,7 +64,7 @@
- {{ $t('label.add') }} + {{ $t('label.add') }}
@@ -92,7 +92,7 @@ okText="Yes" cancelText="No" > - + diff --git a/ui/src/views/network/IpAddressesTab.vue b/ui/src/views/network/IpAddressesTab.vue index ee84dfd62bb..12fec6ea26d 100644 --- a/ui/src/views/network/IpAddressesTab.vue +++ b/ui/src/views/network/IpAddressesTab.vue @@ -17,7 +17,7 @@ diff --git a/ui/src/views/network/LoadBalancing.vue b/ui/src/views/network/LoadBalancing.vue index 4ee58627237..b2586765c71 100644 --- a/ui/src/views/network/LoadBalancing.vue +++ b/ui/src/views/network/LoadBalancing.vue @@ -34,6 +34,8 @@ Required + +
{{ $t('label.algorithm') }}
@@ -52,7 +54,7 @@
{{ $t('label.add.vms') }}
- Add + Add
@@ -107,14 +109,14 @@ @@ -149,14 +151,14 @@ - {{ $t('label.add') }} + {{ $t('label.add') }}
- + {{ tag.key }} = {{ tag.value }}
diff --git a/ui/src/views/network/PortForwarding.vue b/ui/src/views/network/PortForwarding.vue index ed67a4652df..f5bc4ac7f83 100644 --- a/ui/src/views/network/PortForwarding.vue +++ b/ui/src/views/network/PortForwarding.vue @@ -64,7 +64,7 @@
{{ $t('label.add.vm') }}
- {{ $t('label.add') }} + {{ $t('label.add') }}
@@ -97,7 +97,13 @@ diff --git a/ui/src/views/network/StaticRoutesTab.vue b/ui/src/views/network/StaticRoutesTab.vue index edb0313152f..2fed407213b 100644 --- a/ui/src/views/network/StaticRoutesTab.vue +++ b/ui/src/views/network/StaticRoutesTab.vue @@ -19,7 +19,7 @@
- {{ $t('label.add.route') }} + {{ $t('label.add.route') }}
@@ -30,7 +30,7 @@
- +
@@ -52,14 +52,14 @@ - {{ $t('label.add') }} + {{ $t('label.add') }}
- + {{ tag.key }} = {{ tag.value }}
diff --git a/ui/src/views/network/VpcTab.vue b/ui/src/views/network/VpcTab.vue index 4672c905d7d..cb80bf5b910 100644 --- a/ui/src/views/network/VpcTab.vue +++ b/ui/src/views/network/VpcTab.vue @@ -36,6 +36,7 @@ type="dashed" icon="plus" style="width: 100%" + :disabled="!('createNetworkACLList' in $store.getters.apis)" @click="() => handleOpenModals('networkAcl')"> Add Network ACL List @@ -83,6 +84,7 @@ type="dashed" icon="plus" style="width: 100%" + :disabled="!('createPrivateGateway' in $store.getters.apis)" @click="() => handleOpenModals('privateGateways')">Add Private Gateway Create Site-to-Site VPN Gateway @@ -189,6 +192,7 @@ type="dashed" icon="plus" style="width: 100%" + :disabled="!('createVpnConnection' in $store.getters.apis)" @click="handleOpenModals('vpnConnection')"> Create Site-to-Site VPN Connection diff --git a/ui/src/views/network/VpcTiersTab.vue b/ui/src/views/network/VpcTiersTab.vue index 3e004437ec7..2339c04d0cd 100644 --- a/ui/src/views/network/VpcTiersTab.vue +++ b/ui/src/views/network/VpcTiersTab.vue @@ -17,7 +17,12 @@ - + {{ $t('label.vm.add') }} - + {{ $t('label.add.internal.lb') }} Your IPSec pre-shared key is {{ remoteAccessVpn.presharedkey }}

Manage VPN Users - Disable VPN + Disable VPN
@@ -38,7 +38,7 @@
- Enable VPN + Enable VPN

Please confirm that you want Remote Access VPN enabled for this IP address.

diff --git a/ui/src/views/project/AccountsTab.vue b/ui/src/views/project/AccountsTab.vue index 8f48f24ceb0..7b76d896b02 100644 --- a/ui/src/views/project/AccountsTab.vue +++ b/ui/src/views/project/AccountsTab.vue @@ -32,7 +32,13 @@ - +