blob: 900619cd5911b5bb15f48b1a49515d972f8ca595 [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">
14 {{ lastBmcRebootTime | formatDate }}
15 {{ lastBmcRebootTime | formatTime }}
16 </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';
Yoshie Muranakac11d3892020-02-19 08:07:40 -080041
42export default {
43 name: 'RebootBmc',
44 components: { PageTitle, PageSection },
Dixsie Wolmers50cf2f72020-08-17 17:38:46 -050045 mixins: [BVToastMixin, LoadingBarMixin],
Derick Montague602e98a2020-10-21 16:20:00 -050046 beforeRouteLeave(to, from, next) {
47 this.hideLoader();
48 next();
49 },
Dixsie Wolmers50cf2f72020-08-17 17:38:46 -050050 computed: {
51 lastBmcRebootTime() {
52 return this.$store.getters['controls/lastBmcRebootTime'];
Derick Montague602e98a2020-10-21 16:20:00 -050053 },
Dixsie Wolmers50cf2f72020-08-17 17:38:46 -050054 },
55 created() {
56 this.startLoader();
57 this.$store
58 .dispatch('controls/getLastBmcRebootTime')
59 .finally(() => this.endLoader());
60 },
Yoshie Muranakac11d3892020-02-19 08:07:40 -080061 methods: {
62 onClick() {
63 this.$bvModal
64 .msgBoxConfirm(this.$t('pageRebootBmc.modal.confirmMessage'), {
65 title: this.$t('pageRebootBmc.modal.confirmTitle'),
Derick Montague602e98a2020-10-21 16:20:00 -050066 okTitle: this.$t('global.action.confirm'),
Sukanya Pandey38357132020-12-22 13:40:59 +053067 cancelTitle: this.$t('global.action.cancel'),
Yoshie Muranakac11d3892020-02-19 08:07:40 -080068 })
Derick Montague602e98a2020-10-21 16:20:00 -050069 .then((confirmed) => {
Yoshie Muranakac11d3892020-02-19 08:07:40 -080070 if (confirmed) this.rebootBmc();
71 });
72 },
73 rebootBmc() {
74 this.$store
75 .dispatch('controls/rebootBmc')
Derick Montague602e98a2020-10-21 16:20:00 -050076 .then((message) => this.successToast(message))
Yoshie Muranakac11d3892020-02-19 08:07:40 -080077 .catch(({ message }) => this.errorToast(message));
Derick Montague602e98a2020-10-21 16:20:00 -050078 },
79 },
Yoshie Muranakac11d3892020-02-19 08:07:40 -080080};
81</script>
82
83<style lang="scss" scoped></style>