katello 3.16.0.rc3.1 → 3.16.0.rc4

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 (60) hide show
  1. checksums.yaml +4 -4
  2. data/app/controllers/katello/api/v2/api_controller.rb +8 -4
  3. data/app/controllers/katello/api/v2/subscriptions_controller.rb +1 -1
  4. data/app/controllers/katello/api/v2/upstream_subscriptions_controller.rb +13 -1
  5. data/app/controllers/katello/concerns/hosts_controller_extensions.rb +11 -0
  6. data/app/lib/katello/errors.rb +25 -0
  7. data/app/lib/katello/resources/candlepin.rb +1 -1
  8. data/app/lib/katello/resources/candlepin/upstream_consumer.rb +6 -0
  9. data/app/models/katello/concerns/host_managed_extensions.rb +7 -0
  10. data/app/models/katello/concerns/organization_extensions.rb +14 -0
  11. data/app/models/katello/pulp3/content_guard.rb +1 -1
  12. data/app/services/katello/candlepin/message_handler.rb +2 -3
  13. data/app/services/katello/pulp3/repository.rb +8 -1
  14. data/app/services/katello/pulp3/repository/yum.rb +8 -0
  15. data/app/services/katello/ui_notifications/subscriptions/manifest_expired_warning.rb +20 -8
  16. data/app/services/katello/upstream_connection_checker.rb +48 -0
  17. data/app/views/katello/api/v2/srpms/backend.json.rabl +11 -0
  18. data/app/views/katello/api/v2/srpms/base.json.rabl +5 -0
  19. data/app/views/katello/api/v2/srpms/compare.json.rabl +10 -0
  20. data/app/views/katello/api/v2/srpms/index.json.rabl +1 -1
  21. data/app/views/katello/api/v2/srpms/show.json.rabl +3 -3
  22. data/config/routes/api/v2.rb +2 -0
  23. data/db/seeds.d/109-katello-notification-blueprints.rb +1 -1
  24. data/lib/katello/permission_creator.rb +1 -1
  25. data/lib/katello/version.rb +1 -1
  26. data/package.json +3 -3
  27. data/webpack/components/Content/ContentTable.js +2 -0
  28. data/webpack/components/Content/Details/ContentDetails.js +3 -0
  29. data/webpack/scenes/AnsibleCollections/Details/AnsibleCollectionDetails.js +3 -0
  30. data/webpack/scenes/ModuleStreams/Details/ModuleStreamDetails.js +3 -0
  31. data/webpack/scenes/RedHatRepositories/RedHatRepositoriesPage.js +2 -0
  32. data/webpack/scenes/RedHatRepositories/components/EnabledRepository/EnabledRepository.js +2 -0
  33. data/webpack/scenes/RedHatRepositories/components/RepositorySetRepository/RepositorySetRepository.js +2 -0
  34. data/webpack/scenes/Subscriptions/Details/SubscriptionDetailAssociations.js +2 -0
  35. data/webpack/scenes/Subscriptions/Details/SubscriptionDetailProductContent.js +2 -0
  36. data/webpack/scenes/Subscriptions/Details/SubscriptionDetailProducts.js +2 -0
  37. data/webpack/scenes/Subscriptions/Manifest/ManageManifestModal.js +2 -0
  38. data/webpack/scenes/Subscriptions/SubscriptionActions.js +8 -8
  39. data/webpack/scenes/Subscriptions/SubscriptionConstants.js +3 -1
  40. data/webpack/scenes/Subscriptions/SubscriptionReducer.js +15 -1
  41. data/webpack/scenes/Subscriptions/SubscriptionsPage.js +54 -7
  42. data/webpack/scenes/Subscriptions/SubscriptionsSelectors.js +3 -0
  43. data/webpack/scenes/Subscriptions/UpstreamSubscriptions/UpstreamSubscriptionsActions.js +15 -1
  44. data/webpack/scenes/Subscriptions/UpstreamSubscriptions/{UpstreamSubscriptionsContstants.js → UpstreamSubscriptionsConstants.js} +3 -0
  45. data/webpack/scenes/Subscriptions/UpstreamSubscriptions/UpstreamSubscriptionsPage.js +2 -0
  46. data/webpack/scenes/Subscriptions/UpstreamSubscriptions/UpstreamSubscriptionsReducer.js +1 -1
  47. data/webpack/scenes/Subscriptions/UpstreamSubscriptions/__tests__/UpstreamSubscriptionsReducer.test.js +1 -1
  48. data/webpack/scenes/Subscriptions/__tests__/SubscriptionsActions.test.js +0 -13
  49. data/webpack/scenes/Subscriptions/__tests__/SubscriptionsPage.test.js +6 -1
  50. data/webpack/scenes/Subscriptions/__tests__/__snapshots__/SubscriptionsPage.test.js.snap +6 -4
  51. data/webpack/scenes/Subscriptions/__tests__/__snapshots__/SubscriptionsReducer.test.js.snap +26 -25
  52. data/webpack/scenes/Subscriptions/__tests__/subscriptions.fixtures.js +0 -58
  53. data/webpack/scenes/Subscriptions/components/SubscriptionsTable/SubscriptionsTable.js +10 -4
  54. data/webpack/scenes/Subscriptions/components/SubscriptionsTable/__tests__/SubscriptionsTable.test.js +1 -0
  55. data/webpack/scenes/Subscriptions/components/SubscriptionsTable/__tests__/__snapshots__/SubscriptionsTable.test.js.snap +1 -68
  56. data/webpack/scenes/Subscriptions/components/SubscriptionsTable/components/Dialogs/UpdateDialog.js +1 -1
  57. data/webpack/scenes/Subscriptions/components/SubscriptionsTable/components/Dialogs/index.js +4 -4
  58. data/webpack/scenes/Subscriptions/components/SubscriptionsTable/components/Table.js +12 -10
  59. data/webpack/scenes/Subscriptions/index.js +6 -3
  60. metadata +27 -23
