katello 3.7.1.1 → 3.8.0.rc1

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 (187) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +8 -7
  3. data/app/assets/javascripts/katello/common/index.js +0 -1
  4. data/app/assets/javascripts/katello/sync_management/index.js +0 -1
  5. data/app/controllers/katello/api/registry/registry_proxies_controller.rb +477 -0
  6. data/app/controllers/katello/api/rhsm/candlepin_proxies_controller.rb +1 -1
  7. data/app/controllers/katello/api/v2/activation_keys_controller.rb +2 -2
  8. data/app/controllers/katello/api/v2/api_controller.rb +3 -1
  9. data/app/controllers/katello/api/v2/content_credentials_controller.rb +1 -1
  10. data/app/controllers/katello/api/v2/content_view_filter_rules_controller.rb +1 -1
  11. data/app/controllers/katello/api/v2/content_view_versions_controller.rb +15 -1
  12. data/app/controllers/katello/api/v2/environments_controller.rb +5 -2
  13. data/app/controllers/katello/api/v2/errata_controller.rb +48 -34
  14. data/app/controllers/katello/api/v2/gpg_keys_controller.rb +1 -1
  15. data/app/controllers/katello/api/v2/host_collections_controller.rb +1 -1
  16. data/app/controllers/katello/api/v2/host_packages_controller.rb +5 -1
  17. data/app/controllers/katello/api/v2/organizations_controller.rb +1 -1
  18. data/app/controllers/katello/api/v2/packages_controller.rb +33 -22
  19. data/app/controllers/katello/api/v2/products_controller.rb +1 -1
  20. data/app/controllers/katello/api/v2/repositories_controller.rb +6 -5
  21. data/app/controllers/katello/api/v2/repository_sets_controller.rb +1 -10
  22. data/app/controllers/katello/api/v2/sync_plans_controller.rb +1 -1
  23. data/app/controllers/katello/concerns/api/v2/repository_content_controller.rb +20 -12
  24. data/app/controllers/katello/remote_execution_controller.rb +6 -6
  25. data/app/helpers/katello/hosts_and_hostgroups_helper.rb +9 -37
  26. data/app/lib/actions/katello/content_view/promote.rb +6 -2
  27. data/app/lib/actions/katello/content_view_version/after_promote_hook.rb +11 -0
  28. data/app/lib/actions/katello/content_view_version/before_promote_hook.rb +11 -0
  29. data/app/lib/actions/katello/host/remove_subscriptions.rb +1 -1
  30. data/app/lib/actions/pulp/consumer/abstract_content_action.rb +0 -12
  31. data/app/lib/actions/pulp/consumer/content_install.rb +1 -1
  32. data/app/lib/actions/pulp/consumer/content_uninstall.rb +1 -1
  33. data/app/lib/actions/pulp/consumer/content_update.rb +1 -1
  34. data/app/lib/katello/resources/registry.rb +40 -0
  35. data/app/lib/katello/util/package.rb +9 -4
  36. data/app/models/katello/concerns/subscription_facet_host_extensions.rb +1 -1
  37. data/app/models/katello/content_view.rb +4 -12
  38. data/app/models/katello/content_view_version.rb +26 -0
  39. data/app/models/katello/glue/candlepin/owner.rb +8 -0
  40. data/app/models/katello/glue/candlepin/pool.rb +11 -11
  41. data/app/models/katello/glue/candlepin/repository.rb +1 -1
  42. data/app/models/katello/glue/pulp/repos.rb +1 -0
  43. data/app/models/katello/host/content_facet.rb +1 -2
  44. data/app/models/katello/kt_environment.rb +6 -0
  45. data/app/models/katello/product_content.rb +1 -4
  46. data/app/models/katello/repository.rb +2 -0
  47. data/app/models/katello/rpm.rb +118 -14
  48. data/app/services/katello/puppet_class_importer_extensions.rb +17 -20
  49. data/app/services/katello/ui_notifications/pulp/proxy_disk_space.rb +1 -3
  50. data/app/views/katello/api/v2/common/copy.json.rabl +3 -0
  51. data/app/views/katello/api/v2/environments/show.json.rabl +1 -1
  52. data/app/views/katello/api/v2/repositories/base.json.rabl +1 -0
  53. data/app/views/katello/api/v2/repositories/show.json.rabl +4 -2
  54. data/app/views/overrides/activation_keys/_host_environment_select.html.erb +3 -2
  55. data/config/katello.yaml +89 -0
  56. data/config/routes.rb +0 -1
  57. data/config/routes/api/registry.rb +29 -0
  58. data/config/routes/api/v2.rb +1 -1
  59. data/db/migrate/20180612163403_add_foreign_key_to_hypervisor_id.rb +0 -3
  60. data/db/migrate/20180614184822_add_unauthenticated_pull.rb +9 -0
  61. data/db/migrate/20180618195941_add_description_to_repository.rb +5 -0
  62. data/db/seeds.d/75-job_templates.rb +2 -5
  63. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/content-hosts-bulk-repository-sets-modal.controller.js +3 -4
  64. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/content-hosts-bulk-subscriptions-modal.controller.js +1 -4
  65. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/views/content-hosts-bulk-subscriptions-modal.html +1 -1
  66. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content-host-register.controller.js +1 -1
  67. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/content-host-packages-installed.controller.js +1 -1
  68. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/content-host-add-subscriptions.controller.js +1 -1
  69. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/content-views.routes.js +1 -0
  70. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/content-view-version.controller.js +32 -18
  71. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/views/content-view-version-details.html +1 -1
  72. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/views/content-view-version-docker.html +2 -0
  73. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/environments/details/views/environment-details.html +32 -23
  74. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-info.html +6 -0
  75. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/new/views/new-repository.html +8 -0
  76. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/discovery/discovery.controller.js +1 -1
  77. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/discovery/views/discovery-create.html +1 -1
  78. data/engines/bastion_katello/app/assets/stylesheets/bastion_katello/bastion_katello.scss +0 -5
  79. data/lib/katello/engine.rb +1 -0
  80. data/lib/katello/permission_creator.rb +2 -0
  81. data/lib/katello/permissions/registry_permissions.rb +20 -0
  82. data/lib/katello/plugin.rb +1 -0
  83. data/lib/katello/tasks/clean_backend_objects.rake +3 -12
  84. data/lib/katello/version.rb +1 -1
  85. data/package.json +7 -10
  86. data/webpack/components/Search/Search.test.js +1 -3
  87. data/webpack/containers/Application/config.js +2 -9
  88. data/webpack/containers/Application/index.js +2 -4
  89. data/webpack/mockRequest.js +3 -3
  90. data/webpack/move_to_foreman/common/helpers.js +8 -45
  91. data/webpack/move_to_foreman/components/common/{EmptyState → emptyState}/index.js +3 -16
  92. data/webpack/move_to_foreman/components/common/table/components/Table.js +1 -1
  93. data/webpack/move_to_foreman/components/common/table/components/__snapshots__/CollapseSubscriptionGroupButton.test.js.snap +2 -2
  94. data/webpack/move_to_foreman/components/common/table/components/__snapshots__/TableSelectionCell.test.js.snap +1 -1
  95. data/webpack/move_to_foreman/components/common/table/components/__snapshots__/TableSelectionHeaderCell.test.js.snap +1 -1
  96. data/webpack/move_to_pf/LoadingState/LoadingState.js +14 -27
  97. data/webpack/move_to_pf/LoadingState/LoadingState.test.js +4 -8
  98. data/webpack/move_to_pf/react-bootstrap-select/index.js +1 -12
  99. data/webpack/redux/actions/RedHatRepositories/enabled.js +1 -0
  100. data/webpack/redux/actions/RedHatRepositories/helpers.js +5 -5
  101. data/webpack/redux/actions/RedHatRepositories/sets.js +1 -1
  102. data/webpack/redux/consts.js +0 -6
  103. data/webpack/redux/reducers/index.js +0 -2
  104. data/webpack/scenes/RedHatRepositories/components/EnabledRepository.js +23 -14
  105. data/webpack/scenes/RedHatRepositories/components/RepositorySetRepository.js +1 -1
  106. data/webpack/scenes/RedHatRepositories/components/SearchBar.js +0 -1
  107. data/webpack/scenes/RedHatRepositories/components/__tests__/__snapshots__/RecommendedRepositorySetsToggler.test.js.snap +1 -3
  108. data/webpack/scenes/RedHatRepositories/index.js +3 -7
  109. data/webpack/scenes/RedHatRepositories/index.scss +0 -1
  110. data/webpack/scenes/Subscriptions/Details/SubscriptionDetailActions.js +8 -3
  111. data/webpack/scenes/Subscriptions/Details/SubscriptionDetailReducer.js +1 -30
  112. data/webpack/scenes/Subscriptions/Details/SubscriptionDetails.js +28 -111
  113. data/webpack/scenes/Subscriptions/Details/__tests__/SubscriptionDetailReducer.test.js +1 -3
  114. data/webpack/scenes/Subscriptions/Details/__tests__/SubscriptionDetails.test.js +1 -6
  115. data/webpack/scenes/Subscriptions/Details/__tests__/__snapshots__/SubscriptionDetails.test.js.snap +424 -519
  116. data/webpack/scenes/Subscriptions/Details/__tests__/subscriptionDetails.fixtures.js +4 -7
  117. data/webpack/scenes/Subscriptions/Details/index.js +3 -5
  118. data/webpack/scenes/Subscriptions/Manifest/ManageManifestModal.js +34 -78
  119. data/webpack/scenes/Subscriptions/Manifest/ManifestActions.js +24 -5
  120. data/webpack/scenes/Subscriptions/Manifest/ManifestHistoryReducer.js +1 -9
  121. data/webpack/scenes/Subscriptions/Manifest/__tests__/ManageManifestModal.test.js +0 -3
  122. data/webpack/scenes/Subscriptions/Manifest/__tests__/ManifestActions.test.js +8 -20
  123. data/webpack/scenes/Subscriptions/Manifest/__tests__/ManifestHistoryReducer.test.js +1 -3
  124. data/webpack/scenes/Subscriptions/Manifest/__tests__/__snapshots__/ManageManifestModal.test.js.snap +7 -34
  125. data/webpack/scenes/Subscriptions/Manifest/__tests__/manifest.fixtures.js +16 -9
  126. data/webpack/scenes/Subscriptions/Manifest/index.js +0 -1
  127. data/webpack/scenes/Subscriptions/SubscriptionActions.js +26 -5
  128. data/webpack/scenes/Subscriptions/SubscriptionConstants.js +0 -1
  129. data/webpack/scenes/Subscriptions/SubscriptionHelpers.js +0 -3
  130. data/webpack/scenes/Subscriptions/SubscriptionReducer.js +4 -11
  131. data/webpack/scenes/Subscriptions/SubscriptionsPage.js +36 -31
  132. data/webpack/scenes/Subscriptions/UpstreamSubscriptions/UpstreamSubscriptionsActions.js +12 -3
  133. data/webpack/scenes/Subscriptions/UpstreamSubscriptions/UpstreamSubscriptionsPage.js +27 -57
  134. data/webpack/scenes/Subscriptions/UpstreamSubscriptions/UpstreamSubscriptionsReducer.js +3 -2
  135. data/webpack/scenes/Subscriptions/UpstreamSubscriptions/UpstreamSubscriptionsTableSchema.js +5 -10
  136. data/webpack/scenes/Subscriptions/UpstreamSubscriptions/__tests__/UpstreamSubscriptionsActions.test.js +5 -10
  137. data/webpack/scenes/Subscriptions/UpstreamSubscriptions/__tests__/UpstreamSubscriptionsPage.test.js +4 -49
  138. data/webpack/scenes/Subscriptions/UpstreamSubscriptions/__tests__/UpstreamSubscriptionsReducer.test.js +3 -8
  139. data/webpack/scenes/Subscriptions/UpstreamSubscriptions/__tests__/__snapshots__/UpstreamSubscriptionsPage.test.js.snap +11 -21
  140. data/webpack/scenes/Subscriptions/UpstreamSubscriptions/__tests__/upstreamSubscriptions.fixtures.js +8 -5
  141. data/webpack/scenes/Subscriptions/__tests__/SubscriptionsPage.test.js +0 -2
  142. data/webpack/scenes/Subscriptions/__tests__/SubscriptionsReducer.test.js +3 -9
  143. data/webpack/scenes/Subscriptions/__tests__/__snapshots__/SubscriptionsPage.test.js.snap +2 -14
  144. data/webpack/scenes/Subscriptions/__tests__/subscriptions.fixtures.js +17 -11
  145. data/webpack/scenes/Subscriptions/components/SubscriptionsTable/EntitlementsInlineEditFormatter.js +5 -8
  146. data/webpack/scenes/Subscriptions/components/SubscriptionsTable/SubscriptionsTable.js +58 -45
  147. data/webpack/scenes/Subscriptions/components/SubscriptionsTable/SubscriptionsTableHelpers.js +4 -11
  148. data/webpack/scenes/Subscriptions/components/SubscriptionsTable/SubscriptionsTableSchema.js +2 -2
  149. data/webpack/scenes/Subscriptions/components/SubscriptionsTable/__tests__/SubscriptionsTable.test.js +3 -16
  150. data/webpack/scenes/Subscriptions/components/SubscriptionsTable/__tests__/__snapshots__/SubscriptionsTable.test.js.snap +365 -392
  151. data/webpack/scenes/Subscriptions/index.js +0 -1
  152. data/webpack/services/api/fixtures.js +353 -0
  153. data/webpack/services/api/index.js +1 -17
  154. data/webpack/test_setup.js +0 -2
  155. metadata +16 -37
  156. data/config/katello.yml +0 -59
  157. data/webpack/__mocks__/foremanReact/components/BreadcrumbBar.js +0 -3
  158. data/webpack/__mocks__/foremanReact/redux.js +0 -3
  159. data/webpack/__mocks__/foremanReact/redux/actions/toasts.js +0 -8
  160. data/webpack/components/SelectOrg/SelectOrg.scss +0 -3
  161. data/webpack/components/SelectOrg/SelectOrgAction.js +0 -41
  162. data/webpack/components/SelectOrg/SelectOrgReducer.js +0 -33
  163. data/webpack/components/SelectOrg/SetOrganization.js +0 -116
  164. data/webpack/components/WithOrganization/withOrganization.js +0 -28
  165. data/webpack/global_test_setup.js +0 -6
  166. data/webpack/helpers/caret.js +0 -6
  167. data/webpack/move_to_pf/Select/Select.js +0 -40
  168. data/webpack/scenes/Products/ProductActions.js +0 -24
  169. data/webpack/scenes/Products/ProductConstants.js +0 -3
  170. data/webpack/scenes/Products/__tests__/ProductActions.test.js +0 -40
  171. data/webpack/scenes/Products/__tests__/products.fixtures.js +0 -90
  172. data/webpack/scenes/RedHatRepositories/components/EnabledRepositoryContent.js +0 -34
  173. data/webpack/scenes/RedHatRepositories/components/__tests__/EnabledRepository.test.js +0 -36
  174. data/webpack/scenes/RedHatRepositories/components/__tests__/EnabledRepositoryContent.test.js +0 -27
  175. data/webpack/scenes/RedHatRepositories/components/__tests__/__snapshots__/EnabledRepository.test.js.snap +0 -25
  176. data/webpack/scenes/RedHatRepositories/components/__tests__/__snapshots__/EnabledRepositoryContent.test.js.snap +0 -47
  177. data/webpack/scenes/Subscriptions/Details/SubscriptionDetailEnabledProducts.js +0 -54
  178. data/webpack/scenes/Subscriptions/Details/SubscriptionDetailProduct.js +0 -29
  179. data/webpack/scenes/Subscriptions/Details/SubscriptionDetails.scss +0 -9
  180. data/webpack/scenes/Subscriptions/Details/__tests__/SubscriptionDetailEnabledProducts.test.js +0 -18
  181. data/webpack/scenes/Subscriptions/Details/__tests__/SubscriptionDetailProduct.test.js +0 -13
  182. data/webpack/scenes/Subscriptions/Details/__tests__/__snapshots__/SubscriptionDetailEnabledProducts.test.js.snap +0 -45
  183. data/webpack/scenes/Subscriptions/Details/__tests__/__snapshots__/SubscriptionDetailProduct.test.js.snap +0 -67
  184. data/webpack/scenes/Subscriptions/components/SubscriptionsTable/__tests__/EntitlementsInlineEditFormatter.test.js +0 -110
  185. data/webpack/scenes/Subscriptions/components/SubscriptionsTable/__tests__/__snapshots__/EntitlementsInlineEditFormatter.test.js.snap +0 -228
  186. data/webpack/scenes/Tasks/helpers.js +0 -52
  187. data/webpack/services/api/testHelpers.js +0 -28
