summaryrefslogtreecommitdiff
path: root/src/views
diff options
context:
space:
mode:
authorSandeepa Singh <sandeepa.singh@ibm.com>2022-01-10 16:49:36 +0300
committerDixsie Wolmers <dixsiew@gmail.com>2022-02-04 17:21:05 +0300
commit05887b50f1d1b08468b401b357faf13f505ee75f (patch)
tree9a016ca5142e43e3ac7f88ecce045048270fcaa0 /src/views
parentaee27141f4c002306e9a4bf44dc4f9618a5fae62 (diff)
downloadwebui-vue-05887b50f1d1b08468b401b357faf13f505ee75f.tar.xz
Add Key clear page under Operations section
This page will allow privileged user to clear encrypted keys. - Only admin and CE login user will be able to see the page - The UI will be different for both, admin and CE login user(service) - This page is IBM only Signed-off-by: Sandeepa Singh <sandeepa.singh@ibm.com> Change-Id: Ic6fe3454de815629a6b2250daa99ab21f2b316c3
Diffstat (limited to 'src/views')
-rw-r--r--src/views/Operations/KeyClear/KeyClear.vue106
-rw-r--r--src/views/Operations/KeyClear/index.js2
2 files changed, 108 insertions, 0 deletions
diff --git a/src/views/Operations/KeyClear/KeyClear.vue b/src/views/Operations/KeyClear/KeyClear.vue
new file mode 100644
index 00000000..2524da10
--- /dev/null
+++ b/src/views/Operations/KeyClear/KeyClear.vue
@@ -0,0 +1,106 @@
+<template>
+ <b-container fluid="xl">
+ <page-title :description="$t('pageKeyClear.description')" />
+ <b-row>
+ <b-col md="8" xl="6">
+ <alert variant="info" class="mb-4">
+ <div class="font-weight-bold">
+ {{ $t('pageKeyClear.alert.title') }}
+ </div>
+ <div>
+ {{ $t('pageKeyClear.alert.description') }}
+ </div>
+ </alert>
+ </b-col>
+ </b-row>
+ <!-- Reset Form -->
+ <b-form id="key-clear" @submit.prevent="onKeyClearSubmit(keyOption)">
+ <b-row>
+ <b-col md="8">
+ <b-form-group :label="$t('pageKeyClear.form.keyClearOptionsLabel')">
+ <b-form-radio-group
+ id="key-clear-options"
+ v-model="keyOption"
+ stacked
+ >
+ <b-form-radio class="mb-1" value="NONE">
+ {{ $t('pageKeyClear.form.none') }}
+ </b-form-radio>
+ <b-form-text id="key-clear-not-requested" class="ml-4 mb-3">
+ {{ $t('pageKeyClear.form.keyClearNotRequested') }}
+ </b-form-text>
+ <b-form-radio class="mb-1" value="ALL">
+ {{ $t('pageKeyClear.form.clearAllLabel') }}
+ </b-form-radio>
+ <b-form-text id="clear-all" class="ml-4 mb-3">
+ {{ $t('pageKeyClear.form.clearAllHeperText') }}
+ </b-form-text>
+ <b-form-radio class="mb-1" value="POWERVM_SYSKEY">
+ {{ $t('pageKeyClear.form.clearHypervisorSystemKeyLabel') }}
+ </b-form-radio>
+ <b-form-text id="clear-hypervisor-key" class="ml-4 mb-3">
+ {{ $t('pageKeyClear.form.clearHypervisorSystemKeyHelperText') }}
+ </b-form-text>
+ <template v-if="username == 'service'">
+ <b-form-radio class="mb-1" value="MFG_ALL">
+ {{ $t('pageKeyClear.form.clearAllSetGenesisIPL') }}
+ </b-form-radio>
+ <b-form-radio class="mb-1" value="MFG">
+ {{ $t('pageKeyClear.form.setFactoryDefault') }}
+ </b-form-radio>
+ </template>
+ </b-form-radio-group>
+ </b-form-group>
+ <b-button
+ type="submit"
+ variant="primary"
+ data-test-id="keyClear-button-submit"
+ >
+ {{ $t('pageKeyClear.form.clear') }}
+ </b-button>
+ </b-col>
+ </b-row>
+ </b-form>
+ </b-container>
+</template>
+
+<script>
+import PageTitle from '@/components/Global/PageTitle';
+import BVToastMixin from '@/components/Mixins/BVToastMixin';
+import LoadingBarMixin from '@/components/Mixins/LoadingBarMixin';
+import Alert from '@/components/Global/Alert';
+
+export default {
+ name: 'KeyClear',
+ components: { PageTitle, Alert },
+ mixins: [LoadingBarMixin, BVToastMixin],
+ data() {
+ return {
+ keyOption: 'NONE',
+ username: this.$store.getters['global/username'],
+ };
+ },
+ created() {
+ this.hideLoader();
+ },
+ methods: {
+ onKeyClearSubmit(valueSelected) {
+ this.$bvModal
+ .msgBoxConfirm(this.$t('pageKeyClear.modal.clearAllMessage'), {
+ title: this.$t('pageKeyClear.modal.clearAllTitle'),
+ okTitle: this.$t('pageKeyClear.modal.clear'),
+ okVariant: 'danger',
+ cancelTitle: this.$t('global.action.cancel'),
+ })
+ .then((clearConfirmed) => {
+ if (clearConfirmed) {
+ this.$store
+ .dispatch('keyClear/clearEncryptionKeys', valueSelected)
+ .then((message) => this.successToast(message))
+ .catch(({ message }) => this.errorToast(message));
+ }
+ });
+ },
+ },
+};
+</script>
diff --git a/src/views/Operations/KeyClear/index.js b/src/views/Operations/KeyClear/index.js
new file mode 100644
index 00000000..56de8c4e
--- /dev/null
+++ b/src/views/Operations/KeyClear/index.js
@@ -0,0 +1,2 @@
+import KeyClear from './KeyClear.vue';
+export default KeyClear;