diff options
-rw-r--r-- | src/env/components/FirmwareSingleImage/FirmwareSingleImage.vue | 4 | ||||
-rw-r--r-- | src/env/store/FirmwareSingleImage/FirmwareSingleImageStore.js | 16 |
2 files changed, 17 insertions, 3 deletions
diff --git a/src/env/components/FirmwareSingleImage/FirmwareSingleImage.vue b/src/env/components/FirmwareSingleImage/FirmwareSingleImage.vue index 54a2bb15..b7ad4c53 100644 --- a/src/env/components/FirmwareSingleImage/FirmwareSingleImage.vue +++ b/src/env/components/FirmwareSingleImage/FirmwareSingleImage.vue @@ -101,6 +101,7 @@ <div class="form-background p-3"> <b-form @submit.prevent="onSubmitUpload"> <b-form-group + v-if="isTftpUploadAvailable" :label="$t('pageFirmware.singleFileUpload.fileSource')" :disabled="isPageDisabled" > @@ -258,6 +259,7 @@ export default { 'backupFirmwareVersion', 'isRebootFromBackupAvailable', 'systemFirmwareVersion', + 'isTftpUploadAvailable', ]), isPageDisabled() { if (this.isServerPowerOffRequired) { @@ -281,7 +283,7 @@ export default { }, created() { this.startLoader(); - this.$store.dispatch('firmwareSingleImage/getUpdateServiceApplyTime'); + this.$store.dispatch('firmwareSingleImage/getUpdateServiceSettings'); Promise.all([ this.$store.dispatch('global/getHostStatus'), this.$store.dispatch('firmwareSingleImage/getFirmwareInformation'), diff --git a/src/env/store/FirmwareSingleImage/FirmwareSingleImageStore.js b/src/env/store/FirmwareSingleImage/FirmwareSingleImageStore.js index 91bcb9fe..b16cac8a 100644 --- a/src/env/store/FirmwareSingleImage/FirmwareSingleImageStore.js +++ b/src/env/store/FirmwareSingleImage/FirmwareSingleImageStore.js @@ -16,6 +16,7 @@ const FirmwareSingleImageStore = { status: null, }, applyTime: null, + tftpAvailable: false, }, getters: { systemFirmwareVersion: (state) => state.activeFirmware.version, @@ -23,7 +24,8 @@ const FirmwareSingleImageStore = { backupFirmwareStatus: (state) => state.backupFirmware.status, isRebootFromBackupAvailable: (state) => state.backupFirmware.id ? true : false, - bmcFirmwareCurrentVersion: (state) => state.activeFirmware.version, //this getter is needed for the Overview page + bmcFirmwareCurrentVersion: (state) => state.activeFirmware.version, //this getter is needed for the Overview page, + isTftpUploadAvailable: (state) => state.tftpAvailable, }, mutations: { setActiveFirmware: (state, { version, id, location }) => { @@ -38,6 +40,8 @@ const FirmwareSingleImageStore = { state.backupFirmware.status = status; }, setApplyTime: (state, applyTime) => (state.applyTime = applyTime), + setTftpUploadAvailable: (state, tftpAvailable) => + (state.tftpAvailable = tftpAvailable), }, actions: { async getFirmwareInformation({ commit }) { @@ -77,13 +81,21 @@ const FirmwareSingleImageStore = { }) .catch((error) => console.log(error)); }, - getUpdateServiceApplyTime({ commit }) { + getUpdateServiceSettings({ commit }) { api .get('/redfish/v1/UpdateService') .then(({ data }) => { const applyTime = data.HttpPushUriOptions.HttpPushUriApplyTime.ApplyTime; + const allowableActions = + data?.Actions?.['#UpdateService.SimpleUpdate']?.[ + 'TransferProtocol@Redfish.AllowableValues' + ]; + commit('setApplyTime', applyTime); + if (allowableActions.includes('TFTP')) { + commit('setTftpUploadAvailable', true); + } }) .catch((error) => console.log(error)); }, |