katello 3.15.0.rc1.1 → 3.15.0.rc1.2

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of katello might be problematic. Click here for more details.

Files changed (89) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/katello/hosts/activation_key_edit.js +32 -54
  3. data/app/controllers/katello/api/rhsm/candlepin_proxies_controller.rb +1 -1
  4. data/app/controllers/katello/api/v2/hosts_bulk_actions_controller.rb +11 -4
  5. data/app/controllers/katello/api/v2/repositories_controller.rb +7 -3
  6. data/app/controllers/katello/api/v2/subscriptions_controller.rb +2 -3
  7. data/app/lib/actions/katello/content_view/incremental_updates.rb +1 -1
  8. data/app/lib/actions/katello/host/erratum/applicable_errata_install.rb +6 -2
  9. data/app/lib/actions/pulp3/content_migration.rb +5 -5
  10. data/app/lib/actions/pulp3/import_migration.rb +3 -3
  11. data/app/lib/actions/pulp3/orchestration/repository/import_upload.rb +1 -1
  12. data/app/lib/katello/concerns/base_template_scope_extensions.rb +1 -1
  13. data/app/models/katello/authorization/pool.rb +5 -1
  14. data/app/models/katello/authorization/subscription.rb +3 -1
  15. data/app/models/katello/candlepin/repository_mapper.rb +5 -1
  16. data/app/models/katello/concerns/host_managed_extensions.rb +17 -8
  17. data/app/models/katello/concerns/pulp_database_unit.rb +1 -1
  18. data/app/models/katello/content_view.rb +4 -0
  19. data/app/models/katello/glue/candlepin/candlepin_object.rb +0 -6
  20. data/app/models/katello/glue/candlepin/owner.rb +1 -1
  21. data/app/models/katello/glue/candlepin/repository.rb +0 -8
  22. data/app/models/katello/glue/pulp/repos.rb +41 -1
  23. data/app/models/katello/installed_package.rb +5 -4
  24. data/app/models/katello/pool.rb +1 -1
  25. data/app/services/katello/pulp/repository/docker.rb +12 -2
  26. data/app/services/katello/pulp/simple_package.rb +6 -2
  27. data/app/services/katello/pulp3/erratum.rb +4 -0
  28. data/app/services/katello/pulp3/migration.rb +61 -8
  29. data/app/services/katello/pulp3/migration_plan.rb +79 -5
  30. data/app/views/dashboard/_subscription_widget.html.erb +1 -1
  31. data/app/views/katello/api/v2/organizations/show.json.rabl +3 -0
  32. data/app/views/katello/api/v2/packages/backend.json.rabl +4 -0
  33. data/app/views/katello/api/v2/products/show.json.rabl +2 -0
  34. data/app/views/overrides/activation_keys/_host_tab_pane.html.erb +10 -2
  35. data/app/views/smart_proxies/plugins/{_pulp3.html.erb → _pulpcore.html.erb} +0 -0
  36. data/config/katello.yaml.example +0 -6
  37. data/db/migrate/20200121213430_katello_repository_rpms_id_big_int.rb +5 -0
  38. data/db/migrate/20200129172534_add_epoch_version_release_arch_to_katello_installed_packages.rb +40 -0
  39. data/engines/bastion/app/views/bastion/layouts/assets.html.erb +1 -1
  40. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/content-hosts-bulk-errata-modal.controller.js +9 -0
  41. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/content-hosts-bulk-subscriptions-modal.controller.js +4 -4
  42. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/views/content-hosts-bulk-errata-modal.html +2 -0
  43. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/views/content-hosts-bulk-subscriptions-modal.html +3 -3
  44. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content-host-modal-helper.service.js +1 -0
  45. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/content-host-details.controller.js +4 -0
  46. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/content-host-subscriptions.controller.js +4 -2
  47. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/views/content-host-info.html +2 -2
  48. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/views/content-host-subscriptions.html +15 -10
  49. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/packages/details/views/package-info.html +1 -1
  50. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/content-access-mode-banner.directive.js +4 -4
  51. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/views/content-access-mode-banner.html +1 -1
  52. data/lib/katello/tasks/pulp3_migration.rake +1 -1
  53. data/lib/katello/tasks/pulp3_post_migration_check.rake +32 -0
  54. data/lib/katello/tasks/repository.rake +10 -7
  55. data/lib/katello/version.rb +1 -1
  56. data/webpack/__mocks__/foremanReact/components/ForemanModal/ForemanModalActions.js +2 -0
  57. data/webpack/__mocks__/foremanReact/components/ForemanModal/ForemanModalSelectors.js +2 -0
  58. data/webpack/__mocks__/foremanReact/components/ForemanModal/index.js +4 -0
  59. data/webpack/scenes/Organizations/OrganizationSelectors.js +4 -0
  60. data/webpack/scenes/Subscriptions/Manifest/DeleteManifestModalText.js +14 -9
  61. data/webpack/scenes/Subscriptions/Manifest/ManageManifestModal.js +183 -169
  62. data/webpack/scenes/Subscriptions/Manifest/ManageManifestModal.scss +12 -0
  63. data/webpack/scenes/Subscriptions/Manifest/ManifestConstants.js +4 -0
  64. data/webpack/scenes/Subscriptions/Manifest/__tests__/ManageManifestModal.test.js +5 -3
  65. data/webpack/scenes/Subscriptions/Manifest/__tests__/__snapshots__/ManageManifestModal.test.js.snap +130 -181
  66. data/webpack/scenes/Subscriptions/Manifest/index.js +10 -1
  67. data/webpack/scenes/Subscriptions/SubscriptionActions.js +4 -9
  68. data/webpack/scenes/Subscriptions/SubscriptionConstants.js +0 -3
  69. data/webpack/scenes/Subscriptions/SubscriptionReducer.js +3 -11
  70. data/webpack/scenes/Subscriptions/SubscriptionsPage.js +33 -13
  71. data/webpack/scenes/Subscriptions/SubscriptionsSelectors.js +2 -5
  72. data/webpack/scenes/Subscriptions/__tests__/SubscriptionsActions.test.js +0 -7
  73. data/webpack/scenes/Subscriptions/__tests__/SubscriptionsPage.test.js +5 -0
  74. data/webpack/scenes/Subscriptions/__tests__/SubscriptionsReducer.test.js +0 -12
  75. data/webpack/scenes/Subscriptions/__tests__/SubscriptionsSelectors.test.js +0 -3
  76. data/webpack/scenes/Subscriptions/__tests__/__snapshots__/SubscriptionsActions.test.js.snap +0 -12
  77. data/webpack/scenes/Subscriptions/__tests__/__snapshots__/SubscriptionsPage.test.js.snap +2 -3
  78. data/webpack/scenes/Subscriptions/__tests__/__snapshots__/SubscriptionsReducer.test.js.snap +0 -73
  79. data/webpack/scenes/Subscriptions/__tests__/__snapshots__/SubscriptionsSelectors.test.js.snap +0 -3
  80. data/webpack/scenes/Subscriptions/__tests__/subscriptions.fixtures.js +0 -4
  81. data/webpack/scenes/Subscriptions/components/SubscriptionsTable/SubscriptionsTable.js +13 -22
  82. data/webpack/scenes/Subscriptions/components/SubscriptionsTable/__tests__/SubscriptionsTable.test.js +10 -0
  83. data/webpack/scenes/Subscriptions/components/SubscriptionsTable/__tests__/__snapshots__/SubscriptionsTable.test.js.snap +2 -1
  84. data/webpack/scenes/Subscriptions/index.js +4 -3
  85. data/webpack/scenes/Tasks/TaskConstants.js +1 -0
  86. metadata +41 -18
  87. data/app/assets/javascripts/katello/widgets/auto_complete.js +0 -183
  88. data/db/seeds.d/115-http_proxy.rb +0 -25
  89. data/vendor/assets/stylesheets/katello/jquery.jnotify.css +0 -98