@@ -47,7 +47,7 @@ const UpdateDialog = ({
47
47
  UpdateDialog.propTypes = {
48
48
  show: PropTypes.bool.isRequired,
49
49
  updateQuantity: PropTypes.func.isRequired,
50
- updatedQuantity: PropTypes.shape(PropTypes.Object).isRequired,
50
+ updatedQuantity: PropTypes.shape({}).isRequired,
51
51
  showUpdateConfirm: PropTypes.func.isRequired,
52
52
  enableEditing: PropTypes.func.isRequired,
53
53
  };
@@ -17,10 +17,10 @@ const Dialogs = ({
17
17
  );
18
18
 
19
19
  Dialogs.propTypes = {
20
- updateDialog: PropTypes.shape(UpdateDialog.propTypes).isRequired,
21
- unsavedChangesDialog: PropTypes.shape(UnsavedChangesDialog.propTypes).isRequired,
22
- inputsErrorsDialog: PropTypes.shape(InputsErrorsDialog.propTypes).isRequired,
23
- deleteDialog: PropTypes.shape(DeleteDialog.propTypes).isRequired,
20
+ updateDialog: PropTypes.shape({}).isRequired,
21
+ unsavedChangesDialog: PropTypes.shape({}).isRequired,
22
+ inputsErrorsDialog: PropTypes.shape({}).isRequired,
23
+ deleteDialog: PropTypes.shape({}).isRequired,
24
24
  };
25
25
 
26
26
  export default Dialogs;
@@ -15,9 +15,9 @@ const Table = ({
15
15
  inlineEditController,
16
16
  rows,
17
17
  editing,
18
+ selectionEnabled,
18
19
  groupedSubscriptions,
19
20
  toggleSubscriptionGroup,
20
- canManageSubscriptionAllocations,
21
21
  }) => {
22
22
  const allSubscriptionResults = subscriptions.results;
23
23
 
@@ -28,18 +28,23 @@ const Table = ({
28
28
 
29
29
  const groupingController = {
30
30
  isCollapseable: ({ rowData }) =>
31
- // the group contains more then one subscription
31
+ // the group contains more than one subscription
32
32
  rowData.collapsible,
33
33
  isCollapsed: ({ rowData }) => !groupedSubscriptions[rowData.product_id].open,
34
34
  toggle: ({ rowData }) => toggleSubscriptionGroup(rowData.product_id),
35
35
  };
36
36
 
37
- const alwaysDisplayColumns = ['select'];
37
+ const alwaysDisplayColumns = [];
38
+
39
+ if (selectionEnabled) {
40
+ alwaysDisplayColumns.push('select');
41
+ }
42
+
38
43
  const columnsDefinition = createSubscriptionsTableSchema(
39
44
  inlineEditController,
40
45
  selectionController,
41
46
  groupingController,
42
- canManageSubscriptionAllocations,
47
+ selectionEnabled,
43
48
  ).filter(column => tableColumns.includes(column.property) ||
44
49
  alwaysDisplayColumns.includes(column.property));
45
50
 
@@ -88,13 +93,14 @@ const Table = ({
88
93
  };
89
94
 
90
95
  Table.propTypes = {
91
- canManageSubscriptionAllocations: PropTypes.bool,
92
96
  emptyState: PropTypes.shape({}).isRequired,
93
97
  tableColumns: PropTypes.arrayOf(PropTypes.string).isRequired,
94
98
  subscriptions: PropTypes.shape({
95
99
  searchIsActive: PropTypes.bool,
96
100
  itemCount: PropTypes.number,
97
101
  pagination: PropTypes.shape({}),
102
+ // Disabling rule as existing code failed due to an eslint-plugin-react update
103
+ // eslint-disable-next-line react/forbid-prop-types
98
104
  results: PropTypes.array,
99
105
  }).isRequired,
100
106
  loadSubscriptions: PropTypes.func.isRequired,
@@ -107,11 +113,7 @@ Table.propTypes = {
107
113
  groupedSubscriptions: PropTypes.shape({}).isRequired,
108
114
  editing: PropTypes.bool.isRequired,
109
115
  rows: PropTypes.arrayOf(PropTypes.object).isRequired,
110
-
111
- };
112
-
113
- Table.defaultProps = {
114
- canManageSubscriptionAllocations: false,
116
+ selectionEnabled: PropTypes.bool.isRequired,
115
117
  };
116
118
 
117
119
  export default Table;
@@ -16,10 +16,11 @@ import {
16
16
  selectActivePermissions,
17
17
  selectTableSettings,
18
18
  selectIsTaskPending,
19
+ selectHasUpstreamConnection,
19
20
  } from './SubscriptionsSelectors';
20
21
  import { selectIsPollingTask } from '../Tasks/TaskSelectors';
21
- import { selectSimpleContentAccessEnabled } from '../Organizations/OrganizationSelectors';
22
-
22
+ import { selectOrganizationState, selectSimpleContentAccessEnabled } from '../Organizations/OrganizationSelectors';
23
+ import { pingUpstreamSubscriptions } from './UpstreamSubscriptions/UpstreamSubscriptionsActions';
23
24
  import reducer from './SubscriptionReducer';
24
25
  import { SUBSCRIPTION_TABLE_NAME, SUBSCRIPTIONS } from './SubscriptionConstants';
25
26
  import SubscriptionsPage from './SubscriptionsPage';
@@ -34,18 +35,20 @@ const mapStateToProps = (state) => {
34
35
  subscriptionTableSettings,
35
36
  activePermissions: selectActivePermissions(state),
36
37
  simpleContentAccess: selectSimpleContentAccessEnabled(state),
38
+ hasUpstreamConnection: selectHasUpstreamConnection(state),
37
39
  task: selectSubscriptionsTask(state),
38
40
  isTaskPending: selectIsTaskPending(state),
39
41
  isPollingTask: selectIsPollingTask(state, SUBSCRIPTIONS),
40
42
  searchQuery: selectSearchQuery(state),
41
43
  deleteModalOpened: selectDeleteModalOpened(state),
42
44
  deleteButtonDisabled: selectDeleteButtonDisabled(state),
43
- organization: state.katello.organization,
45
+ organization: selectOrganizationState(state),
44
46
  };
45
47
  };
46
48
 
47
49
  // map action dispatchers to props
48
50
  const actions = {
51
+ pingUpstreamSubscriptions,
49
52
  ...subscriptionActions,
50
53
  ...taskActions,
51
54
  ...settingActions,
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.16.0.rc3.1
4
+ version: 3.16.0.rc4
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-06-24 00:00:00.000000000 Z
11
+ date: 2020-07-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -218,40 +218,40 @@ dependencies:
218
218
  requirements:
219
219
  - - ">="
220
220
  - !ruby/object:Gem::Version
221
- version: 3.3.0
221
+ version: 3.4.0
222
222
  - - "<"
223
223
  - !ruby/object:Gem::Version
224
- version: 3.4.0
224
+ version: 3.5.0
225
225
  type: :runtime
226
226
  prerelease: false
227
227
  version_requirements: !ruby/object:Gem::Requirement
228
228
  requirements:
229
229
  - - ">="
230
230
  - !ruby/object:Gem::Version
231
- version: 3.3.0
231
+ version: 3.4.0
232
232
  - - "<"
233
233
  - !ruby/object:Gem::Version
234
- version: 3.4.0
234
+ version: 3.5.0
235
235
  - !ruby/object:Gem::Dependency
236
236
  name: pulp_file_client
237
237
  requirement: !ruby/object:Gem::Requirement
238
238
  requirements:
239
239
  - - ">="
240
240
  - !ruby/object:Gem::Version
241
- version: 0.3.0
241
+ version: 1.0.0
242
242
  - - "<"
243
243
  - !ruby/object:Gem::Version
244
- version: 0.4.0
244
+ version: 1.1.0
245
245
  type: :runtime
246
246
  prerelease: false
247
247
  version_requirements: !ruby/object:Gem::Requirement
248
248
  requirements:
249
249
  - - ">="
250
250
  - !ruby/object:Gem::Version
251
- version: 0.3.0
251
+ version: 1.0.0
252
252
  - - "<"
253
253
  - !ruby/object:Gem::Version
254
- version: 0.4.0
254
+ version: 1.1.0
255
255
  - !ruby/object:Gem::Dependency
256
256
  name: pulp_ansible_client
257
257
  requirement: !ruby/object:Gem::Requirement
@@ -278,47 +278,47 @@ dependencies:
278
278
  requirements:
279
279
  - - ">="
280
280
  - !ruby/object:Gem::Version
281
- version: 1.3.0
281
+ version: 1.4.0
282
282
  - - "<"
283
283
  - !ruby/object:Gem::Version
284
- version: 1.4.0
284
+ version: 1.5.0
285
285
  type: :runtime
286
286
  prerelease: false
287
287
  version_requirements: !ruby/object:Gem::Requirement
288
288
  requirements:
289
289
  - - ">="
290
290
  - !ruby/object:Gem::Version
291
- version: 1.3.0
291
+ version: 1.4.0
292
292
  - - "<"
293
293
  - !ruby/object:Gem::Version
294
- version: 1.4.0
294
+ version: 1.5.0
295
295
  - !ruby/object:Gem::Dependency
296
296
  name: pulp_rpm_client
297
297
  requirement: !ruby/object:Gem::Requirement
298
298
  requirements:
299
299
  - - ">="
300
300
  - !ruby/object:Gem::Version
301
- version: 3.3.0
301
+ version: 3.4.0
302
302
  - - "<"
303
303
  - !ruby/object:Gem::Version
304
- version: 3.4.0
304
+ version: 3.5.0
305
305
  type: :runtime
306
306
  prerelease: false
307
307
  version_requirements: !ruby/object:Gem::Requirement
308
308
  requirements:
309
309
  - - ">="
310
310
  - !ruby/object:Gem::Version
311
- version: 3.3.0
311
+ version: 3.4.0
312
312
  - - "<"
313
313
  - !ruby/object:Gem::Version
314
- version: 3.4.0
314
+ version: 3.5.0
315
315
  - !ruby/object:Gem::Dependency
316
316
  name: pulp_2to3_migration_client
317
317
  requirement: !ruby/object:Gem::Requirement
318
318
  requirements:
319
- - - ">"
319
+ - - ">="
320
320
  - !ruby/object:Gem::Version
321
- version: '0.1'
321
+ version: 0.2.0b2
322
322
  - - "<"
323
323
  - !ruby/object:Gem::Version
324
324
  version: 0.3.0
@@ -326,9 +326,9 @@ dependencies:
326
326
  prerelease: false
327
327
  version_requirements: !ruby/object:Gem::Requirement
328
328
  requirements:
329
- - - ">"
329
+ - - ">="
330
330
  - !ruby/object:Gem::Version
331
- version: '0.1'
331
+ version: 0.2.0b2
332
332
  - - "<"
333
333
  - !ruby/object:Gem::Version
334
334
  version: 0.3.0
@@ -1418,6 +1418,7 @@ files:
1418
1418
  - app/services/katello/ui_notifications/subscriptions/manifest_refresh_error.rb
1419
1419
  - app/services/katello/ui_notifications/subscriptions/manifest_refresh_success.rb
1420
1420
  - app/services/katello/ui_notifications/task_notification.rb
1421
+ - app/services/katello/upstream_connection_checker.rb
1421
1422
  - app/views/common/400.html
1422
1423
  - app/views/dashboard/_content_views_widget.html.erb
1423
1424
  - app/views/dashboard/_errata_widget.html.erb
@@ -1621,6 +1622,9 @@ files:
1621
1622
  - app/views/katello/api/v2/repository_sets/show.json.rabl
1622
1623
  - app/views/katello/api/v2/root/resource_list.json.rabl
1623
1624
  - app/views/katello/api/v2/smart_proxies/pulp_info.json.rabl
1625
+ - app/views/katello/api/v2/srpms/backend.json.rabl
1626
+ - app/views/katello/api/v2/srpms/base.json.rabl
1627
+ - app/views/katello/api/v2/srpms/compare.json.rabl
1624
1628
  - app/views/katello/api/v2/srpms/index.json.rabl
1625
1629
  - app/views/katello/api/v2/srpms/show.json.rabl
1626
1630
  - app/views/katello/api/v2/subscription_facet/base.json.rabl
@@ -4792,7 +4796,7 @@ files:
4792
4796
  - webpack/scenes/Subscriptions/SubscriptionsPage.scss
4793
4797
  - webpack/scenes/Subscriptions/SubscriptionsSelectors.js
4794
4798
  - webpack/scenes/Subscriptions/UpstreamSubscriptions/UpstreamSubscriptionsActions.js
4795
- - webpack/scenes/Subscriptions/UpstreamSubscriptions/UpstreamSubscriptionsContstants.js
4799
+ - webpack/scenes/Subscriptions/UpstreamSubscriptions/UpstreamSubscriptionsConstants.js
4796
4800
  - webpack/scenes/Subscriptions/UpstreamSubscriptions/UpstreamSubscriptionsPage.js
4797
4801
  - webpack/scenes/Subscriptions/UpstreamSubscriptions/UpstreamSubscriptionsReducer.js
4798
4802
  - webpack/scenes/Subscriptions/UpstreamSubscriptions/UpstreamSubscriptionsTableSchema.js