@@ -1,228 +0,0 @@
1
- // Jest Snapshot v1, https://goo.gl/fbAQLP
2
-
3
- exports[`EntitlementsInlineEditFormatter edit mode when available quantities are being loaded renders spinner 1`] = `
4
- <td
5
- className="editable editing"
6
- >
7
- <Spinner
8
- className=""
9
- inline={false}
10
- inverse={false}
11
- loading={true}
12
- size="xs"
13
- >
14
- <FormGroup
15
- bsClass="form-group"
16
- >
17
- <FormControl
18
- bsClass="form-control"
19
- componentClass="input"
20
- defaultValue={100}
21
- onBlur={[Function]}
22
- type="text"
23
- />
24
- <HelpBlock
25
- bsClass="help-block"
26
- >
27
- <div
28
- className="validationMessages"
29
- />
30
- </HelpBlock>
31
- </FormGroup>
32
- </Spinner>
33
- </td>
34
- `;
35
-
36
- exports[`EntitlementsInlineEditFormatter edit mode when available quantities are loaded renders changed values 1`] = `
37
- <td
38
- className="editable editing changed"
39
- >
40
- <Spinner
41
- className=""
42
- inline={false}
43
- inverse={false}
44
- loading={false}
45
- size="xs"
46
- >
47
- <FormGroup
48
- bsClass="form-group"
49
- >
50
- <FormControl
51
- bsClass="form-control"
52
- componentClass="input"
53
- defaultValue={100}
54
- onBlur={[Function]}
55
- type="text"
56
- />
57
- <HelpBlock
58
- bsClass="help-block"
59
- >
60
- Max 200
61
- <div
62
- className="validationMessages"
63
- />
64
- </HelpBlock>
65
- </FormGroup>
66
- </Spinner>
67
- </td>
68
- `;
69
-
70
- exports[`EntitlementsInlineEditFormatter edit mode when available quantities are loaded renders edit field and max available 1`] = `
71
- <td
72
- className="editable editing"
73
- >
74
- <Spinner
75
- className=""
76
- inline={false}
77
- inverse={false}
78
- loading={false}
79
- size="xs"
80
- >
81
- <FormGroup
82
- bsClass="form-group"
83
- >
84
- <FormControl
85
- bsClass="form-control"
86
- componentClass="input"
87
- defaultValue={100}
88
- onBlur={[Function]}
89
- type="text"
90
- />
91
- <HelpBlock
92
- bsClass="help-block"
93
- >
94
- Max 500
95
- <div
96
- className="validationMessages"
97
- />
98
- </HelpBlock>
99
- </FormGroup>
100
- </Spinner>
101
- </td>
102
- `;
103
-
104
- exports[`EntitlementsInlineEditFormatter edit mode when available quantities are loaded renders edit field and unlimited message 1`] = `
105
- <td
106
- className="editable editing"
107
- >
108
- <Spinner
109
- className=""
110
- inline={false}
111
- inverse={false}
112
- loading={false}
113
- size="xs"
114
- >
115
- <FormGroup
116
- bsClass="form-group"
117
- >
118
- <FormControl
119
- bsClass="form-control"
120
- componentClass="input"
121
- defaultValue={100}
122
- onBlur={[Function]}
123
- type="text"
124
- />
125
- <HelpBlock
126
- bsClass="help-block"
127
- >
128
- Unlimited
129
- <div
130
- className="validationMessages"
131
- />
132
- </HelpBlock>
133
- </FormGroup>
134
- </Spinner>
135
- </td>
136
- `;
137
-
138
- exports[`EntitlementsInlineEditFormatter edit mode when available quantities are loaded renders validation message 1`] = `
139
- <td
140
- className="editable editing"
141
- >
142
- <Spinner
143
- className=""
144
- inline={false}
145
- inverse={false}
146
- loading={false}
147
- size="xs"
148
- >
149
- <FormGroup
150
- bsClass="form-group"
151
- validationState="error"
152
- >
153
- <FormControl
154
- bsClass="form-control"
155
- componentClass="input"
156
- defaultValue={200}
157
- onBlur={[Function]}
158
- type="text"
159
- />
160
- <HelpBlock
161
- bsClass="help-block"
162
- >
163
- Max 100
164
- <div
165
- className="validationMessages"
166
- >
167
- Exceeds available quantity
168
- </div>
169
- </HelpBlock>
170
- </FormGroup>
171
- </Spinner>
172
- </td>
173
- `;
174
-
175
- exports[`EntitlementsInlineEditFormatter edit mode when available quantities failed to load renders just the edit field 1`] = `
176
- <td
177
- className="editable editing"
178
- >
179
- <Spinner
180
- className=""
181
- inline={false}
182
- inverse={false}
183
- loading={false}
184
- size="xs"
185
- >
186
- <FormGroup
187
- bsClass="form-group"
188
- >
189
- <FormControl
190
- bsClass="form-control"
191
- componentClass="input"
192
- defaultValue={200}
193
- onBlur={[Function]}
194
- type="text"
195
- />
196
- <HelpBlock
197
- bsClass="help-block"
198
- >
199
- <div
200
- className="validationMessages"
201
- />
202
- </HelpBlock>
203
- </FormGroup>
204
- </Spinner>
205
- </td>
206
- `;
207
-
208
- exports[`EntitlementsInlineEditFormatter value mode renders the value 1`] = `
209
- <td
210
- className="editable"
211
- >
212
- <div
213
- className="input"
214
- onClick={[Function]}
215
- onKeyPress={[Function]}
216
- role="textbox"
217
- tabIndex={0}
218
- >
219
- 200
220
- </div>
221
- </td>
222
- `;
223
-
224
- exports[`EntitlementsInlineEditFormatter value mode renders unlimited for -1 1`] = `
225
- <td>
226
- Unlimited
227
- </td>
228
- `;
@@ -1,52 +0,0 @@
1
- import React from 'react';
2
- import ReactDOMServer from 'react-dom/server';
3
- import { sprintf } from 'jed';
4
- import helpers from '../../move_to_foreman/common/helpers';
5
- import { notify } from '../../move_to_foreman/foreman_toast_notifications';
6
-
7
- const getErrors = task => (
8
- <ul>
9
- {task.humanized.errors.map(error => (
10
- <li key={error}> {error} </li>
11
- ))}
12
- </ul>
13
- );
14
-
15
- export const renderTaskStartedToast = (task) => {
16
- const message = (
17
- <span>
18
- <span>
19
- {sprintf('Task %s has started.', task.humanized.action)}
20
- {' '}
21
- </span>
22
- <a href={helpers.urlBuilder('foreman_tasks/tasks', '', task.id)}>
23
- {__('Click here to go to the tasks page for the task.')}
24
- </a>
25
- </span>
26
- );
27
-
28
- notify({
29
- message: ReactDOMServer.renderToStaticMarkup(message),
30
- type: 'info',
31
- });
32
- };
33
-
34
- export const renderTaskFinishedToast = (task) => {
35
- const message = (
36
- <span>
37
- <span>
38
- {`${__(`Task ${task.humanized.action} completed with a result of ${task.result}.`)}`}
39
- {' '}
40
- </span>
41
- {task.errors ? getErrors(task) : ''}
42
- <a href={helpers.urlBuilder('foreman_tasks/tasks', '', task.id)}>
43
- {__('Click here to go to the tasks page for the task.')}
44
- </a>
45
- </span>
46
- );
47
-
48
- notify({
49
- message: ReactDOMServer.renderToStaticMarkup(message),
50
- type: task.result,
51
- });
52
- };
@@ -1,28 +0,0 @@
1
-
2
- export const failureAction = (type, message = 'Request failed with status code 422') => (
3
- {
4
- type,
5
- payload: {
6
- messages: [message],
7
- result: new Error(message),
8
- },
9
- }
10
- );
11
-
12
- export const toastErrorAction = (message = 'Request failed with status code 422') => (
13
- {
14
- payload: {
15
- message: {
16
- message,
17
- sticky: true,
18
- type: 'error',
19
- },
20
- },
21
- type: 'TOASTS_ADD',
22
- }
23
- );
24
-
25
- export default {
26
- failureAction,
27
- toastErrorAction,
28
- };