diff --git a/webpack/src/Extends/Hosts/BulkActions/BulkChangeProxyCommon/index.js b/webpack/src/Extends/Hosts/BulkActions/BulkChangeProxyCommon/index.js index 68db6785..2a4f8d9c 100644 --- a/webpack/src/Extends/Hosts/BulkActions/BulkChangeProxyCommon/index.js +++ b/webpack/src/Extends/Hosts/BulkActions/BulkChangeProxyCommon/index.js @@ -15,17 +15,11 @@ import { } from '@patternfly/react-core'; import { addToast } from 'foremanReact/components/ToastsList/slice'; import { sprintf, translate as __ } from 'foremanReact/common/I18n'; -import { foremanUrl } from 'foremanReact/common/helpers'; -import { APIActions } from 'foremanReact/redux/API'; import { STATUS } from 'foremanReact/constants'; import { selectAPIStatus, selectAPIResponse, } from 'foremanReact/redux/API/APISelectors'; -import { - HOSTS_API_PATH, - API_REQUEST_KEY, -} from 'foremanReact/routes/Hosts/constants'; import { fetchSmartProxies, SMART_PROXY_KEY, @@ -47,6 +41,7 @@ const BulkChangeProxyCommon = ({ allHostsMessage, someHostsMessage, isCAProxy, + onSuccess: onSuccessCallback, }) => { const dispatch = useDispatch(); const [smartProxyId, setSmartProxyId] = useState(''); @@ -112,12 +107,7 @@ const BulkChangeProxyCommon = ({ message: response.data.message, }) ); - dispatch( - APIActions.get({ - key: API_REQUEST_KEY, - url: foremanUrl(HOSTS_API_PATH), - }) - ); + if (onSuccessCallback) onSuccessCallback(); handleModalClose(); }; @@ -242,11 +232,13 @@ BulkChangeProxyCommon.propTypes = { allHostsMessage: PropTypes.string.isRequired, someHostsMessage: PropTypes.string.isRequired, isCAProxy: PropTypes.bool.isRequired, + onSuccess: PropTypes.func, }; BulkChangeProxyCommon.defaultProps = { isOpen: false, closeModal: () => {}, + onSuccess: undefined, }; export default BulkChangeProxyCommon; diff --git a/webpack/src/Extends/Hosts/BulkActions/BulkChangePuppetCAProxy/__tests__/index.test.js b/webpack/src/Extends/Hosts/BulkActions/BulkChangePuppetCAProxy/__tests__/index.test.js index be2959ec..2ab9bc4d 100644 --- a/webpack/src/Extends/Hosts/BulkActions/BulkChangePuppetCAProxy/__tests__/index.test.js +++ b/webpack/src/Extends/Hosts/BulkActions/BulkChangePuppetCAProxy/__tests__/index.test.js @@ -18,11 +18,13 @@ jest.mock('../../BulkChangeProxyCommon', () => ({ describe('BulkChangePuppetCAProxyScene', () => { const fetchBulkParams = jest.fn(); + const refreshTableData = jest.fn(); const contextValue = { selectAllHostsMode: false, selectedCount: 2, selectedResults: [1, 2], fetchBulkParams, + refreshTableData, }; beforeEach(() => { @@ -51,6 +53,7 @@ describe('BulkChangePuppetCAProxyScene', () => { selectAllHostsMode: false, isOpen: true, closeModal: expect.any(Function), + onSuccess: refreshTableData, selectMessage: 'Select a Puppet CA Proxy', handleErrorMessage: 'Failed to change Puppet CA Proxy', changeMessage: 'Change Puppet CA Proxy', diff --git a/webpack/src/Extends/Hosts/BulkActions/BulkChangePuppetCAProxy/index.js b/webpack/src/Extends/Hosts/BulkActions/BulkChangePuppetCAProxy/index.js index 7f655e3f..05158ce4 100644 --- a/webpack/src/Extends/Hosts/BulkActions/BulkChangePuppetCAProxy/index.js +++ b/webpack/src/Extends/Hosts/BulkActions/BulkChangePuppetCAProxy/index.js @@ -11,6 +11,7 @@ const BulkChangePuppetCAProxyScene = () => { selectedCount, selectedResults, fetchBulkParams, + refreshTableData, } = useContext(ForemanActionsBarContext); const { isOpen, close: closeModal } = useBulkModalOpen( 'bulk-change-puppet-ca-proxy' @@ -24,6 +25,7 @@ const BulkChangePuppetCAProxyScene = () => { selectAllHostsMode={selectAllHostsMode} isOpen={isOpen} closeModal={closeModal} + onSuccess={refreshTableData} selectMessage={__('Select a Puppet CA Proxy')} handleErrorMessage={__('Failed to change Puppet CA Proxy')} changeMessage={__('Change Puppet CA Proxy')} diff --git a/webpack/src/Extends/Hosts/BulkActions/BulkChangePuppetProxy/__tests__/index.test.js b/webpack/src/Extends/Hosts/BulkActions/BulkChangePuppetProxy/__tests__/index.test.js index 00e0d8c1..67df0dd3 100644 --- a/webpack/src/Extends/Hosts/BulkActions/BulkChangePuppetProxy/__tests__/index.test.js +++ b/webpack/src/Extends/Hosts/BulkActions/BulkChangePuppetProxy/__tests__/index.test.js @@ -18,11 +18,13 @@ jest.mock('../../BulkChangeProxyCommon', () => ({ describe('BulkChangePuppetProxyScene', () => { const fetchBulkParams = jest.fn(); + const refreshTableData = jest.fn(); const contextValue = { selectAllHostsMode: false, selectedCount: 2, selectedResults: [1, 2], fetchBulkParams, + refreshTableData, }; beforeEach(() => { @@ -51,6 +53,7 @@ describe('BulkChangePuppetProxyScene', () => { selectAllHostsMode: false, isOpen: true, closeModal: expect.any(Function), + onSuccess: refreshTableData, selectMessage: 'Select a Puppet Proxy', handleErrorMessage: 'Failed to change Puppet Proxy', changeMessage: 'Change Puppet Proxy', diff --git a/webpack/src/Extends/Hosts/BulkActions/BulkChangePuppetProxy/index.js b/webpack/src/Extends/Hosts/BulkActions/BulkChangePuppetProxy/index.js index fba748b2..0598746f 100644 --- a/webpack/src/Extends/Hosts/BulkActions/BulkChangePuppetProxy/index.js +++ b/webpack/src/Extends/Hosts/BulkActions/BulkChangePuppetProxy/index.js @@ -11,6 +11,7 @@ const BulkChangePuppetProxyScene = () => { selectedCount, selectedResults, fetchBulkParams, + refreshTableData, } = useContext(ForemanActionsBarContext); const { isOpen, close: closeModal } = useBulkModalOpen( 'bulk-change-puppet-proxy' @@ -24,6 +25,7 @@ const BulkChangePuppetProxyScene = () => { selectAllHostsMode={selectAllHostsMode} isOpen={isOpen} closeModal={closeModal} + onSuccess={refreshTableData} selectMessage={__('Select a Puppet Proxy')} handleErrorMessage={__('Failed to change Puppet Proxy')} changeMessage={__('Change Puppet Proxy')} diff --git a/webpack/src/Extends/Hosts/BulkActions/BulkRemoveProxyCommon/index.js b/webpack/src/Extends/Hosts/BulkActions/BulkRemoveProxyCommon/index.js index 92111739..1f41a0c8 100644 --- a/webpack/src/Extends/Hosts/BulkActions/BulkRemoveProxyCommon/index.js +++ b/webpack/src/Extends/Hosts/BulkActions/BulkRemoveProxyCommon/index.js @@ -5,12 +5,6 @@ import { useDispatch } from 'react-redux'; import { Modal, Button, TextContent, Text } from '@patternfly/react-core'; import { addToast } from 'foremanReact/components/ToastsList/slice'; import { translate as __ } from 'foremanReact/common/I18n'; -import { foremanUrl } from 'foremanReact/common/helpers'; -import { APIActions } from 'foremanReact/redux/API'; -import { - HOSTS_API_PATH, - API_REQUEST_KEY, -} from 'foremanReact/routes/Hosts/constants'; import { BULK_REMOVE_PUPPET_PROXY_KEY, @@ -30,6 +24,7 @@ const BulkRemoveProxyCommon = ({ removeMessage, allHostsMessage, someHostsMessage, + onSuccess: onSuccessCallback, }) => { const actionKey = isCAProxy ? BULK_REMOVE_PUPPET_CA_PROXY_KEY @@ -57,12 +52,7 @@ const BulkRemoveProxyCommon = ({ message: response.data.message, }) ); - dispatch( - APIActions.get({ - key: API_REQUEST_KEY, - url: foremanUrl(HOSTS_API_PATH), - }) - ); + if (onSuccessCallback) onSuccessCallback(); handleModalClose(); }; @@ -153,12 +143,14 @@ BulkRemoveProxyCommon.propTypes = { removeMessage: PropTypes.string, allHostsMessage: PropTypes.string.isRequired, someHostsMessage: PropTypes.string.isRequired, + onSuccess: PropTypes.func, }; BulkRemoveProxyCommon.defaultProps = { isOpen: false, closeModal: () => {}, removeMessage: 'Remove Puppet (CA) Proxy', + onSuccess: undefined, }; export default BulkRemoveProxyCommon; diff --git a/webpack/src/Extends/Hosts/BulkActions/BulkRemovePuppetCAProxy/__tests__/index.test.js b/webpack/src/Extends/Hosts/BulkActions/BulkRemovePuppetCAProxy/__tests__/index.test.js index 16c19157..66a7d028 100644 --- a/webpack/src/Extends/Hosts/BulkActions/BulkRemovePuppetCAProxy/__tests__/index.test.js +++ b/webpack/src/Extends/Hosts/BulkActions/BulkRemovePuppetCAProxy/__tests__/index.test.js @@ -18,11 +18,13 @@ jest.mock('../../BulkRemoveProxyCommon', () => ({ describe('BulkRemovePuppetCAProxyScene', () => { const fetchBulkParams = jest.fn(); + const refreshTableData = jest.fn(); const contextValue = { selectAllHostsMode: false, selectedCount: 2, selectedResults: [1, 2], fetchBulkParams, + refreshTableData, }; beforeEach(() => { @@ -51,6 +53,7 @@ describe('BulkRemovePuppetCAProxyScene', () => { fetchBulkParams, isOpen: true, closeModal: expect.any(Function), + onSuccess: refreshTableData, handleErrorMessage: 'Failed to remove Puppet CA Proxy', allHostsMessage: 'Removing the Puppet CA proxy will affect {boldCount} selected hosts. Warning: If a Puppet Proxy is still set, the Puppet CA Proxy will fall back to that value after removal!', diff --git a/webpack/src/Extends/Hosts/BulkActions/BulkRemovePuppetCAProxy/index.js b/webpack/src/Extends/Hosts/BulkActions/BulkRemovePuppetCAProxy/index.js index 091cfdb7..cdf749bd 100644 --- a/webpack/src/Extends/Hosts/BulkActions/BulkRemovePuppetCAProxy/index.js +++ b/webpack/src/Extends/Hosts/BulkActions/BulkRemovePuppetCAProxy/index.js @@ -10,6 +10,7 @@ const BulkRemovePuppetCAProxyScene = () => { selectedCount, selectedResults, fetchBulkParams, + refreshTableData, } = useContext(ForemanActionsBarContext); const { isOpen, close: closeModal } = useBulkModalOpen( 'bulk-remove-puppet-ca-proxy' @@ -24,6 +25,7 @@ const BulkRemovePuppetCAProxyScene = () => { fetchBulkParams={fetchBulkParams} isOpen={isOpen} closeModal={closeModal} + onSuccess={refreshTableData} handleErrorMessage={__('Failed to remove Puppet CA Proxy')} allHostsMessage={__( 'Removing the Puppet CA proxy will affect {boldCount} selected hosts. Warning: If a Puppet Proxy is still set, the Puppet CA Proxy will fall back to that value after removal!' diff --git a/webpack/src/Extends/Hosts/BulkActions/BulkRemovePuppetProxy/__tests__/index.test.js b/webpack/src/Extends/Hosts/BulkActions/BulkRemovePuppetProxy/__tests__/index.test.js index 9f0b0429..452a25e8 100644 --- a/webpack/src/Extends/Hosts/BulkActions/BulkRemovePuppetProxy/__tests__/index.test.js +++ b/webpack/src/Extends/Hosts/BulkActions/BulkRemovePuppetProxy/__tests__/index.test.js @@ -18,11 +18,13 @@ jest.mock('../../BulkRemoveProxyCommon', () => ({ describe('BulkRemovePuppetProxyScene', () => { const fetchBulkParams = jest.fn(); + const refreshTableData = jest.fn(); const contextValue = { selectAllHostsMode: false, selectedCount: 2, selectedResults: [1, 2], fetchBulkParams, + refreshTableData, }; beforeEach(() => { @@ -51,6 +53,7 @@ describe('BulkRemovePuppetProxyScene', () => { fetchBulkParams, isOpen: true, closeModal: expect.any(Function), + onSuccess: refreshTableData, handleErrorMessage: 'Failed to remove Puppet Proxy', removeMessage: 'Remove Puppet Proxy', }) diff --git a/webpack/src/Extends/Hosts/BulkActions/BulkRemovePuppetProxy/index.js b/webpack/src/Extends/Hosts/BulkActions/BulkRemovePuppetProxy/index.js index 4618123b..9b4ef69e 100644 --- a/webpack/src/Extends/Hosts/BulkActions/BulkRemovePuppetProxy/index.js +++ b/webpack/src/Extends/Hosts/BulkActions/BulkRemovePuppetProxy/index.js @@ -10,6 +10,7 @@ const BulkRemovePuppetProxyScene = () => { selectedCount, selectedResults, fetchBulkParams, + refreshTableData, } = useContext(ForemanActionsBarContext); const { isOpen, close: closeModal } = useBulkModalOpen( 'bulk-remove-puppet-proxy' @@ -24,6 +25,7 @@ const BulkRemovePuppetProxyScene = () => { fetchBulkParams={fetchBulkParams} isOpen={isOpen} closeModal={closeModal} + onSuccess={refreshTableData} handleErrorMessage={__('Failed to remove Puppet Proxy')} allHostsMessage={__( 'Removing the Puppet proxy will affect {boldCount} selected hosts.'