foreman_rh_cloud 3.0.17 → 3.0.18
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/controllers/foreman_inventory_upload/accounts_controller.rb +3 -15
- data/app/controllers/foreman_inventory_upload/uploads_controller.rb +0 -48
- data/app/controllers/foreman_inventory_upload/uploads_settings_controller.rb +26 -0
- data/app/controllers/insights_cloud/hits_controller.rb +1 -1
- data/app/services/foreman_rh_cloud/branch_info.rb +3 -14
- data/app/services/foreman_rh_cloud/cloud_connector.rb +12 -7
- data/app/services/foreman_rh_cloud/cloud_request_forwarder.rb +31 -19
- data/config/routes.rb +2 -5
- data/db/migrate/20210307000001_add_unique_to_insights_facet.foreman_rh_cloud.rb +11 -0
- data/lib/foreman_inventory_upload.rb +2 -1
- data/lib/foreman_inventory_upload/generators/json_stream.rb +1 -1
- data/lib/foreman_inventory_upload/generators/slice.rb +14 -21
- data/lib/foreman_inventory_upload/generators/tags.rb +59 -0
- data/lib/foreman_rh_cloud.rb +4 -0
- data/lib/foreman_rh_cloud/version.rb +1 -1
- data/package.json +1 -1
- data/test/controllers/accounts_controller_test.rb +1 -5
- data/test/controllers/uploads_controller_test.rb +0 -13
- data/test/controllers/uploads_settings_controller_test.rb +31 -0
- data/test/test_plugin_helper.rb +13 -0
- data/test/unit/services/foreman_rh_cloud/branch_info_test.rb +5 -5
- data/test/unit/services/foreman_rh_cloud/cloud_request_forwarder_test.rb +39 -4
- data/test/unit/slice_generator_test.rb +7 -2
- data/test/unit/tags_generator_test.rb +60 -0
- data/webpack/ForemanInventoryUpload/Components/AccountList/AccountList.fixtures.js +4 -19
- data/webpack/ForemanInventoryUpload/Components/AccountList/AccountList.js +7 -7
- data/webpack/ForemanInventoryUpload/Components/AccountList/AccountListHelper.js +6 -6
- data/webpack/ForemanInventoryUpload/Components/AccountList/AccountListReducer.js +0 -34
- data/webpack/ForemanInventoryUpload/Components/AccountList/AccountListSelectors.js +0 -14
- data/webpack/ForemanInventoryUpload/Components/AccountList/Components/EmptyResults/emptyResults.scss +6 -4
- data/webpack/ForemanInventoryUpload/Components/AccountList/Components/EmptyState/emptyState.scss +6 -4
- data/webpack/ForemanInventoryUpload/Components/AccountList/Components/ErrorState/errorState.scss +14 -12
- data/webpack/ForemanInventoryUpload/Components/AccountList/Components/ListItem/ListItem.fixtures.js +10 -1
- data/webpack/ForemanInventoryUpload/Components/AccountList/Components/ListItem/ListItem.js +7 -7
- data/webpack/ForemanInventoryUpload/Components/AccountList/Components/ListItem/__tests__/__snapshots__/ListItem.test.js.snap +12 -9
- data/webpack/ForemanInventoryUpload/Components/AccountList/__tests__/AccountListHelper.test.js +3 -3
- data/webpack/ForemanInventoryUpload/Components/AccountList/__tests__/AccountListReducer.test.js +0 -30
- data/webpack/ForemanInventoryUpload/Components/AccountList/__tests__/AccountListSelectors.test.js +1 -23
- data/webpack/ForemanInventoryUpload/Components/AccountList/__tests__/__snapshots__/AccountList.test.js.snap +6 -6
- data/webpack/ForemanInventoryUpload/Components/AccountList/__tests__/__snapshots__/AccountListActions.test.js.snap +3 -8
- data/webpack/ForemanInventoryUpload/Components/AccountList/__tests__/__snapshots__/AccountListReducer.test.js.snap +3 -35
- data/webpack/ForemanInventoryUpload/Components/AccountList/__tests__/__snapshots__/AccountListSelectors.test.js.snap +6 -18
- data/webpack/ForemanInventoryUpload/Components/AccountList/accountList.scss +24 -22
- data/webpack/ForemanInventoryUpload/Components/Dashboard/Dashboard.fixtures.js +1 -1
- data/webpack/ForemanInventoryUpload/Components/Dashboard/Dashboard.js +1 -1
- data/webpack/ForemanInventoryUpload/Components/FileDownload/FileDownload.js +2 -1
- data/webpack/ForemanInventoryUpload/Components/FileDownload/fileDownload.scss +4 -2
- data/webpack/ForemanInventoryUpload/Components/FullScreenModal/FullScreenModal.js +2 -1
- data/webpack/ForemanInventoryUpload/Components/FullScreenModal/fullScreenModal.scss +16 -14
- data/webpack/ForemanInventoryUpload/Components/InventoryFilter/Components/ClearButton/ClearButton.js +2 -1
- data/webpack/ForemanInventoryUpload/Components/InventoryFilter/InventoryFilter.fixtures.js +1 -1
- data/webpack/ForemanInventoryUpload/Components/InventoryFilter/InventoryFilter.js +2 -1
- data/webpack/ForemanInventoryUpload/Components/InventoryFilter/InventoryFilterReducer.js +3 -11
- data/webpack/ForemanInventoryUpload/Components/InventoryFilter/__tests__/InventoryFilter.test.js +1 -1
- data/webpack/ForemanInventoryUpload/Components/InventoryFilter/__tests__/InventoryFilterReducer.test.js +3 -3
- data/webpack/ForemanInventoryUpload/Components/InventorySettings/AdvancedSetting/AdvancedSettingActions.js +7 -0
- data/webpack/ForemanInventoryUpload/Components/InventorySettings/AdvancedSetting/AdvancedSettingsConstants.js +26 -0
- data/webpack/ForemanInventoryUpload/Components/InventorySettings/AdvancedSetting/__tests__/AdvancedSettingActions.test.js +9 -0
- data/webpack/ForemanInventoryUpload/Components/InventorySettings/AdvancedSetting/__tests__/__snapshots__/AdvancedSettingActions.test.js.snap +18 -0
- data/webpack/ForemanInventoryUpload/Components/InventorySettings/AdvancedSetting/index.js +29 -0
- data/webpack/ForemanInventoryUpload/Components/InventorySettings/InventorySettings.js +7 -8
- data/webpack/ForemanInventoryUpload/Components/InventorySettings/InventorySettings.scss +15 -9
- data/webpack/ForemanInventoryUpload/Components/InventorySettings/InventorySettingsActions.js +23 -0
- data/webpack/ForemanInventoryUpload/Components/InventorySettings/InventorySettingsConstants.js +9 -0
- data/webpack/ForemanInventoryUpload/Components/InventorySettings/InventorySettingsSelectors.js +19 -0
- data/webpack/ForemanInventoryUpload/Components/InventorySettings/__tests__/InventorySettingsActions.test.js +14 -0
- data/webpack/ForemanInventoryUpload/Components/InventorySettings/__tests__/__snapshots__/InventorySettings.test.js.snap +16 -4
- data/webpack/ForemanInventoryUpload/Components/InventorySettings/__tests__/__snapshots__/InventorySettingsActions.test.js.snap +26 -0
- data/webpack/ForemanInventoryUpload/Components/InventorySettings/index.js +16 -1
- data/webpack/ForemanInventoryUpload/Components/NavContainer/NavContainer.fixtures.js +1 -1
- data/webpack/ForemanInventoryUpload/Components/NavContainer/navContainer.scss +7 -5
- data/webpack/ForemanInventoryUpload/Components/PageHeader/PageHeader.scss +1 -1
- data/webpack/ForemanInventoryUpload/Components/PageHeader/__tests__/__snapshots__/PageHeader.test.js.snap +1 -1
- data/webpack/ForemanInventoryUpload/Components/PageHeader/components/SettingsWarning/index.js +1 -1
- data/webpack/ForemanInventoryUpload/Components/PageHeader/components/SyncButton/__tests__/SyncButton.test.js +1 -1
- data/webpack/ForemanInventoryUpload/Components/PageHeader/components/SyncButton/components/Modal.js +1 -1
- data/webpack/ForemanInventoryUpload/Components/PageHeader/components/SyncButton/components/modal.scss +1 -1
- data/webpack/ForemanInventoryUpload/Components/PageHeader/components/SyncButton/index.js +1 -1
- data/webpack/ForemanInventoryUpload/Components/ReportGenerate/ReportGenerate.fixtures.js +1 -1
- data/webpack/ForemanInventoryUpload/Components/ReportGenerate/ReportGenerate.js +1 -1
- data/webpack/ForemanInventoryUpload/Components/ReportUpload/ReportUpload.fixtures.js +1 -1
- data/webpack/ForemanInventoryUpload/Components/ReportUpload/ReportUpload.js +1 -1
- data/webpack/ForemanInventoryUpload/Components/ScheduledRun/index.js +1 -1
- data/webpack/ForemanInventoryUpload/Components/ScheduledRun/scheduledRun.scss +8 -6
- data/webpack/ForemanInventoryUpload/Components/StatusChart/statusChart.scss +9 -7
- data/webpack/ForemanInventoryUpload/Components/TabBody/tabBody.scss +4 -2
- data/webpack/ForemanInventoryUpload/Components/TabContainer/tabContainer.scss +7 -5
- data/webpack/ForemanInventoryUpload/Components/TabHeader/TabHeader.js +2 -1
- data/webpack/ForemanInventoryUpload/Components/TabHeader/tabHeader.scss +15 -13
- data/webpack/ForemanInventoryUpload/Components/Terminal/terminal.scss +27 -25
- data/webpack/ForemanInventoryUpload/ForemanInventoryUpload.js +1 -1
- data/webpack/ForemanInventoryUpload/SubscriptionsPageExtension/InventoryAutoUpload/InventoryAutoUpload.js +13 -8
- data/webpack/ForemanInventoryUpload/SubscriptionsPageExtension/InventoryAutoUpload/__tests__/InventoryAutoUpload.test.js +3 -3
- data/webpack/ForemanInventoryUpload/SubscriptionsPageExtension/InventoryAutoUpload/components/AdvancedSettings/AdvancedSettings.js +21 -9
- data/webpack/ForemanInventoryUpload/SubscriptionsPageExtension/InventoryAutoUpload/components/AdvancedSettings/index.js +3 -8
- data/webpack/ForemanInventoryUpload/SubscriptionsPageExtension/InventoryAutoUpload/index.js +6 -4
- data/webpack/ForemanInventoryUpload/__tests__/__snapshots__/ForemanInventoryUpload.test.js.snap +1 -1
- data/webpack/InsightsCloudSync/Components/InsightsSettings/__tests__/InsightsSettings.test.js +1 -1
- data/webpack/InsightsCloudSync/Components/InsightsSyncSwitcher/__tests__/InsightsSyncSwitcher.test.js +1 -1
- data/webpack/InsightsCloudSync/Components/InsightsTable/__tests__/fixtures.js +1 -1
- data/webpack/InsightsCloudSync/InsightsCloudSync.test.js +1 -1
- data/webpack/InsightsHostDetailsTab/InsightsTab.js +2 -1
- data/webpack/__mocks__/foremanReact/redux/API/APISelectors.js +1 -1
- data/webpack/common/Switcher/SwitcherPF4.scss +1 -1
- metadata +55 -56
- data/webpack/ForemanInventoryUpload/Components/AutoUploadSwitcher/AutoUploadSwitcher.fixtures.js +0 -3
- data/webpack/ForemanInventoryUpload/Components/AutoUploadSwitcher/AutoUploadSwitcher.js +0 -29
- data/webpack/ForemanInventoryUpload/Components/AutoUploadSwitcher/AutoUploadSwitcherActions.js +0 -29
- data/webpack/ForemanInventoryUpload/Components/AutoUploadSwitcher/AutoUploadSwitcherConstants.js +0 -1
- data/webpack/ForemanInventoryUpload/Components/AutoUploadSwitcher/__tests__/AutoUploadSwitcher.test.js +0 -14
- data/webpack/ForemanInventoryUpload/Components/AutoUploadSwitcher/__tests__/AutoUploadSwitcherActions.test.js +0 -24
- data/webpack/ForemanInventoryUpload/Components/AutoUploadSwitcher/__tests__/__snapshots__/AutoUploadSwitcher.test.js.snap +0 -15
- data/webpack/ForemanInventoryUpload/Components/AutoUploadSwitcher/__tests__/__snapshots__/AutoUploadSwitcherActions.test.js.snap +0 -31
- data/webpack/ForemanInventoryUpload/Components/AutoUploadSwitcher/index.js +0 -17
- data/webpack/ForemanInventoryUpload/Components/ExcludePackagesSwitcher/ExcludePackagesSwitcher.fixtures.js +0 -1
- data/webpack/ForemanInventoryUpload/Components/ExcludePackagesSwitcher/ExcludePackagesSwitcher.js +0 -27
- data/webpack/ForemanInventoryUpload/Components/ExcludePackagesSwitcher/ExcludePackagesSwitcherActions.js +0 -29
- data/webpack/ForemanInventoryUpload/Components/ExcludePackagesSwitcher/ExcludePackagesSwitcherConstants.js +0 -1
- data/webpack/ForemanInventoryUpload/Components/ExcludePackagesSwitcher/__tests__/ExcludePackagesSwitcher.test.js +0 -13
- data/webpack/ForemanInventoryUpload/Components/ExcludePackagesSwitcher/__tests__/ExcludePackagesSwitcherActions.test.js +0 -21
- data/webpack/ForemanInventoryUpload/Components/ExcludePackagesSwitcher/__tests__/__snapshots__/ExcludePackagesSwitcher.test.js.snap +0 -15
- data/webpack/ForemanInventoryUpload/Components/ExcludePackagesSwitcher/__tests__/__snapshots__/ExcludePackagesSwitcherActions.test.js.snap +0 -31
- data/webpack/ForemanInventoryUpload/Components/ExcludePackagesSwitcher/__tests__/__snapshots__/integration.test.js.snap +0 -46
- data/webpack/ForemanInventoryUpload/Components/ExcludePackagesSwitcher/__tests__/integration.test.js +0 -36
- data/webpack/ForemanInventoryUpload/Components/ExcludePackagesSwitcher/index.js +0 -20
- data/webpack/ForemanInventoryUpload/Components/HostObfuscationSwitcher/HostObfuscationSwitcher.fixtures.js +0 -2
- data/webpack/ForemanInventoryUpload/Components/HostObfuscationSwitcher/HostObfuscationSwitcher.js +0 -27
- data/webpack/ForemanInventoryUpload/Components/HostObfuscationSwitcher/HostObfuscationSwitcherActions.js +0 -29
- data/webpack/ForemanInventoryUpload/Components/HostObfuscationSwitcher/HostObfuscationSwitcherConstants.js +0 -1
- data/webpack/ForemanInventoryUpload/Components/HostObfuscationSwitcher/__tests__/HostObfuscationSwitcher.test.js +0 -14
- data/webpack/ForemanInventoryUpload/Components/HostObfuscationSwitcher/__tests__/HostObfuscationSwitcherActions.test.js +0 -24
- data/webpack/ForemanInventoryUpload/Components/HostObfuscationSwitcher/__tests__/__snapshots__/HostObfuscationSwitcher.test.js.snap +0 -15
- data/webpack/ForemanInventoryUpload/Components/HostObfuscationSwitcher/__tests__/__snapshots__/HostObfuscationSwitcherActions.test.js.snap +0 -31
- data/webpack/ForemanInventoryUpload/Components/HostObfuscationSwitcher/index.js +0 -20
- data/webpack/ForemanInventoryUpload/Components/IpsObfuscationSwitcher/IpsObfuscationSwitcher.fixtures.js +0 -1
- data/webpack/ForemanInventoryUpload/Components/IpsObfuscationSwitcher/IpsObfuscationSwitcher.js +0 -27
- data/webpack/ForemanInventoryUpload/Components/IpsObfuscationSwitcher/IpsObfuscationSwitcherActions.js +0 -29
- data/webpack/ForemanInventoryUpload/Components/IpsObfuscationSwitcher/IpsObfuscationSwitcherConstants.js +0 -1
- data/webpack/ForemanInventoryUpload/Components/IpsObfuscationSwitcher/__tests__/IpsObfuscationSwitcher.test.js +0 -13
- data/webpack/ForemanInventoryUpload/Components/IpsObfuscationSwitcher/__tests__/IpsObfuscationSwitcherActions.test.js +0 -21
- data/webpack/ForemanInventoryUpload/Components/IpsObfuscationSwitcher/__tests__/__snapshots__/IpsObfuscationSwitcher.test.js.snap +0 -15
- data/webpack/ForemanInventoryUpload/Components/IpsObfuscationSwitcher/__tests__/__snapshots__/IpsObfuscationSwitcherActions.test.js.snap +0 -31
- data/webpack/ForemanInventoryUpload/Components/IpsObfuscationSwitcher/index.js +0 -20
@@ -1,32 +1,34 @@
|
|
1
|
-
.
|
2
|
-
.
|
3
|
-
|
4
|
-
|
1
|
+
.rh-cloud-inventory-page {
|
2
|
+
.account-list {
|
3
|
+
.pf-c-accordion__toggle {
|
4
|
+
margin-top: 10px;
|
5
|
+
}
|
5
6
|
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
7
|
+
.pf-c-accordion__toggle-text {
|
8
|
+
font-size: 16px;
|
9
|
+
display: flex;
|
10
|
+
justify-content: space-between;
|
11
|
+
width: 100%;
|
11
12
|
|
12
|
-
|
13
|
-
|
13
|
+
.account-icon {
|
14
|
+
margin-right: 5px;
|
14
15
|
|
15
|
-
|
16
|
-
|
16
|
+
.pf-c-label__icon {
|
17
|
+
margin: 0;
|
18
|
+
}
|
17
19
|
}
|
18
|
-
}
|
19
20
|
|
20
|
-
|
21
|
-
|
22
|
-
|
21
|
+
span {
|
22
|
+
align-self: center;
|
23
|
+
}
|
23
24
|
|
24
|
-
|
25
|
-
|
25
|
+
.status {
|
26
|
+
margin: 0;
|
27
|
+
}
|
26
28
|
}
|
27
|
-
}
|
28
29
|
|
29
|
-
|
30
|
-
|
30
|
+
.list-item-status > span {
|
31
|
+
margin-left: 7px;
|
32
|
+
}
|
31
33
|
}
|
32
34
|
}
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import React from 'react';
|
2
2
|
import PropTypes from 'prop-types';
|
3
|
-
import { noop } from '
|
3
|
+
import { noop } from 'foremanReact/common/helpers';
|
4
4
|
import { translate as __ } from 'foremanReact/common/I18n';
|
5
5
|
import ReportGenerate from '../ReportGenerate';
|
6
6
|
import ReportUpload from '../ReportUpload';
|
@@ -1,6 +1,7 @@
|
|
1
1
|
import React from 'react';
|
2
2
|
import PropTypes from 'prop-types';
|
3
|
-
import {
|
3
|
+
import { Grid, Button, Icon } from 'patternfly-react';
|
4
|
+
import { noop } from 'foremanReact/common/helpers';
|
4
5
|
import './fileDownload.scss';
|
5
6
|
|
6
7
|
const FileDownload = ({ onClick }) => (
|
@@ -1,6 +1,7 @@
|
|
1
1
|
import React from 'react';
|
2
2
|
import PropTypes from 'prop-types';
|
3
|
-
import { Modal, Icon
|
3
|
+
import { Modal, Icon } from 'patternfly-react';
|
4
|
+
import { noop } from 'foremanReact/common/helpers';
|
4
5
|
import { translate as __ } from 'foremanReact/common/I18n';
|
5
6
|
import Terminal from '../Terminal';
|
6
7
|
import './fullScreenModal.scss';
|
@@ -1,19 +1,21 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
1
|
+
.rh-cloud-inventory-page {
|
2
|
+
#full-screen-terminal {
|
3
|
+
.modal-dialog {
|
4
|
+
width: 95%;
|
5
|
+
height: 95%;
|
6
|
+
margin: 30px 0 0 30px;
|
6
7
|
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
8
|
+
.modal-body {
|
9
|
+
padding: 0;
|
10
|
+
display: flex;
|
11
|
+
height: -webkit-fill-available;
|
12
|
+
height: -moz-available;
|
13
|
+
height: fill-available;
|
13
14
|
|
14
|
-
|
15
|
-
|
16
|
-
|
15
|
+
.terminal {
|
16
|
+
margin: 0 -20px;
|
17
|
+
height: 100%;
|
18
|
+
}
|
17
19
|
}
|
18
20
|
}
|
19
21
|
}
|
data/webpack/ForemanInventoryUpload/Components/InventoryFilter/Components/ClearButton/ClearButton.js
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
import React from 'react';
|
2
2
|
import PropTypes from 'prop-types';
|
3
|
-
import {
|
3
|
+
import { noop } from 'foremanReact/common/helpers';
|
4
|
+
import { Icon, OverlayTrigger, Tooltip } from 'patternfly-react';
|
4
5
|
import { translate as __ } from 'foremanReact/common/I18n';
|
5
6
|
|
6
7
|
const ClearButton = ({ onClear }) => (
|
@@ -1,2 +1,2 @@
|
|
1
1
|
export const filterTerm = 'test_filter_term';
|
2
|
-
export const
|
2
|
+
export const organization = { title: 'some_org', id: 1 };
|
@@ -1,6 +1,7 @@
|
|
1
1
|
import React from 'react';
|
2
2
|
import PropTypes from 'prop-types';
|
3
|
-
import { FormGroup, FormControl
|
3
|
+
import { FormGroup, FormControl } from 'patternfly-react';
|
4
|
+
import { noop } from 'foremanReact/common/helpers';
|
4
5
|
import { translate as __ } from 'foremanReact/common/I18n';
|
5
6
|
import ClearButton from './Components/ClearButton';
|
6
7
|
import './inventoryFilter.scss';
|
@@ -16,7 +16,7 @@ const initialState = Immutable({
|
|
16
16
|
|
17
17
|
export default (
|
18
18
|
state = initialState,
|
19
|
-
{ type, payload: { filterTerm,
|
19
|
+
{ type, payload: { filterTerm, organization } = {} }
|
20
20
|
) => {
|
21
21
|
switch (type) {
|
22
22
|
case INVENTORY_FILTER_UPDATE:
|
@@ -27,17 +27,9 @@ export default (
|
|
27
27
|
return state.merge({
|
28
28
|
filterTerm: '',
|
29
29
|
});
|
30
|
-
case LAYOUT_CHANGE_ORG:
|
31
|
-
const { title } = org;
|
32
|
-
// Any org is used only in it's translated form in the redux
|
33
|
-
const term = title === __(ANY_ORGANIZATION) ? '' : title;
|
34
|
-
return state.merge({
|
35
|
-
filterTerm: term,
|
36
|
-
});
|
37
|
-
}
|
30
|
+
case LAYOUT_CHANGE_ORG:
|
38
31
|
case LAYOUT_INITIALIZE: {
|
39
|
-
|
40
|
-
const { title } = organization || {}; // org was renamed
|
32
|
+
const { title } = organization || {};
|
41
33
|
// Any org is used only in it's translated form in the redux
|
42
34
|
const term = title === __(ANY_ORGANIZATION) ? '' : title;
|
43
35
|
return state.merge({
|
@@ -4,7 +4,7 @@ import {
|
|
4
4
|
LAYOUT_INITIALIZE,
|
5
5
|
} from 'foremanReact/components/Layout/LayoutConstants';
|
6
6
|
import reducer from '../InventoryFilterReducer';
|
7
|
-
import { filterTerm,
|
7
|
+
import { filterTerm, organization } from '../InventoryFilter.fixtures';
|
8
8
|
import {
|
9
9
|
INVENTORY_FILTER_UPDATE,
|
10
10
|
INVENTORY_FILTER_CLEAR,
|
@@ -29,13 +29,13 @@ const fixtures = {
|
|
29
29
|
'should handle LAYOUT_CHANGE_ORG': {
|
30
30
|
action: {
|
31
31
|
type: LAYOUT_CHANGE_ORG,
|
32
|
-
payload: {
|
32
|
+
payload: { organization },
|
33
33
|
},
|
34
34
|
},
|
35
35
|
'should handle LAYOUT_INITIALIZE': {
|
36
36
|
action: {
|
37
37
|
type: LAYOUT_INITIALIZE,
|
38
|
-
payload: { organization
|
38
|
+
payload: { organization },
|
39
39
|
},
|
40
40
|
},
|
41
41
|
};
|
@@ -0,0 +1,26 @@
|
|
1
|
+
import { translate as __ } from 'foremanReact/common/I18n';
|
2
|
+
|
3
|
+
export const settingsDict = {
|
4
|
+
autoUploadEnabled: {
|
5
|
+
name: 'allow_auto_inventory_upload',
|
6
|
+
label: __('Auto upload'),
|
7
|
+
tooltip: __(
|
8
|
+
'Enable automatic upload of your hosts inventory to the Red Hat cloud'
|
9
|
+
),
|
10
|
+
},
|
11
|
+
hostObfuscationEnabled: {
|
12
|
+
name: 'obfuscate_inventory_hostnames',
|
13
|
+
label: __('Obfuscate host names'),
|
14
|
+
tooltip: __('Obfuscate host names sent to the Red Hat cloud'),
|
15
|
+
},
|
16
|
+
ipsObfuscationEnabled: {
|
17
|
+
name: 'obfuscate_inventory_ips',
|
18
|
+
label: __('Obfuscate host ipv4 addresses'),
|
19
|
+
tooltip: __('Obfuscate ipv4 addresses sent to the Red Hat cloud'),
|
20
|
+
},
|
21
|
+
excludePackagesEnabled: {
|
22
|
+
name: 'exclude_installed_packages',
|
23
|
+
label: __('Exclude Packages'),
|
24
|
+
tooltip: __('Exclude packages from being uploaded to the Red Hat cloud'),
|
25
|
+
},
|
26
|
+
};
|
@@ -0,0 +1,9 @@
|
|
1
|
+
import { testActionSnapshotWithFixtures } from '@theforeman/test';
|
2
|
+
import { handleToggle } from '../AdvancedSettingActions';
|
3
|
+
|
4
|
+
const fixtures = {
|
5
|
+
'should handleToggle': () => handleToggle('autoUploadEnabled', false),
|
6
|
+
};
|
7
|
+
|
8
|
+
describe('AdvancedSetting actions', () =>
|
9
|
+
testActionSnapshotWithFixtures(fixtures));
|
@@ -0,0 +1,18 @@
|
|
1
|
+
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
2
|
+
|
3
|
+
exports[`AdvancedSetting actions should handleToggle 1`] = `
|
4
|
+
Array [
|
5
|
+
Array [
|
6
|
+
Object {
|
7
|
+
"errorToast": [Function],
|
8
|
+
"key": "INVENTORY_SETTINGS",
|
9
|
+
"params": Object {
|
10
|
+
"setting": "autoUploadEnabled",
|
11
|
+
"value": true,
|
12
|
+
},
|
13
|
+
"type": "post-some-type",
|
14
|
+
"url": "/foreman_inventory_upload/setting",
|
15
|
+
},
|
16
|
+
],
|
17
|
+
]
|
18
|
+
`;
|
@@ -0,0 +1,29 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import PropTypes from 'prop-types';
|
3
|
+
import { useSelector, useDispatch } from 'react-redux';
|
4
|
+
import { selectSettings } from '../InventorySettingsSelectors';
|
5
|
+
import { handleToggle } from './AdvancedSettingActions';
|
6
|
+
import SwitcherPF4 from '../../../../common/Switcher/SwitcherPF4';
|
7
|
+
import { settingsDict } from './AdvancedSettingsConstants';
|
8
|
+
|
9
|
+
const AdvancedSetting = ({ setting }) => {
|
10
|
+
const settingValue = useSelector(store => selectSettings(store)[setting]);
|
11
|
+
const dispatch = useDispatch();
|
12
|
+
const onToggle = () =>
|
13
|
+
dispatch(handleToggle(settingsDict[setting].name, settingValue));
|
14
|
+
return (
|
15
|
+
<SwitcherPF4
|
16
|
+
id={settingsDict[setting].name}
|
17
|
+
label={settingsDict[setting].label}
|
18
|
+
tooltip={settingsDict[setting].tooltip}
|
19
|
+
isChecked={settingValue}
|
20
|
+
onChange={onToggle}
|
21
|
+
/>
|
22
|
+
);
|
23
|
+
};
|
24
|
+
|
25
|
+
AdvancedSetting.propTypes = {
|
26
|
+
setting: PropTypes.string.isRequired,
|
27
|
+
};
|
28
|
+
|
29
|
+
export default AdvancedSetting;
|
@@ -1,18 +1,17 @@
|
|
1
1
|
import React from 'react';
|
2
2
|
import { translate as __ } from 'foremanReact/common/I18n';
|
3
|
-
|
4
|
-
import
|
5
|
-
import
|
6
|
-
|
3
|
+
|
4
|
+
import AdvancedSetting from './AdvancedSetting';
|
5
|
+
import { settingsDict } from './AdvancedSetting/AdvancedSettingsConstants';
|
6
|
+
|
7
7
|
import './InventorySettings.scss';
|
8
8
|
|
9
9
|
const InventorySettings = () => (
|
10
10
|
<div className="inventory-settings">
|
11
11
|
<h3>{__('Settings')}</h3>
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
<IpsObfuscationSwitcher />
|
12
|
+
{Object.keys(settingsDict).map(key => (
|
13
|
+
<AdvancedSetting setting={key} key={key} />
|
14
|
+
))}
|
16
15
|
</div>
|
17
16
|
);
|
18
17
|
|
@@ -1,12 +1,18 @@
|
|
1
|
-
.inventory-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
1
|
+
.rh-cloud-inventory-page {
|
2
|
+
.inventory-settings {
|
3
|
+
border: 1px solid #ededed;
|
4
|
+
border-radius: 4px;
|
5
|
+
padding: 10px;
|
6
|
+
margin-bottom: 15px;
|
7
|
+
float: right;
|
7
8
|
|
8
|
-
|
9
|
-
|
10
|
-
|
9
|
+
h3 {
|
10
|
+
margin-top: 0;
|
11
|
+
font-weight: 600;
|
12
|
+
}
|
13
|
+
|
14
|
+
.foreman-switcher {
|
15
|
+
display: block;
|
16
|
+
}
|
11
17
|
}
|
12
18
|
}
|
@@ -0,0 +1,23 @@
|
|
1
|
+
import { get, post } from 'foremanReact/redux/API';
|
2
|
+
import {
|
3
|
+
INVENTORY_SETTINGS,
|
4
|
+
INVENTORY_GET_SETTINGS_PATH,
|
5
|
+
INVENTORY_SET_SETTINGS_PATH,
|
6
|
+
} from './InventorySettingsConstants';
|
7
|
+
|
8
|
+
export const getSettings = () =>
|
9
|
+
get({
|
10
|
+
key: INVENTORY_SETTINGS,
|
11
|
+
url: INVENTORY_GET_SETTINGS_PATH,
|
12
|
+
});
|
13
|
+
|
14
|
+
export const setSetting = setting => dispatch => {
|
15
|
+
dispatch(
|
16
|
+
post({
|
17
|
+
key: INVENTORY_SETTINGS,
|
18
|
+
url: INVENTORY_SET_SETTINGS_PATH,
|
19
|
+
params: setting,
|
20
|
+
errorToast: error => error.message,
|
21
|
+
})
|
22
|
+
);
|
23
|
+
};
|
data/webpack/ForemanInventoryUpload/Components/InventorySettings/InventorySettingsConstants.js
ADDED
@@ -0,0 +1,9 @@
|
|
1
|
+
import { foremanUrl } from '../../../ForemanRhCloudHelpers';
|
2
|
+
|
3
|
+
export const INVENTORY_SETTINGS = 'INVENTORY_SETTINGS';
|
4
|
+
export const INVENTORY_GET_SETTINGS_PATH = foremanUrl(
|
5
|
+
'/foreman_inventory_upload/settings'
|
6
|
+
);
|
7
|
+
export const INVENTORY_SET_SETTINGS_PATH = foremanUrl(
|
8
|
+
'/foreman_inventory_upload/setting'
|
9
|
+
);
|
data/webpack/ForemanInventoryUpload/Components/InventorySettings/InventorySettingsSelectors.js
ADDED
@@ -0,0 +1,19 @@
|
|
1
|
+
import { selectAPIResponse } from 'foremanReact/redux/API/APISelectors';
|
2
|
+
import { INVENTORY_SETTINGS } from './InventorySettingsConstants';
|
3
|
+
|
4
|
+
export const selectSettings = state =>
|
5
|
+
selectAPIResponse(state, INVENTORY_SETTINGS);
|
6
|
+
|
7
|
+
export const selectAutoUploadEnabled = state =>
|
8
|
+
selectSettings(state).autoUploadEnabled;
|
9
|
+
|
10
|
+
export const selectHostObfuscationEnabled = state =>
|
11
|
+
selectSettings(state).hostObfuscationEnabled;
|
12
|
+
|
13
|
+
export const selectIpsObfuscationEnabled = state =>
|
14
|
+
selectSettings(state).ipsObfuscationEnabled;
|
15
|
+
|
16
|
+
export const selectExcludePackages = state =>
|
17
|
+
selectSettings(state).excludePackagesEnabled;
|
18
|
+
|
19
|
+
export const selectCloudToken = state => selectSettings(state).cloudToken;
|
@@ -0,0 +1,14 @@
|
|
1
|
+
import { testActionSnapshotWithFixtures } from '@theforeman/test';
|
2
|
+
import { getSettings, setSetting } from '../InventorySettingsActions';
|
3
|
+
|
4
|
+
const fixtures = {
|
5
|
+
'should getSettings': () => getSettings(),
|
6
|
+
'should setSetting hostObfuscation true': () =>
|
7
|
+
setSetting({
|
8
|
+
setting: 'hostObfuscation',
|
9
|
+
value: true,
|
10
|
+
}),
|
11
|
+
};
|
12
|
+
|
13
|
+
describe('Inventory settings actions', () =>
|
14
|
+
testActionSnapshotWithFixtures(fixtures));
|