@@ -4,8 +4,6 @@ exports[`Subscriptions selectors should select delete-button-disabled 1`] = `tru
4
4
 
5
5
  exports[`Subscriptions selectors should select delete-modal-opened 1`] = `false`;
6
6
 
7
- exports[`Subscriptions selectors should select manifest-modal-opened 1`] = `false`;
8
-
9
7
  exports[`Subscriptions selectors should select search-query 1`] = `"some-query"`;
10
8
 
11
9
  exports[`Subscriptions selectors should select subscriptions tasks 1`] = `
@@ -21,7 +19,6 @@ exports[`Subscriptions selectors should select the subscriptions state 1`] = `
21
19
  Object {
22
20
  "deleteButtonDisabled": true,
23
21
  "deleteModalOpened": false,
24
- "manifestModalOpened": false,
25
22
  "searchQuery": "some-query",
26
23
  "taskModalOpened": false,
27
24
  "tasks": Array [
@@ -3,7 +3,6 @@ import { toastErrorAction, failureAction } from '../../../services/api/testHelpe
3
3
 
4
4
  export const initialState = Immutable({
5
5
  loading: true,
6
- manifestModalOpened: false,
7
6
  results: [],
8
7
  pagination: {
9
8
  page: 0,
@@ -256,7 +255,6 @@ export const groupedSubscriptions = Immutable({
256
255
 
257
256
  export const successState = Immutable({
258
257
  loading: false,
259
- manifestModalOpened: false,
260
258
  results: [
261
259
  {
262
260
  id: 3,
@@ -326,7 +324,6 @@ export const successState = Immutable({
326
324
  });
327
325
  export const permissionDeniedState = Immutable({
328
326
  loading: false,
329
- manifestModalOpened: false,
330
327
  results: [],
331
328
  searchIsActive: false,
332
329
  search: undefined,
@@ -361,7 +358,6 @@ export const settingsSuccessState = Immutable({
361
358
 
362
359
  export const errorState = Immutable({
363
360
  loading: false,
364
- manifestModalOpened: false,
365
361
  pagination: {
366
362
  page: 0,
367
363
  perPage: 20,
@@ -21,7 +21,6 @@ class SubscriptionsTable extends Component {
21
21
  showUpdateConfirmDialog: false,
22
22
  showCancelConfirmDialog: false,
23
23
  showErrorDialog: false,
24
- selectedRows: [],
25
24
  };
26
25
  }
27
26
 
@@ -78,40 +77,30 @@ class SubscriptionsTable extends Component {
78
77
  const allSubscriptionResults = this.props.subscriptions.results;
79
78
 
80
79
  const checkAllRowsSelected = () =>
81
- allSubscriptionResults.length === this.state.selectedRows.length;
80
+ allSubscriptionResults.length === this.props.selectedRows.length;
82
81
 
83
- const updateDeleteButton = () => {
84
- this.props.toggleDeleteButton(this.state.selectedRows.length > 0);
85
- };
86
82
  return ({
87
83
  allRowsSelected: () => checkAllRowsSelected(),
88
84
  selectAllRows: () => {
89
85
  if (checkAllRowsSelected()) {
90
- this.setState(
91
- { selectedRows: [] },
92
- updateDeleteButton,
93
- );
86
+ this.props.onSelectedRowsChange([]);
87
+ this.props.toggleDeleteButton(false);
94
88
  } else {
95
- this.setState(
96
- { selectedRows: allSubscriptionResults.map(row => row.id) },
97
- updateDeleteButton,
98
- );
89
+ this.props.onSelectedRowsChange(allSubscriptionResults.map(row => row.id));
90
+ this.props.toggleDeleteButton(true);
99
91
  }
100
92
  },
101
93
  selectRow: ({ rowData }) => {
102
- let { selectedRows } = this.state;
94
+ let { selectedRows } = this.props;
103
95
  if (selectedRows.includes(rowData.id)) {
104
96
  selectedRows = selectedRows.filter(e => e !== rowData.id);
105
97
  } else {
106
- selectedRows.push(rowData.id);
98
+ selectedRows = selectedRows.concat(rowData.id);
107
99
  }
108
-
109
- this.setState(
110
- { selectedRows },
111
- updateDeleteButton,
112
- );
100
+ this.props.onSelectedRowsChange(selectedRows);
101
+ this.props.toggleDeleteButton(selectedRows.length > 0);
113
102
  },
114
- isSelected: ({ rowData }) => this.state.selectedRows.includes(rowData.id),
103
+ isSelected: ({ rowData }) => this.props.selectedRows.includes(rowData.id),
115
104
  });
116
105
  };
117
106
 
@@ -177,7 +166,7 @@ class SubscriptionsTable extends Component {
177
166
  onDeleteSubscriptions,
178
167
  onSubscriptionDeleteModalClose,
179
168
  } = this.props;
180
- const { selectedRows } = this.state;
169
+ const { selectedRows } = this.props;
181
170
  return {
182
171
  show,
183
172
  selectedRows,
@@ -305,6 +294,8 @@ SubscriptionsTable.propTypes = {
305
294
  displayName: PropTypes.string,
306
295
  }),
307
296
  }),
297
+ selectedRows: PropTypes.instanceOf(Array).isRequired,
298
+ onSelectedRowsChange: PropTypes.func.isRequired,
308
299
  };
309
300
 
310
301
  SubscriptionsTable.defaultProps = {
@@ -33,6 +33,8 @@ describe('subscriptions table', () => {
33
33
  onSubscriptionDeleteModalClose={() => { }}
34
34
  toggleDeleteButton={() => {}}
35
35
  emptyState={{}}
36
+ selectedRows={[]}
37
+ onSelectedRowsChange={() => {}}
36
38
  />
37
39
  </MemoryRouter>);
38
40
  expect(toJson(page)).toMatchSnapshot();
@@ -54,6 +56,8 @@ describe('subscriptions table', () => {
54
56
  onDeleteSubscriptions={() => {}}
55
57
  toggleDeleteButton={() => {}}
56
58
  emptyState={{}}
59
+ selectedRows={[]}
60
+ onSelectedRowsChange={() => {}}
57
61
  />
58
62
  </MemoryRouter>);
59
63
  expect(toJson(page)).toMatchSnapshot();
@@ -72,6 +76,8 @@ describe('subscriptions table', () => {
72
76
  onDeleteSubscriptions={() => {}}
73
77
  toggleDeleteButton={() => {}}
74
78
  emptyState={{}}
79
+ selectedRows={[]}
80
+ onSelectedRowsChange={() => {}}
75
81
  />
76
82
  </MemoryRouter>);
77
83
  expect(page.find('#select1').is('[disabled]')).toBe(true);
@@ -95,6 +101,8 @@ describe('subscriptions table', () => {
95
101
  onDeleteSubscriptions={() => {}}
96
102
  toggleDeleteButton={() => {}}
97
103
  tableColumns={[]}
104
+ selectedRows={[]}
105
+ onSelectedRowsChange={() => {}}
98
106
  />
99
107
  </MemoryRouter>);
100
108
  expect(toJson(page)).toMatchSnapshot();
@@ -112,6 +120,8 @@ describe('subscriptions table', () => {
112
120
  onDeleteSubscriptions={() => {}}
113
121
  toggleDeleteButton={() => {}}
114
122
  emptyState={{}}
123
+ selectedRows={[]}
124
+ onSelectedRowsChange={() => {}}
115
125
  />);
116
126
  jest.runAllTimers();
117
127
  page.update();
@@ -6,14 +6,15 @@ exports[`subscriptions table should render a loading state 1`] = `
6
6
  emptyState={Object {}}
