summaryrefslogtreecommitdiff
path: root/src/views/Configuration/Firmware/FirmwareFormUpdate.vue
diff options
context:
space:
mode:
authorSandeepa Singh <sandeepa.singh@ibm.com>2021-07-14 13:32:22 +0300
committerDerick Montague <derick.montague@ibm.com>2021-08-10 22:20:42 +0300
commit68cbbe9014cbdcf7229a878f564d38f6d6199f25 (patch)
treecd7138959f405cb44b5d62000da9d364ed238b91 /src/views/Configuration/Firmware/FirmwareFormUpdate.vue
parent7affc529b7fba41193c4d48764707e9961cdd22d (diff)
downloadwebui-vue-68cbbe9014cbdcf7229a878f564d38f6d6199f25.tar.xz
IA update: Update control section to operations
This is the third update to the information architecture changes and has the following changes: - The control section has been updated to operations - The server led page has been removed - The firmware page is moved to operations section Signed-off-by: Sandeepa Singh <sandeepa.singh@ibm.com> Change-Id: I2e23da447890d7bee51892e1f782d5f2db6dded4
Diffstat (limited to 'src/views/Configuration/Firmware/FirmwareFormUpdate.vue')
-rw-r--r--src/views/Configuration/Firmware/FirmwareFormUpdate.vue200
1 files changed, 0 insertions, 200 deletions
diff --git a/src/views/Configuration/Firmware/FirmwareFormUpdate.vue b/src/views/Configuration/Firmware/FirmwareFormUpdate.vue
deleted file mode 100644
index 04b28a5c..00000000
--- a/src/views/Configuration/Firmware/FirmwareFormUpdate.vue
+++ /dev/null
@@ -1,200 +0,0 @@
-<template>
- <div>
- <div class="form-background p-3">
- <b-form @submit.prevent="onSubmitUpload">
- <b-form-group
- v-if="isTftpUploadAvailable"
- :label="$t('pageFirmware.form.updateFirmware.fileSource')"
- :disabled="isPageDisabled"
- >
- <b-form-radio v-model="isWorkstationSelected" :value="true">
- {{ $t('pageFirmware.form.updateFirmware.workstation') }}
- </b-form-radio>
- <b-form-radio v-model="isWorkstationSelected" :value="false">
- {{ $t('pageFirmware.form.updateFirmware.tftpServer') }}
- </b-form-radio>
- </b-form-group>
-
- <!-- Workstation Upload -->
- <template v-if="isWorkstationSelected">
- <b-form-group
- :label="$t('pageFirmware.form.updateFirmware.imageFile')"
- label-for="image-file"
- >
- <form-file
- id="image-file"
- :disabled="isPageDisabled"
- :state="getValidationState($v.file)"
- aria-describedby="image-file-help-block"
- @input="onFileUpload($event)"
- >
- <template #invalid>
- <b-form-invalid-feedback role="alert">
- {{ $t('global.form.required') }}
- </b-form-invalid-feedback>
- </template>
- </form-file>
- </b-form-group>
- </template>
-
- <!-- TFTP Server Upload -->
- <template v-else>
- <b-form-group
- :label="$t('pageFirmware.form.updateFirmware.fileAddress')"
- label-for="tftp-address"
- >
- <b-form-input
- id="tftp-address"
- v-model="tftpFileAddress"
- type="text"
- :state="getValidationState($v.tftpFileAddress)"
- :disabled="isPageDisabled"
- @input="$v.tftpFileAddress.$touch()"
- />
- <b-form-invalid-feedback role="alert">
- {{ $t('global.form.fieldRequired') }}
- </b-form-invalid-feedback>
- </b-form-group>
- </template>
- <b-btn
- data-test-id="firmware-button-startUpdate"
- type="submit"
- variant="primary"
- :disabled="isPageDisabled"
- >
- {{ $t('pageFirmware.form.updateFirmware.startUpdate') }}
- </b-btn>
- <alert
- v-if="isServerPowerOffRequired && !isServerOff"
- variant="warning"
- :small="true"
- class="mt-4"
- >
- <p class="col-form-label">
- {{
- $t('pageFirmware.alert.serverMustBePoweredOffToUpdateFirmware')
- }}
- </p>
- </alert>
- </b-form>
- </div>
-
- <!-- Modals -->
- <modal-update-firmware @ok="updateFirmware" />
- </div>
-</template>
-
-<script>
-import { requiredIf } from 'vuelidate/lib/validators';
-
-import BVToastMixin from '@/components/Mixins/BVToastMixin';
-import LoadingBarMixin, { loading } from '@/components/Mixins/LoadingBarMixin';
-import VuelidateMixin from '@/components/Mixins/VuelidateMixin.js';
-
-import Alert from '@/components/Global/Alert';
-import FormFile from '@/components/Global/FormFile';
-import ModalUpdateFirmware from './FirmwareModalUpdateFirmware';
-
-export default {
- components: { Alert, FormFile, ModalUpdateFirmware },
- mixins: [BVToastMixin, LoadingBarMixin, VuelidateMixin],
- props: {
- isPageDisabled: {
- required: true,
- type: Boolean,
- default: false,
- },
- isServerOff: {
- required: true,
- type: Boolean,
- },
- },
- data() {
- return {
- loading,
- isWorkstationSelected: true,
- file: null,
- tftpFileAddress: null,
- isServerPowerOffRequired:
- process.env.VUE_APP_SERVER_OFF_REQUIRED === 'true',
- };
- },
- computed: {
- isTftpUploadAvailable() {
- return this.$store.getters['firmware/isTftpUploadAvailable'];
- },
- },
- watch: {
- isWorkstationSelected: function () {
- this.$v.$reset();
- this.file = null;
- this.tftpFileAddress = null;
- },
- },
- validations() {
- return {
- file: {
- required: requiredIf(function () {
- return this.isWorkstationSelected;
- }),
- },
- tftpFileAddress: {
- required: requiredIf(function () {
- return !this.isWorkstationSelected;
- }),
- },
- };
- },
- created() {
- this.$store.dispatch('firmware/getUpdateServiceSettings');
- },
- methods: {
- updateFirmware() {
- this.startLoader();
- const timerId = setTimeout(() => {
- this.endLoader();
- this.infoToast(this.$t('pageFirmware.toast.verifyUpdateMessage'), {
- title: this.$t('pageFirmware.toast.verifyUpdate'),
- refreshAction: true,
- });
- }, 360000);
- this.infoToast(this.$t('pageFirmware.toast.updateStartedMessage'), {
- title: this.$t('pageFirmware.toast.updateStarted'),
- timestamp: true,
- });
- if (this.isWorkstationSelected) {
- this.dispatchWorkstationUpload(timerId);
- } else {
- this.dispatchTftpUpload(timerId);
- }
- },
- dispatchWorkstationUpload(timerId) {
- this.$store
- .dispatch('firmware/uploadFirmware', this.file)
- .catch(({ message }) => {
- this.endLoader();
- this.errorToast(message);
- clearTimeout(timerId);
- });
- },
- dispatchTftpUpload(timerId) {
- this.$store
- .dispatch('firmware/uploadFirmwareTFTP', this.tftpFileAddress)
- .catch(({ message }) => {
- this.endLoader();
- this.errorToast(message);
- clearTimeout(timerId);
- });
- },
- onSubmitUpload() {
- this.$v.$touch();
- if (this.$v.$invalid) return;
- this.$bvModal.show('modal-update-firmware');
- },
- onFileUpload(file) {
- this.file = file;
- this.$v.file.$touch();
- },
- },
-};
-</script>