blob: 0865d77db5b8f0aa4086662950bc8793ef80fbbc [file] [log] [blame]
Yoshie Muranakac11d3892020-02-19 08:07:40 -08001<template>
Yoshie Muranaka3111b6f2020-04-21 19:48:38 -07002 <b-container fluid="xl">
Yoshie Muranakac11d3892020-02-19 08:07:40 -08003 <page-title />
4 <b-row>
5 <b-col md="8" lg="8" xl="6">
6 <page-section>
Dixsie Wolmers50cf2f72020-08-17 17:38:46 -05007 <b-row>
8 <b-col>
9 <dl>
10 <dt>
11 {{ $t('pageRebootBmc.lastReboot') }}
12 </dt>
13 <dd v-if="lastBmcRebootTime">
Surya Vde23ea22024-07-11 15:19:46 +053014 {{ $filters.formatDate(lastBmcRebootTime) }}
15 {{ $filters.formatTime(lastBmcRebootTime) }}
Dixsie Wolmers50cf2f72020-08-17 17:38:46 -050016 </dd>
17 <dd v-else>--</dd>
18 </dl>
19 </b-col>
20 </b-row>
Yoshie Muranakac11d3892020-02-19 08:07:40 -080021 {{ $t('pageRebootBmc.rebootInformation') }}
Yoshie Muranakadb7aae22020-07-14 16:03:35 -070022 <b-button
23 variant="primary"
24 class="d-block mt-5"
25 data-test-id="rebootBmc-button-reboot"
26 @click="onClick"
27 >
Yoshie Muranakac11d3892020-02-19 08:07:40 -080028 {{ $t('pageRebootBmc.rebootBmc') }}
29 </b-button>
30 </page-section>
31 </b-col>
32 </b-row>
33 </b-container>
34</template>
35
36<script>
SurenNeware61859092020-10-01 09:37:32 +053037import PageTitle from '@/components/Global/PageTitle';
38import PageSection from '@/components/Global/PageSection';
39import BVToastMixin from '@/components/Mixins/BVToastMixin';
Dixsie Wolmers50cf2f72020-08-17 17:38:46 -050040import LoadingBarMixin from '@/components/Mixins/LoadingBarMixin';
Surya Vde23ea22024-07-11 15:19:46 +053041import { useI18n } from 'vue-i18n';
42import i18n from '@/i18n';
Yoshie Muranakac11d3892020-02-19 08:07:40 -080043
44export default {
45 name: 'RebootBmc',
46 components: { PageTitle, PageSection },
Dixsie Wolmers50cf2f72020-08-17 17:38:46 -050047 mixins: [BVToastMixin, LoadingBarMixin],
Derick Montague602e98a2020-10-21 16:20:00 -050048 beforeRouteLeave(to, from, next) {
49 this.hideLoader();
50 next();
51 },
Surya Vde23ea22024-07-11 15:19:46 +053052 data() {
53 return {
54 $t: useI18n().t,
55 };
56 },
Dixsie Wolmers50cf2f72020-08-17 17:38:46 -050057 computed: {
58 lastBmcRebootTime() {
59 return this.$store.getters['controls/lastBmcRebootTime'];
Derick Montague602e98a2020-10-21 16:20:00 -050060 },
Dixsie Wolmers50cf2f72020-08-17 17:38:46 -050061 },
62 created() {
63 this.startLoader();
64 this.$store
65 .dispatch('controls/getLastBmcRebootTime')
66 .finally(() => this.endLoader());
67 },
Yoshie Muranakac11d3892020-02-19 08:07:40 -080068 methods: {
69 onClick() {
70 this.$bvModal
Surya Vde23ea22024-07-11 15:19:46 +053071 .msgBoxConfirm(i18n.global.t('pageRebootBmc.modal.confirmMessage'), {
72 title: i18n.global.t('pageRebootBmc.modal.confirmTitle'),
73 okTitle: i18n.global.t('global.action.confirm'),
74 cancelTitle: i18n.global.t('global.action.cancel'),
Paul Fertserd1ef18e2024-04-06 08:04:14 +000075 autoFocusButton: 'ok',
Yoshie Muranakac11d3892020-02-19 08:07:40 -080076 })
Derick Montague602e98a2020-10-21 16:20:00 -050077 .then((confirmed) => {
Yoshie Muranakac11d3892020-02-19 08:07:40 -080078 if (confirmed) this.rebootBmc();
79 });
80 },
81 rebootBmc() {
82 this.$store
83 .dispatch('controls/rebootBmc')
Derick Montague602e98a2020-10-21 16:20:00 -050084 .then((message) => this.successToast(message))
Yoshie Muranakac11d3892020-02-19 08:07:40 -080085 .catch(({ message }) => this.errorToast(message));
Derick Montague602e98a2020-10-21 16:20:00 -050086 },
87 },
Yoshie Muranakac11d3892020-02-19 08:07:40 -080088};
89</script>
90
Ed Tanous7d6b44c2024-03-23 14:56:34 -070091<style lang="scss" scoped>
92@import '@/assets/styles/bmc/helpers/_index.scss';
93@import '@/assets/styles/bootstrap/_helpers.scss';
94</style>