summaryrefslogtreecommitdiff
path: root/src/views/_sila/Operations/RebootBmc/RebootBmc.vue
diff options
context:
space:
mode:
Diffstat (limited to 'src/views/_sila/Operations/RebootBmc/RebootBmc.vue')
-rw-r--r--src/views/_sila/Operations/RebootBmc/RebootBmc.vue83
1 files changed, 83 insertions, 0 deletions
diff --git a/src/views/_sila/Operations/RebootBmc/RebootBmc.vue b/src/views/_sila/Operations/RebootBmc/RebootBmc.vue
new file mode 100644
index 00000000..900619cd
--- /dev/null
+++ b/src/views/_sila/Operations/RebootBmc/RebootBmc.vue
@@ -0,0 +1,83 @@
+<template>
+ <b-container fluid="xl">
+ <page-title />
+ <b-row>
+ <b-col md="8" lg="8" xl="6">
+ <page-section>
+ <b-row>
+ <b-col>
+ <dl>
+ <dt>
+ {{ $t('pageRebootBmc.lastReboot') }}
+ </dt>
+ <dd v-if="lastBmcRebootTime">
+ {{ lastBmcRebootTime | formatDate }}
+ {{ lastBmcRebootTime | formatTime }}
+ </dd>
+ <dd v-else>--</dd>
+ </dl>
+ </b-col>
+ </b-row>
+ {{ $t('pageRebootBmc.rebootInformation') }}
+ <b-button
+ variant="primary"
+ class="d-block mt-5"
+ data-test-id="rebootBmc-button-reboot"
+ @click="onClick"
+ >
+ {{ $t('pageRebootBmc.rebootBmc') }}
+ </b-button>
+ </page-section>
+ </b-col>
+ </b-row>
+ </b-container>
+</template>
+
+<script>
+import PageTitle from '@/components/Global/PageTitle';
+import PageSection from '@/components/Global/PageSection';
+import BVToastMixin from '@/components/Mixins/BVToastMixin';
+import LoadingBarMixin from '@/components/Mixins/LoadingBarMixin';
+
+export default {
+ name: 'RebootBmc',
+ components: { PageTitle, PageSection },
+ mixins: [BVToastMixin, LoadingBarMixin],
+ beforeRouteLeave(to, from, next) {
+ this.hideLoader();
+ next();
+ },
+ computed: {
+ lastBmcRebootTime() {
+ return this.$store.getters['controls/lastBmcRebootTime'];
+ },
+ },
+ created() {
+ this.startLoader();
+ this.$store
+ .dispatch('controls/getLastBmcRebootTime')
+ .finally(() => this.endLoader());
+ },
+ methods: {
+ onClick() {
+ this.$bvModal
+ .msgBoxConfirm(this.$t('pageRebootBmc.modal.confirmMessage'), {
+ title: this.$t('pageRebootBmc.modal.confirmTitle'),
+ okTitle: this.$t('global.action.confirm'),
+ cancelTitle: this.$t('global.action.cancel'),
+ })
+ .then((confirmed) => {
+ if (confirmed) this.rebootBmc();
+ });
+ },
+ rebootBmc() {
+ this.$store
+ .dispatch('controls/rebootBmc')
+ .then((message) => this.successToast(message))
+ .catch(({ message }) => this.errorToast(message));
+ },
+ },
+};
+</script>
+
+<style lang="scss" scoped></style>