blob: e56e968f75eff20657c89ba9340147dd432046cb [file] [log] [blame]
<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 }}
{{ lastBmcRebootTime }}
</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'),
autoFocusButton: 'ok',
})
.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>
@import '@/assets/styles/bmc/helpers/_index.scss';
@import '@/assets/styles/bootstrap/_helpers.scss';
</style>