diff --git a/src/locales/en-US.json b/src/locales/en-US.json index ab6307573a..8ba7ac9450 100644 --- a/src/locales/en-US.json +++ b/src/locales/en-US.json @@ -452,7 +452,9 @@ }, "toast": { "errorDisableIdentifyLed": "Error disabling Identify LED.", - "errorEnableIdentifyLed": "Error enabling Identify LED." + "errorEnableIdentifyLed": "Error enabling Identify LED.", + "successDisableIdentifyLed": "Successfully disabled Identify LED.", + "successEnableIdentifyLed": "Successfully enabled Identify LED." } }, "pageKeyClear": { diff --git a/src/store/modules/HardwareStatus/AssemblyStore.js b/src/store/modules/HardwareStatus/AssemblyStore.js index c6ab7cf709..13cdbbc9fb 100644 --- a/src/store/modules/HardwareStatus/AssemblyStore.js +++ b/src/store/modules/HardwareStatus/AssemblyStore.js @@ -54,17 +54,28 @@ const AssemblyStore = { ], }; - return await api.patch(uri, updatedIdentifyLedValue).catch((error) => { - dispatch('getAssemblyInfo'); - console.log('error', error); - if (led.identifyLed) { - throw new Error(i18n.t('pageInventory.toast.errorEnableIdentifyLed')); - } else { - throw new Error( - i18n.t('pageInventory.toast.errorDisableIdentifyLed'), - ); - } - }); + return await api + .patch(uri, updatedIdentifyLedValue) + .then(() => { + if (led.identifyLed) { + return i18n.t('pageInventory.toast.successEnableIdentifyLed'); + } else { + return i18n.t('pageInventory.toast.successDisableIdentifyLed'); + } + }) + .catch((error) => { + dispatch('getAssemblyInfo'); + console.log('error', error); + if (led.identifyLed) { + throw new Error( + i18n.t('pageInventory.toast.errorEnableIdentifyLed'), + ); + } else { + throw new Error( + i18n.t('pageInventory.toast.errorDisableIdentifyLed'), + ); + } + }); }, }, }; diff --git a/src/store/modules/HardwareStatus/BmcStore.js b/src/store/modules/HardwareStatus/BmcStore.js index f225e925ca..d96926ea42 100644 --- a/src/store/modules/HardwareStatus/BmcStore.js +++ b/src/store/modules/HardwareStatus/BmcStore.js @@ -58,7 +58,14 @@ const BmcStore = { }; return await api .patch(uri, updatedIdentifyLedValue) - .then(() => dispatch('getBmcInfo')) + .then(() => { + dispatch('getBmcInfo'); + if (led.identifyLed) { + return i18n.t('pageInventory.toast.successEnableIdentifyLed'); + } else { + return i18n.t('pageInventory.toast.successDisableIdentifyLed'); + } + }) .catch((error) => { dispatch('getBmcInfo'); console.log('error', error); diff --git a/src/store/modules/HardwareStatus/ChassisStore.js b/src/store/modules/HardwareStatus/ChassisStore.js index 6f2d74a224..7e591ad23b 100644 --- a/src/store/modules/HardwareStatus/ChassisStore.js +++ b/src/store/modules/HardwareStatus/ChassisStore.js @@ -72,7 +72,14 @@ const ChassisStore = { }; return await api .patch(uri, updatedIdentifyLedValue) - .then(() => dispatch('getChassisInfo')) + .then(() => { + dispatch('getChassisInfo'); + if (led.identifyLed) { + return i18n.t('pageInventory.toast.successEnableIdentifyLed'); + } else { + return i18n.t('pageInventory.toast.successDisableIdentifyLed'); + } + }) .catch((error) => { dispatch('getChassisInfo'); console.log('error', error); diff --git a/src/store/modules/HardwareStatus/MemoryStore.js b/src/store/modules/HardwareStatus/MemoryStore.js index 86b77c0aff..787a0502dc 100644 --- a/src/store/modules/HardwareStatus/MemoryStore.js +++ b/src/store/modules/HardwareStatus/MemoryStore.js @@ -73,17 +73,28 @@ const MemoryStore = { const updatedIdentifyLedValue = { LocationIndicatorActive: led.identifyLed, }; - return await api.patch(uri, updatedIdentifyLedValue).catch((error) => { - dispatch('getDimms'); - console.log('error', error); - if (led.identifyLed) { - throw new Error(i18n.t('pageInventory.toast.errorEnableIdentifyLed')); - } else { - throw new Error( - i18n.t('pageInventory.toast.errorDisableIdentifyLed'), - ); - } - }); + return await api + .patch(uri, updatedIdentifyLedValue) + .then(() => { + if (led.identifyLed) { + return i18n.t('pageInventory.toast.successEnableIdentifyLed'); + } else { + return i18n.t('pageInventory.toast.successDisableIdentifyLed'); + } + }) + .catch((error) => { + dispatch('getDimms'); + console.log('error', error); + if (led.identifyLed) { + throw new Error( + i18n.t('pageInventory.toast.errorEnableIdentifyLed'), + ); + } else { + throw new Error( + i18n.t('pageInventory.toast.errorDisableIdentifyLed'), + ); + } + }); }, }, }; diff --git a/src/store/modules/HardwareStatus/ProcessorStore.js b/src/store/modules/HardwareStatus/ProcessorStore.js index 29fb9989e9..49f96208c4 100644 --- a/src/store/modules/HardwareStatus/ProcessorStore.js +++ b/src/store/modules/HardwareStatus/ProcessorStore.js @@ -81,17 +81,28 @@ const ProcessorStore = { const updatedIdentifyLedValue = { LocationIndicatorActive: led.identifyLed, }; - return await api.patch(uri, updatedIdentifyLedValue).catch((error) => { - dispatch('getProcessorsInfo'); - console.log('error', error); - if (led.identifyLed) { - throw new Error(i18n.t('pageInventory.toast.errorEnableIdentifyLed')); - } else { - throw new Error( - i18n.t('pageInventory.toast.errorDisableIdentifyLed'), - ); - } - }); + return await api + .patch(uri, updatedIdentifyLedValue) + .then(() => { + if (led.identifyLed) { + return i18n.t('pageInventory.toast.successEnableIdentifyLed'); + } else { + return i18n.t('pageInventory.toast.successDisableIdentifyLed'); + } + }) + .catch((error) => { + dispatch('getProcessorsInfo'); + console.log('error', error); + if (led.identifyLed) { + throw new Error( + i18n.t('pageInventory.toast.errorEnableIdentifyLed'), + ); + } else { + throw new Error( + i18n.t('pageInventory.toast.errorDisableIdentifyLed'), + ); + } + }); }, }, }; diff --git a/src/store/modules/HardwareStatus/SystemStore.js b/src/store/modules/HardwareStatus/SystemStore.js index f1382348a8..ea519d73ca 100644 --- a/src/store/modules/HardwareStatus/SystemStore.js +++ b/src/store/modules/HardwareStatus/SystemStore.js @@ -49,6 +49,13 @@ const SystemStore = { .patch('/redfish/v1/Systems/system', { LocationIndicatorActive: ledState, }) + .then(() => { + if (ledState) { + return i18n.t('pageInventory.toast.successEnableIdentifyLed'); + } else { + return i18n.t('pageInventory.toast.successDisableIdentifyLed'); + } + }) .catch((error) => { commit('setSystemInfo', this.state.system.systems[0]); console.log('error', error); diff --git a/src/views/HardwareStatus/Inventory/InventoryServiceIndicator.vue b/src/views/HardwareStatus/Inventory/InventoryServiceIndicator.vue index 01f4a44650..0825ad7b8d 100644 --- a/src/views/HardwareStatus/Inventory/InventoryServiceIndicator.vue +++ b/src/views/HardwareStatus/Inventory/InventoryServiceIndicator.vue @@ -69,6 +69,7 @@ export default { toggleIdentifyLedSwitch(state) { this.$store .dispatch('system/changeIdentifyLedState', state) + .then((message) => this.successToast(message)) .catch(({ message }) => this.errorToast(message)); }, }, diff --git a/src/views/HardwareStatus/Inventory/InventoryTableAssembly.vue b/src/views/HardwareStatus/Inventory/InventoryTableAssembly.vue index b4010bfe83..b9f59cc650 100644 --- a/src/views/HardwareStatus/Inventory/InventoryTableAssembly.vue +++ b/src/views/HardwareStatus/Inventory/InventoryTableAssembly.vue @@ -143,6 +143,7 @@ export default { memberId: row.id, identifyLed: row.identifyLed, }) + .then((message) => this.successToast(message)) .catch(({ message }) => this.errorToast(message)); }, hasIdentifyLed(identifyLed) { diff --git a/src/views/HardwareStatus/Inventory/InventoryTableBmcManager.vue b/src/views/HardwareStatus/Inventory/InventoryTableBmcManager.vue index 48b914f447..cf3ee2bfdb 100644 --- a/src/views/HardwareStatus/Inventory/InventoryTableBmcManager.vue +++ b/src/views/HardwareStatus/Inventory/InventoryTableBmcManager.vue @@ -233,6 +233,7 @@ export default { uri: row.uri, identifyLed: row.identifyLed, }) + .then((message) => this.successToast(message)) .catch(({ message }) => this.errorToast(message)); }, // TO DO: remove hasIdentifyLed method once the following story is merged: diff --git a/src/views/HardwareStatus/Inventory/InventoryTableChassis.vue b/src/views/HardwareStatus/Inventory/InventoryTableChassis.vue index 4c557fa248..18ddfbaf34 100644 --- a/src/views/HardwareStatus/Inventory/InventoryTableChassis.vue +++ b/src/views/HardwareStatus/Inventory/InventoryTableChassis.vue @@ -186,6 +186,7 @@ export default { uri: row.uri, identifyLed: row.identifyLed, }) + .then((message) => this.successToast(message)) .catch(({ message }) => this.errorToast(message)); }, // TO DO: Remove this method when the LocationIndicatorActive is added from backend. diff --git a/src/views/HardwareStatus/Inventory/InventoryTableDimmSlot.vue b/src/views/HardwareStatus/Inventory/InventoryTableDimmSlot.vue index 6aa1578f8c..f3db133eb8 100644 --- a/src/views/HardwareStatus/Inventory/InventoryTableDimmSlot.vue +++ b/src/views/HardwareStatus/Inventory/InventoryTableDimmSlot.vue @@ -193,6 +193,7 @@ import IconChevron from '@carbon/icons-vue/es/chevron--down/20'; import StatusIcon from '@/components/Global/StatusIcon'; import TableCellCount from '@/components/Global/TableCellCount'; +import BVToastMixin from '@/components/Mixins/BVToastMixin'; import DataFormatterMixin from '@/components/Mixins/DataFormatterMixin'; import TableSortMixin from '@/components/Mixins/TableSortMixin'; import Search from '@/components/Global/Search'; @@ -206,6 +207,7 @@ import TableRowExpandMixin, { export default { components: { IconChevron, PageSection, StatusIcon, Search, TableCellCount }, mixins: [ + BVToastMixin, TableRowExpandMixin, DataFormatterMixin, TableSortMixin, @@ -287,6 +289,7 @@ export default { uri: row.uri, identifyLed: row.identifyLed, }) + .then((message) => this.successToast(message)) .catch(({ message }) => this.errorToast(message)); }, hasIdentifyLed(identifyLed) { diff --git a/src/views/HardwareStatus/Inventory/InventoryTableProcessors.vue b/src/views/HardwareStatus/Inventory/InventoryTableProcessors.vue index 07376a5b49..2887fc4981 100644 --- a/src/views/HardwareStatus/Inventory/InventoryTableProcessors.vue +++ b/src/views/HardwareStatus/Inventory/InventoryTableProcessors.vue @@ -257,6 +257,7 @@ export default { uri: row.uri, identifyLed: row.identifyLed, }) + .then((message) => this.successToast(message)) .catch(({ message }) => this.errorToast(message)); }, // TO DO: remove hasIdentifyLed when the following is merged: diff --git a/src/views/HardwareStatus/Inventory/InventoryTableSystem.vue b/src/views/HardwareStatus/Inventory/InventoryTableSystem.vue index 3eb7ca2926..8ac1a2590d 100644 --- a/src/views/HardwareStatus/Inventory/InventoryTableSystem.vue +++ b/src/views/HardwareStatus/Inventory/InventoryTableSystem.vue @@ -202,6 +202,7 @@ export default { toggleIdentifyLedSwitch(state) { this.$store .dispatch('system/changeIdentifyLedState', state) + .then((message) => this.successToast(message)) .catch(({ message }) => this.errorToast(message)); }, }, diff --git a/src/views/Overview/OverviewInventory.vue b/src/views/Overview/OverviewInventory.vue index 575cb7b7b7..1da5685f5d 100644 --- a/src/views/Overview/OverviewInventory.vue +++ b/src/views/Overview/OverviewInventory.vue @@ -29,12 +29,14 @@