7
7
  loadSubscriptions={[Function]}
8
8
  onDeleteSubscriptions={[Function]}
9
+ onSelectedRowsChange={[Function]}
9
10
  onSubscriptionDeleteModalClose={[Function]}
11
+ selectedRows={Array []}
10
12
  subscriptionDeleteModalOpen={false}
11
13
  subscriptions={
12
14
  Object {
13
15
  "availableQuantities": null,
14
16
  "itemCount": 0,
15
17
  "loading": true,
16
- "manifestModalOpened": false,
17
18
  "pagination": Object {
18
19
  "page": 0,
19
20
  "perPage": 20,
@@ -1,7 +1,7 @@
1
1
  import { bindActionCreators } from 'redux';
2
2
  import { connect } from 'react-redux';
3
3
  import * as settingActions from 'foremanReact/components/Settings/SettingsActions';
4
-
4
+ import * as foremanModalActions from 'foremanReact/components/ForemanModal/ForemanModalActions';
5
5
  import * as subscriptionActions from './SubscriptionActions';
6
6
  import * as taskActions from '../Tasks/TaskActions';
7
7
  import * as tableActions from '../Settings/Tables/TableActions';
@@ -10,7 +10,6 @@ import * as manifestActions from './Manifest/ManifestActions';
10
10
  import {
11
11
  selectSubscriptionsState,
12
12
  selectSearchQuery,
13
- selectManifestModalOpened,
14
13
  selectDeleteModalOpened,
15
14
  selectTaskModalOpened,
16
15
  selectDeleteButtonDisabled,
@@ -18,6 +17,7 @@ import {
18
17
  selectActivePermissions,
19
18
  selectTableSettings,
20
19
  } from './SubscriptionsSelectors';
20
+ import { selectSimpleContentAccessEnabled } from '../Organizations/OrganizationSelectors';
21
21
 
22
22
  import reducer from './SubscriptionReducer';
23
23
  import { SUBSCRIPTION_TABLE_NAME } from './SubscriptionConstants';
@@ -32,9 +32,9 @@ const mapStateToProps = (state) => {
32
32
  subscriptions,
33
33
  subscriptionTableSettings,
34
34
  activePermissions: selectActivePermissions(state),
35
+ simpleContentAccess: selectSimpleContentAccessEnabled(state),
35
36
  tasks: selectSubscriptionsTasks(state),
36
37
  searchQuery: selectSearchQuery(state),
37
- manifestModalOpened: selectManifestModalOpened(state),
38
38
  deleteModalOpened: selectDeleteModalOpened(state),
39
39
  taskModalOpened: selectTaskModalOpened(state),
40
40
  deleteButtonDisabled: selectDeleteButtonDisabled(state),
@@ -50,6 +50,7 @@ const actions = {
50
50
  ...settingActions,
51
51
  ...tableActions,
52
52
  ...manifestActions,
53
+ ...foremanModalActions,
53
54
  };
54
55
 
55
56
  const mapDispatchToProps = dispatch => bindActionCreators(actions, dispatch);
@@ -6,3 +6,4 @@ export const TASK_BULK_SEARCH_REQUEST = 'TASK_BULK_SEARCH_REQUEST';
6
6
  export const TASK_BULK_SEARCH_SUCCESS = 'TASK_BULK_SEARCH_SUCCESS';
7
7
  export const TASK_BULK_SEARCH_FAILURE = 'TASK_BULK_SEARCH_FAILURE';
8
8
  export const RESET_TASKS = 'RESET_TASKS';
9
+ export const POLL_TASK_INTERVAL = 5000;
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: katello
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.15.0.rc1.1
4
+ version: 3.15.0.rc1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - N/A
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-02-26 00:00:00.000000000 Z
11
+ date: 2020-02-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -202,30 +202,42 @@ dependencies:
202
202
  name: pulpcore_client
203
203
  requirement: !ruby/object:Gem::Requirement
204
204
  requirements:
205
- - - "<="
205
+ - - ">="
206
206
  - !ruby/object:Gem::Version
207
- version: 3.1.0.dev01574423031
207
+ version: 3.0.0
208
+ - - "<"
209
+ - !ruby/object:Gem::Version
210
+ version: 3.1.0
208
211
  type: :runtime
209
212
  prerelease: false
210
213
  version_requirements: !ruby/object:Gem::Requirement
211
214
  requirements:
212
- - - "<="
215
+ - - ">="
213
216
  - !ruby/object:Gem::Version
214
- version: 3.1.0.dev01574423031
217
+ version: 3.0.0
218
+ - - "<"
219
+ - !ruby/object:Gem::Version
220
+ version: 3.1.0
215
221
  - !ruby/object:Gem::Dependency
216
222
  name: pulp_file_client
217
223
  requirement: !ruby/object:Gem::Requirement
218
224
  requirements:
219
- - - "<="
225
+ - - ">="
226
+ - !ruby/object:Gem::Version
227
+ version: 0.1.0
228
+ - - "<"
220
229
  - !ruby/object:Gem::Version
221
- version: 0.2.0.dev01574442231
230
+ version: 0.2.0
222
231
  type: :runtime
223
232
  prerelease: false
224
233
  version_requirements: !ruby/object:Gem::Requirement
225
234
  requirements:
226
- - - "<="
235
+ - - ">="
227
236
  - !ruby/object:Gem::Version
228
- version: 0.2.0.dev01574442231
237
+ version: 0.1.0
238
+ - - "<"
239
+ - !ruby/object:Gem::Version
240
+ version: 0.2.0
229
241
  - !ruby/object:Gem::Dependency
230
242
  name: pulp_ansible_client
231
243
  requirement: !ruby/object:Gem::Requirement
@@ -244,16 +256,22 @@ dependencies:
244
256
  name: pulp_container_client
245
257
  requirement: !ruby/object:Gem::Requirement
246
258
  requirements:
247
- - - "<="
259
+ - - ">="
248
260
  - !ruby/object:Gem::Version
249
- version: 1.1.0.dev01574357179
261
+ version: 1.0.0
262
+ - - "<"
263
+ - !ruby/object:Gem::Version
264
+ version: 1.1.0
250
265
  type: :runtime
251
266
  prerelease: false
252
267
  version_requirements: !ruby/object:Gem::Requirement
253
268
  requirements:
254
- - - "<="
269
+ - - ">="
270
+ - !ruby/object:Gem::Version
271
+ version: 1.0.0
272
+ - - "<"
255
273
  - !ruby/object:Gem::Version
256
- version: 1.1.0.dev01574357179
274
+ version: 1.1.0
257
275
  - !ruby/object:Gem::Dependency
258
276
  name: pulp_rpm_client
259
277
  requirement: !ruby/object:Gem::Requirement
@@ -557,7 +575,6 @@ files:
557
575
  - app/assets/javascripts/katello/organizations/download_certificate.js
558
576
  - app/assets/javascripts/katello/sync_management/index.js
559
577
  - app/assets/javascripts/katello/sync_management/sync_management.js
560
- - app/assets/javascripts/katello/widgets/auto_complete.js
561
578
  - app/assets/javascripts/katello/widgets/env_content_view_selector.js
562
579
  - app/assets/javascripts/katello/widgets/path_selector.js
563
580
  - app/assets/javascripts/katello/widgets/subpanel_new.js
@@ -1587,8 +1604,8 @@ files:
1587
1604
  - app/views/overrides/taxonomies/_action_buttons.html.erb
1588
1605
  - app/views/smart_proxies/_disk_usage.html.erb
1589
1606
  - app/views/smart_proxies/plugins/_pulp.html.erb
1590
- - app/views/smart_proxies/plugins/_pulp3.html.erb
1591
1607
  - app/views/smart_proxies/plugins/_pulp_node.html.erb
1608
+ - app/views/smart_proxies/plugins/_pulpcore.html.erb
1592
1609
  - app/views/smart_proxies/pulp_status.html.erb
1593
1610
  - app/views/smart_proxies/pulp_storage.html.erb
1594
1611
  - app/views/smart_proxies/show/_storage.html.erb
@@ -1871,6 +1888,8 @@ files:
1871
1888
  - db/migrate/20191204214919_add_content_view_version_counts.rb
1872
1889
  - db/migrate/20191213161248_add_dmi_uuid_to_katello_subscription_facets.rb
1873
1890
  - db/migrate/20200109162354_drop_host_update_lock_setting.rb
1891
+ - db/migrate/20200121213430_katello_repository_rpms_id_big_int.rb
1892
+ - db/migrate/20200129172534_add_epoch_version_release_arch_to_katello_installed_packages.rb
1874
1893
  - db/seeds.d/101-locations.rb
1875
1894
  - db/seeds.d/102-organizations.rb
1876
1895
  - db/seeds.d/104-proxy.rb
@@ -1881,7 +1900,6 @@ files:
1881
1900
  - db/seeds.d/110-content-view-autopublish.rb
1882
1901
  - db/seeds.d/111-container-image-bookmarks.rb
1883
1902
  - db/seeds.d/111-upgrade_tasks.rb
1884
- - db/seeds.d/115-http_proxy.rb
1885
1903
  - db/seeds.d/150-module_job_templates.rb
1886
1904
  - db/seeds.d/75-job_templates.rb
1887
1905
  - engines/bastion/README.md
@@ -4107,6 +4125,7 @@ files:
4107
4125
  - lib/katello/tasks/job_templates.rake
4108
4126
  - lib/katello/tasks/pulp3_content_switchover.rake
4109
4127
  - lib/katello/tasks/pulp3_migration.rake
4128
+ - lib/katello/tasks/pulp3_post_migration_check.rake
4110
4129
  - lib/katello/tasks/regenerate_ueber_certs.rake
4111
4130
  - lib/katello/tasks/reimport.rake
4112
4131
  - lib/katello/tasks/repository.rake
@@ -4215,7 +4234,6 @@ files:
4215
4234
  - vendor/assets/javascripts/katello/jquery.trunk8.js
4216
4235
  - vendor/assets/stylesheets/katello/facebox.css
4217
4236
  - vendor/assets/stylesheets/katello/jquery-ui-1.8.11.custom.css.scss
4218
- - vendor/assets/stylesheets/katello/jquery.jnotify.css
4219
4237
  - vendor/assets/stylesheets/katello/jquery.loadmask.css.scss
4220
4238
  - vendor/assets/stylesheets/katello/jquery.multiselect.css
4221
4239
  - vendor/assets/stylesheets/katello/jquery.multiselect.filter.css
@@ -4227,6 +4245,9 @@ files:
4227
4245
  - webpack/__mocks__/foremanReact/common/keyCodes.js
4228
4246
  - webpack/__mocks__/foremanReact/common/urlHelpers.js
4229
4247
  - webpack/__mocks__/foremanReact/components/BreadcrumbBar.js
4248
+ - webpack/__mocks__/foremanReact/components/ForemanModal/ForemanModalActions.js
4249
+ - webpack/__mocks__/foremanReact/components/ForemanModal/ForemanModalSelectors.js
4250
+ - webpack/__mocks__/foremanReact/components/ForemanModal/index.js
4230
4251
  - webpack/__mocks__/foremanReact/components/Pagination/PaginationWrapper.js
4231
4252
  - webpack/__mocks__/foremanReact/components/PermissionDenied/index.js
4232
4253
  - webpack/__mocks__/foremanReact/components/Settings/SettingsActions.js
@@ -4442,6 +4463,7 @@ files:
4442
4463
  - webpack/scenes/Organizations/OrganizationActions.js
4443
4464
  - webpack/scenes/Organizations/OrganizationConstants.js
4444
4465
  - webpack/scenes/Organizations/OrganizationReducer.js
4466
+ - webpack/scenes/Organizations/OrganizationSelectors.js
4445
4467
  - webpack/scenes/Organizations/__tests__/OrganizationActions.test.js
4446
4468
  - webpack/scenes/Organizations/__tests__/OrganizationReducer.test.js
4447
4469
  - webpack/scenes/Organizations/__tests__/organizations.fixtures.js
@@ -4520,6 +4542,7 @@ files:
4520
4542
  - webpack/scenes/Subscriptions/Details/index.js
4521
4543
  - webpack/scenes/Subscriptions/Manifest/DeleteManifestModalText.js
4522
4544
  - webpack/scenes/Subscriptions/Manifest/ManageManifestModal.js
4545
+ - webpack/scenes/Subscriptions/Manifest/ManageManifestModal.scss
4523
4546
  - webpack/scenes/Subscriptions/Manifest/Manifest.scss
4524
4547
  - webpack/scenes/Subscriptions/Manifest/ManifestActions.js
4525
4548
  - webpack/scenes/Subscriptions/Manifest/ManifestConstants.js
@@ -1,183 +0,0 @@
1
- KT.auto_complete_box = function(params) {
2
-
3
- var settings = {
4
- values: undefined, //either a url, an array, or a callback of items for auto_completion
5
- default_text: undefined, //default text to go into the search box if desired
6
- comma_separated_input: false,
7
- input_id: undefined,
8
- input: undefined,
9
- selected_input_id: undefined,
10
- selected_input: undefined,
11
- form_id: undefined,
12
- add_btn_id: undefined,
13
- add_btn: undefined,
14
- add_text: katelloI18n.add_plus,
15
- require_select: false, //disable the add button if proper autocompleted item isn't selected
16
- add_cb: function(item, item_id, cb){cb();}
17
- };
18
- $.extend( settings, params );
19
-
20
- var add_item_from_input = function(e) {
21
- var item = get_input().attr("value"),
22
- item_id = get_selected_input().val();
23
-
24
-
25
- e.preventDefault();
26
- if (item.length === 0 || item === settings.default_text){
27
- return;
28
- }
29
- get_add_btn().addClass("working");
30
- add_item_base(item, item_id, true);
31
- },
32
- get_input = function(){
33
- return settings.input || $("#" + settings.input_id);
34
- },
35
- get_selected_input = function(){
36
- return settings.selected_input || $("#" + settings.selected_input_id);
37
- },
38
- get_add_btn = function(){
39
- return settings.add_btn || $("#" + settings.add_btn_id);
40
- },
41
- add_item_base = function(item, item_id, focus) {
42
- var input = get_input(),
43
- add_btn = get_add_btn();
44
-
45
- input.removeClass("input_error");
46
- add_btn.addClass("working");
47
- add_btn.html("<img src='" + KT.common.spinner_path() + "'>");
48
- input.attr("disabled", "disabled");
49
- input.autocomplete('disable');
50
- input.autocomplete('close');
51
-
52
- if (settings.comma_separated_input) {
53
- // convert the item string to an array
54
- item = split(item);
55
- }
56
- settings.add_cb(item, item_id, function(){
57
- reset_input();
58
- if (focus) {
59
- get_input().focus();
60
- }
61
- });
62
- },
63
- reset_input = function() {
64
- //re-lookup all items, since a redraw may have happened
65
- var input = get_input(),
66
- add_btn = get_add_btn();
67
- add_btn.removeClass('working');
68
- if (add_btn.text() === "") {
69
- add_btn.html(settings.add_text);
70
- }
71
- input.removeAttr('disabled');
72
- input.autocomplete('enable');
73
- input.val('');
74
- },
75
- manually_add = function(item, item_id) {
76
- add_item_base(item, item_id, false);
77
- },
78
- error = function() {
79
- var input = get_input();
80
- input.addClass("input_error");
81
- },
82
- split = function(val) {
83
- return val.split(/,\s*/);
84
- },
85
- extractLast = function(term) {
86
- return split(term).pop();
87
- };
88
-
89
- //initialization
90
- var input = get_input(),
91
- form = $("#" + settings.form_id),
92
- add_btn = get_add_btn();
93
-
94
- if (settings.default_text) {
95
- input.val(settings.default_text);
96
- input.focus(function() {
97
- if (input.val() === settings.default_text) {
98
- input.val("");
99
- }
100
- });
101
- input.blur(function() {
102
- if(input.val() === "") {
103
- input.val(settings.default_text);
104
- }
105
- });
106
- }
107
-
108
- if (!settings.comma_separated_input) {
109
- input.autocomplete({
110
- source: function (request, response) {
111
- $.ajax({
112
- url: settings.values,
113
- data: request,
114
- dataType: 'json',
115
- success: function (data) {
116
- response(data);
117
- KT.utils.each(data, function(item){
118
- if(request.term === item.value ||
119
- request.term === item.label)
120
- {
121
- get_selected_input().val(item.id);
122
- add_btn.removeAttr("disabled");
123
- }
124
- });
125
- },
126
- error: function () {
127
- response([]);
128
- }
129
- });
130
- },
131
- search: function(){
132
- get_selected_input().val('');
133
- if(settings.require_select){
134
- add_btn.attr("disabled", "disabled");
135
- }
136
- },
137
- select: function (event, ui) {
138
- get_input().val(ui.item.value);
139
- get_selected_input().val(ui.item.id);
140
- add_btn.removeAttr("disabled");
141
- return false;
142
- }
143
- });
144
- } else {
145
- input.autocomplete({
146
- source: function(request, response) {
147
- $.getJSON( settings.values, {
148
- term: extractLast(request.term)
149
- }, response);
150
- },
151
- search: function () {
152
- // custom minLength
153
- var term = extractLast(this.value);
154
- if (term.length < 1) {
155
- return false;
156
- }
157
- },
158
- focus: function () {
159
- // prevent value inserted on focus
160
- return false;
161
- },
162
- select: function (event, ui) {
163
- var terms = split(this.value);
164
- // remove the current input
165
- terms.pop();
166
- // add the selected item
167
- terms.push(ui.item.value);
168
- // add placeholder to get the comma-and-space at the end
169
- terms.push("");
170
- this.value = terms.join(", ");
171
- return false;
172
- }
173
- });
174
- }
175
- add_btn.bind('click', add_item_from_input);
176
- form.submit(add_item_from_input);
177
-
178
- return {
179
- manually_add: manually_add,
180
- error: error,
181
- reset_input: reset_input
182
- };
183
- };