foreman_leapp 4.2.0 → 4.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/app/assets/javascripts/foreman_leapp/locale/de/foreman_leapp.js +2 -2
- data/app/assets/javascripts/foreman_leapp/locale/en/foreman_leapp.js +1 -1
- data/app/assets/javascripts/foreman_leapp/locale/fr/foreman_leapp.js +12 -12
- data/app/assets/javascripts/foreman_leapp/locale/ja/foreman_leapp.js +12 -12
- data/app/assets/javascripts/foreman_leapp/locale/ka/foreman_leapp.js +1 -1
- data/app/assets/javascripts/foreman_leapp/locale/ko/foreman_leapp.js +13 -13
- data/app/assets/javascripts/foreman_leapp/locale/zh_CN/foreman_leapp.js +12 -12
- data/app/controllers/api/v2/preupgrade_report_entries_controller.rb +17 -29
- data/app/controllers/concerns/foreman_leapp/preupgrade_report_entry_bulk_remediate.rb +69 -0
- data/config/routes.rb +1 -2
- data/lib/foreman_leapp/engine.rb +1 -12
- data/lib/foreman_leapp/version.rb +1 -1
- data/locale/de/LC_MESSAGES/foreman_leapp.mo +0 -0
- data/locale/de/foreman_leapp.po +3 -3
- data/locale/en/LC_MESSAGES/foreman_leapp.mo +0 -0
- data/locale/en/foreman_leapp.po +1 -1
- data/locale/foreman_leapp.pot +2 -2
- data/locale/fr/LC_MESSAGES/foreman_leapp.mo +0 -0
- data/locale/fr/foreman_leapp.po +13 -13
- data/locale/ja/LC_MESSAGES/foreman_leapp.mo +0 -0
- data/locale/ja/foreman_leapp.po +13 -13
- data/locale/ka/LC_MESSAGES/foreman_leapp.mo +0 -0
- data/locale/ka/foreman_leapp.po +1 -1
- data/locale/ko/LC_MESSAGES/foreman_leapp.mo +0 -0
- data/locale/ko/foreman_leapp.po +15 -16
- data/locale/zh_CN/LC_MESSAGES/foreman_leapp.mo +0 -0
- data/locale/zh_CN/foreman_leapp.po +13 -13
- data/package.json +0 -1
- data/test/functional/api/v2/preupgrade_report_entries_controller_test.rb +64 -0
- data/webpack/components/PreupgradeReportsTable/PreupgradeReportsTableHelpers.js +43 -16
- data/webpack/components/PreupgradeReportsTable/__tests__/PreupgradeReportsTable.test.js +41 -8
- data/webpack/components/PreupgradeReportsTable/index.js +64 -71
- data/webpack/index.js +0 -13
- metadata +3 -66
- data/app/controllers/preupgrade_reports_controller.rb +0 -17
- data/app/views/job_invocations/_leapp_preupgrade_report.html.erb +0 -11
- data/app/views/preupgrade_report_entries/base.json.rabl +0 -4
- data/app/views/preupgrade_reports/index.json.rabl +0 -3
- data/app/views/preupgrade_reports/show.json.rabl +0 -7
- data/test/functional/preupgrade_reports_controller_test.rb +0 -39
- data/webpack/components/PreupgradeReports/PreupgradeReports.js +0 -154
- data/webpack/components/PreupgradeReports/PreupgradeReportsActions.js +0 -31
- data/webpack/components/PreupgradeReports/PreupgradeReportsHelpers.js +0 -152
- data/webpack/components/PreupgradeReports/PreupgradeReportsReducer.js +0 -37
- data/webpack/components/PreupgradeReports/PreupgradeReportsSelectors.js +0 -18
- data/webpack/components/PreupgradeReports/__tests__/PreupgradeReports.fixtures.js +0 -129
- data/webpack/components/PreupgradeReports/__tests__/PreupgradeReports.test.js +0 -159
- data/webpack/components/PreupgradeReports/__tests__/PreupgradeReportsHelpers.test.js +0 -78
- data/webpack/components/PreupgradeReports/__tests__/PreupgradeReportsReducer.test.js +0 -44
- data/webpack/components/PreupgradeReports/__tests__/PreupgradeReportsSelectors.test.js +0 -28
- data/webpack/components/PreupgradeReports/__tests__/__snapshots__/PreupgradeReportsHelpers.test.js.snap +0 -489
- data/webpack/components/PreupgradeReports/__tests__/__snapshots__/PreupgradeReportsReducer.test.js.snap +0 -102
- data/webpack/components/PreupgradeReports/__tests__/__snapshots__/PreupgradeReportsSelectors.test.js.snap +0 -76
- data/webpack/components/PreupgradeReports/components/EntriesFilter.js +0 -121
- data/webpack/components/PreupgradeReports/components/EntriesFilter.scss +0 -3
- data/webpack/components/PreupgradeReports/components/EntriesFilter.test.js +0 -30
- data/webpack/components/PreupgradeReports/components/FixSelectedButton.js +0 -35
- data/webpack/components/PreupgradeReports/components/FixSelectedButton.test.js +0 -15
- data/webpack/components/PreupgradeReports/components/NoReports.js +0 -35
- data/webpack/components/PreupgradeReports/components/NoReports.test.js +0 -29
- data/webpack/components/PreupgradeReports/components/UpgradeAllButton.js +0 -28
- data/webpack/components/PreupgradeReports/components/UpgradeAllButton.test.js +0 -17
- data/webpack/components/PreupgradeReports/components/__snapshots__/EntriesFilter.test.js.snap +0 -330
- data/webpack/components/PreupgradeReports/components/__snapshots__/FixSelectedButton.test.js.snap +0 -40
- data/webpack/components/PreupgradeReports/components/__snapshots__/UpgradeAllButton.test.js.snap +0 -41
- data/webpack/components/PreupgradeReports/index.js +0 -57
- data/webpack/components/PreupgradeReportsList/PreupgradeReportList.scss +0 -37
- data/webpack/components/PreupgradeReportsList/__tests__/PreupgradeReportsList.test.js +0 -124
- data/webpack/components/PreupgradeReportsList/components/EmptyInfoItem.js +0 -16
- data/webpack/components/PreupgradeReportsList/components/InfoItem.js +0 -34
- data/webpack/components/PreupgradeReportsList/components/InhibitorInfoItem.js +0 -33
- data/webpack/components/PreupgradeReportsList/components/PreupgradeReportEntry.js +0 -64
- data/webpack/components/PreupgradeReportsList/components/PreupgradeReportsListHeader.js +0 -56
- data/webpack/components/PreupgradeReportsList/components/SortableHeaderItem.js +0 -50
- data/webpack/components/PreupgradeReportsList/components/__tests__/EmptyInfoItem.test.js +0 -13
- data/webpack/components/PreupgradeReportsList/components/__tests__/InhibitorInfoItem.test.js +0 -27
- data/webpack/components/PreupgradeReportsList/components/__tests__/PreupgradeReportEntry.fixtures.js +0 -38
- data/webpack/components/PreupgradeReportsList/components/__tests__/PreupgradeReportEntry.test.js +0 -14
- data/webpack/components/PreupgradeReportsList/components/__tests__/PreupgradeReportsListHeader.test.js +0 -14
- data/webpack/components/PreupgradeReportsList/components/__tests__/SortableHeaderItem.test.js +0 -29
- data/webpack/components/PreupgradeReportsList/components/__tests__/__snapshots__/EmptyInfoItem.test.js.snap +0 -8
- data/webpack/components/PreupgradeReportsList/components/__tests__/__snapshots__/InhibitorInfoItem.test.js.snap +0 -32
- data/webpack/components/PreupgradeReportsList/components/__tests__/__snapshots__/PreupgradeReportEntry.test.js.snap +0 -134
- data/webpack/components/PreupgradeReportsList/components/__tests__/__snapshots__/PreupgradeReportsListHeader.test.js.snap +0 -113
- data/webpack/components/PreupgradeReportsList/components/__tests__/__snapshots__/SortableHeaderItem.test.js.snap +0 -36
- data/webpack/components/PreupgradeReportsList/components/__tests__/__snapshots__/helpers.test.js.snap +0 -197
- data/webpack/components/PreupgradeReportsList/components/__tests__/helpers.test.js +0 -28
- data/webpack/components/PreupgradeReportsList/components/foreman_leapp.scss +0 -15
- data/webpack/components/PreupgradeReportsList/components/helpers.js +0 -186
- data/webpack/components/PreupgradeReportsList/components/images/i_severity-critical.svg +0 -61
- data/webpack/components/PreupgradeReportsList/components/images/i_severity-high.svg +0 -61
- data/webpack/components/PreupgradeReportsList/components/images/i_severity-low.svg +0 -62
- data/webpack/components/PreupgradeReportsList/components/images/i_severity-med.svg +0 -62
- data/webpack/components/PreupgradeReportsList/index.js +0 -61
- data/webpack/consts.js +0 -3
- data/webpack/csrf.js +0 -4
- data/webpack/reducer.js +0 -5
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 2b21b7465db5f87cfccd517c018e30bb3aa5f6c7878cbef6e314c981b5c21870
|
|
4
|
+
data.tar.gz: dd0f2a71a7d5c5858aa3c6336d4d92fafb6ebd3c890404265262491ce2311057
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: c6e3d0c62affb53415a88dc5fd5ab55f44a9a3dfa601964a8fdf85bf7264f6a3e41622e63f8a213547197f7f23b5bcb139ed3f034df27ac25e564c915c0a622e
|
|
7
|
+
data.tar.gz: 021af94cf62a318c7aadace3ed71f8171862f2820a5f7d67dcd800ffc8d52ef0caeb4df53be11a8a7bad4c722db43486095e1f10184234f7c8b84c873a8764da
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
"Project-Id-Version": "foreman_leapp 4.1.2",
|
|
7
7
|
"Report-Msgid-Bugs-To": "",
|
|
8
8
|
"PO-Revision-Date": "2022-10-12 12:00+0000",
|
|
9
|
-
"Last-Translator": "Bryan Kearney <bryan.kearney@gmail.com>,
|
|
9
|
+
"Last-Translator": "Bryan Kearney <bryan.kearney@gmail.com>, 2026",
|
|
10
10
|
"Language-Team": "German (https://app.transifex.com/foreman/teams/114/de/)",
|
|
11
11
|
"MIME-Version": "1.0",
|
|
12
12
|
"Content-Type": "text/plain; charset=UTF-8",
|
|
@@ -141,7 +141,7 @@
|
|
|
141
141
|
""
|
|
142
142
|
],
|
|
143
143
|
"Search string": [
|
|
144
|
-
""
|
|
144
|
+
"Suchbegriff"
|
|
145
145
|
],
|
|
146
146
|
"Show Preupgrade report": [
|
|
147
147
|
""
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"": {
|
|
6
6
|
"Project-Id-Version": "foreman_leapp 1.0.0",
|
|
7
7
|
"Report-Msgid-Bugs-To": "",
|
|
8
|
-
"PO-Revision-Date": "2026-09-
|
|
8
|
+
"PO-Revision-Date": "2026-09-29 11:07+0000",
|
|
9
9
|
"Last-Translator": "FULL NAME <EMAIL@ADDRESS>",
|
|
10
10
|
"Language-Team": "LANGUAGE <LL@li.org>",
|
|
11
11
|
"Language": "",
|
|
@@ -24,10 +24,10 @@
|
|
|
24
24
|
"Tout"
|
|
25
25
|
],
|
|
26
26
|
"An unexpected error occurred while creating the remediation job.": [
|
|
27
|
-
""
|
|
27
|
+
"Une erreur inattendue s'est produite lors de la création de la tâche de correction."
|
|
28
28
|
],
|
|
29
29
|
"Array of excluded entry IDs": [
|
|
30
|
-
""
|
|
30
|
+
"Tableau des identifiants des entrées exclues"
|
|
31
31
|
],
|
|
32
32
|
"Command": [
|
|
33
33
|
"Commande"
|
|
@@ -63,7 +63,7 @@
|
|
|
63
63
|
"Hôte"
|
|
64
64
|
],
|
|
65
65
|
"ID of the preupgrade report": [
|
|
66
|
-
""
|
|
66
|
+
"ID du rapport de pré-mise à niveau"
|
|
67
67
|
],
|
|
68
68
|
"Info": [
|
|
69
69
|
"Info"
|
|
@@ -87,10 +87,10 @@
|
|
|
87
87
|
"Liste des rapports de pré-mise à niveau pour l'invocation du job"
|
|
88
88
|
],
|
|
89
89
|
"List all preupgrade report entries": [
|
|
90
|
-
""
|
|
90
|
+
"Liste de toutes les entrées du rapport de pré-mise à niveau"
|
|
91
91
|
],
|
|
92
92
|
"List entries for a specific preupgrade report": [
|
|
93
|
-
""
|
|
93
|
+
"Liste des entrées pour un rapport de pré-mise à niveau spécifique"
|
|
94
94
|
],
|
|
95
95
|
"Low": [
|
|
96
96
|
"Faible"
|
|
@@ -114,10 +114,10 @@
|
|
|
114
114
|
"Aucun rapport de pré-mise à niveau disponible"
|
|
115
115
|
],
|
|
116
116
|
"No fixable entries found matching the selection.": [
|
|
117
|
-
""
|
|
117
|
+
"Aucune entrée corrigible ne correspond à la sélection."
|
|
118
118
|
],
|
|
119
119
|
"No results found for your search.": [
|
|
120
|
-
""
|
|
120
|
+
"Aucun résultat trouvé pour votre recherche."
|
|
121
121
|
],
|
|
122
122
|
"Preupgrade check with Leapp": [
|
|
123
123
|
"Contrôle pré-mise à niveau avec Leapp"
|
|
@@ -138,10 +138,10 @@
|
|
|
138
138
|
"Mettre à niveau"
|
|
139
139
|
],
|
|
140
140
|
"Search autocomplete for preupgrade report entries": [
|
|
141
|
-
""
|
|
141
|
+
"Saisie semi-automatique de la recherche pour les entrées du rapport de pré-mise à niveau"
|
|
142
142
|
],
|
|
143
143
|
"Search string": [
|
|
144
|
-
""
|
|
144
|
+
"Rechercher une chaîne"
|
|
145
145
|
],
|
|
146
146
|
"Show Preupgrade report": [
|
|
147
147
|
"Afficher le rapport de pré-mise à niveau"
|
|
@@ -168,13 +168,13 @@
|
|
|
168
168
|
"Titre"
|
|
169
169
|
],
|
|
170
170
|
"Trigger a remediation job for selected preupgrade report entries": [
|
|
171
|
-
""
|
|
171
|
+
"Déclencher une tâche de correction pour les entrées de rapport de pré-mise à niveau sélectionnées"
|
|
172
172
|
],
|
|
173
173
|
"Unknown fix_type value '%s' for search_fix_type": [
|
|
174
|
-
""
|
|
174
|
+
"Valeur fix_type inconnue '%s' pour le type de correction de recherche"
|
|
175
175
|
],
|
|
176
176
|
"Unknown search key '%s' for search_yes_no_fields": [
|
|
177
|
-
""
|
|
177
|
+
"Clé de recherche inconnue '%s' pour les champs de recherche oui/non"
|
|
178
178
|
],
|
|
179
179
|
"Upgrade with Leapp": [
|
|
180
180
|
"Mise à niveau avec Leapp"
|
|
@@ -24,10 +24,10 @@
|
|
|
24
24
|
"すべて"
|
|
25
25
|
],
|
|
26
26
|
"An unexpected error occurred while creating the remediation job.": [
|
|
27
|
-
""
|
|
27
|
+
"修復ジョブの作成中に予期せぬエラーが発生しました。"
|
|
28
28
|
],
|
|
29
29
|
"Array of excluded entry IDs": [
|
|
30
|
-
""
|
|
30
|
+
"除外されたエントリー ID の配列"
|
|
31
31
|
],
|
|
32
32
|
"Command": [
|
|
33
33
|
"コマンド"
|
|
@@ -63,7 +63,7 @@
|
|
|
63
63
|
"ホスト"
|
|
64
64
|
],
|
|
65
65
|
"ID of the preupgrade report": [
|
|
66
|
-
""
|
|
66
|
+
"アップグレード前レポートの ID"
|
|
67
67
|
],
|
|
68
68
|
"Info": [
|
|
69
69
|
"情報"
|
|
@@ -87,10 +87,10 @@
|
|
|
87
87
|
"ジョブ呼び出しの事前アップグレードレポートの一覧表示"
|
|
88
88
|
],
|
|
89
89
|
"List all preupgrade report entries": [
|
|
90
|
-
""
|
|
90
|
+
"アップグレード前のレポートエントリーをすべてリスト表示する"
|
|
91
91
|
],
|
|
92
92
|
"List entries for a specific preupgrade report": [
|
|
93
|
-
""
|
|
93
|
+
"特定のアップグレード前レポートのエントリーをリスト表示する"
|
|
94
94
|
],
|
|
95
95
|
"Low": [
|
|
96
96
|
"低"
|
|
@@ -114,10 +114,10 @@
|
|
|
114
114
|
"アップグレード前のレポートはありません"
|
|
115
115
|
],
|
|
116
116
|
"No fixable entries found matching the selection.": [
|
|
117
|
-
""
|
|
117
|
+
"選択に一致する修正可能なエントリーが見つかりませんでした。"
|
|
118
118
|
],
|
|
119
119
|
"No results found for your search.": [
|
|
120
|
-
""
|
|
120
|
+
"検索結果が見つかりませんでした。"
|
|
121
121
|
],
|
|
122
122
|
"Preupgrade check with Leapp": [
|
|
123
123
|
"Leapp によるアップグレード前のチェック"
|
|
@@ -138,10 +138,10 @@
|
|
|
138
138
|
"アップグレードの実行"
|
|
139
139
|
],
|
|
140
140
|
"Search autocomplete for preupgrade report entries": [
|
|
141
|
-
""
|
|
141
|
+
"アップグレード前レポートのエントリーを自動補完検索する"
|
|
142
142
|
],
|
|
143
143
|
"Search string": [
|
|
144
|
-
""
|
|
144
|
+
"検索文字列"
|
|
145
145
|
],
|
|
146
146
|
"Show Preupgrade report": [
|
|
147
147
|
"アップグレード前のレポートの表示"
|
|
@@ -168,13 +168,13 @@
|
|
|
168
168
|
"タイトル"
|
|
169
169
|
],
|
|
170
170
|
"Trigger a remediation job for selected preupgrade report entries": [
|
|
171
|
-
""
|
|
171
|
+
"選択したアップグレード前レポートのエントリーに対して修復ジョブをトリガーする"
|
|
172
172
|
],
|
|
173
173
|
"Unknown fix_type value '%s' for search_fix_type": [
|
|
174
|
-
""
|
|
174
|
+
"search_fix_type の不明な fix_type 値 '%s'"
|
|
175
175
|
],
|
|
176
176
|
"Unknown search key '%s' for search_yes_no_fields": [
|
|
177
|
-
""
|
|
177
|
+
"search_yes_no_fields の不明な検索キー '%s'"
|
|
178
178
|
],
|
|
179
179
|
"Upgrade with Leapp": [
|
|
180
180
|
"Leapp によるアップグレード"
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
"Project-Id-Version": "foreman_leapp 4.1.2",
|
|
7
7
|
"Report-Msgid-Bugs-To": "",
|
|
8
8
|
"PO-Revision-Date": "2022-10-12 12:00+0000",
|
|
9
|
-
"Last-Translator": "
|
|
9
|
+
"Last-Translator": "Ondřej Gajdušek, 2026",
|
|
10
10
|
"Language-Team": "Korean (https://app.transifex.com/foreman/teams/114/ko/)",
|
|
11
11
|
"MIME-Version": "1.0",
|
|
12
12
|
"Content-Type": "text/plain; charset=UTF-8",
|
|
@@ -24,10 +24,10 @@
|
|
|
24
24
|
"모두"
|
|
25
25
|
],
|
|
26
26
|
"An unexpected error occurred while creating the remediation job.": [
|
|
27
|
-
""
|
|
27
|
+
"복구 작업을 생성하는 동안 예기치 않은 오류가 발생했습니다."
|
|
28
28
|
],
|
|
29
29
|
"Array of excluded entry IDs": [
|
|
30
|
-
""
|
|
30
|
+
"제외된 항목 ID 배열"
|
|
31
31
|
],
|
|
32
32
|
"Command": [
|
|
33
33
|
"명령어"
|
|
@@ -63,7 +63,7 @@
|
|
|
63
63
|
"호스트 "
|
|
64
64
|
],
|
|
65
65
|
"ID of the preupgrade report": [
|
|
66
|
-
""
|
|
66
|
+
"업그레이드 전 보고서의 ID"
|
|
67
67
|
],
|
|
68
68
|
"Info": [
|
|
69
69
|
"정보 "
|
|
@@ -87,10 +87,10 @@
|
|
|
87
87
|
"작업 호출을 위한 사전 업그레이드 보고서 목록"
|
|
88
88
|
],
|
|
89
89
|
"List all preupgrade report entries": [
|
|
90
|
-
""
|
|
90
|
+
"모든 업그레이드 전 보고서 항목 나열"
|
|
91
91
|
],
|
|
92
92
|
"List entries for a specific preupgrade report": [
|
|
93
|
-
""
|
|
93
|
+
"특정 업그레이드 전 보고서의 항목 나열"
|
|
94
94
|
],
|
|
95
95
|
"Low": [
|
|
96
96
|
"낮음"
|
|
@@ -114,10 +114,10 @@
|
|
|
114
114
|
"사전 업그레이드 보고서가 없습니다"
|
|
115
115
|
],
|
|
116
116
|
"No fixable entries found matching the selection.": [
|
|
117
|
-
""
|
|
117
|
+
"선택한 조건과 일치하는 수정 가능한 항목이 없습니다."
|
|
118
118
|
],
|
|
119
119
|
"No results found for your search.": [
|
|
120
|
-
""
|
|
120
|
+
"검색 결과를 찾을 수 없습니다."
|
|
121
121
|
],
|
|
122
122
|
"Preupgrade check with Leapp": [
|
|
123
123
|
"Leapp으로 업그레이드 전 확인"
|
|
@@ -138,10 +138,10 @@
|
|
|
138
138
|
"업그레이드 실행"
|
|
139
139
|
],
|
|
140
140
|
"Search autocomplete for preupgrade report entries": [
|
|
141
|
-
""
|
|
141
|
+
"업그레이드 전 보고서 항목 검색 자동 완성"
|
|
142
142
|
],
|
|
143
143
|
"Search string": [
|
|
144
|
-
""
|
|
144
|
+
"검색 문자열"
|
|
145
145
|
],
|
|
146
146
|
"Show Preupgrade report": [
|
|
147
147
|
"사전 업그레이드 보고서 표시"
|
|
@@ -168,13 +168,13 @@
|
|
|
168
168
|
"제목"
|
|
169
169
|
],
|
|
170
170
|
"Trigger a remediation job for selected preupgrade report entries": [
|
|
171
|
-
""
|
|
171
|
+
"선택한 업그레이드 전 보고서 항목에 대한 복구 작업 시작"
|
|
172
172
|
],
|
|
173
173
|
"Unknown fix_type value '%s' for search_fix_type": [
|
|
174
|
-
""
|
|
174
|
+
"search_fix_type에 대한 알 수 없는 fix_type 값 '%s'"
|
|
175
175
|
],
|
|
176
176
|
"Unknown search key '%s' for search_yes_no_fields": [
|
|
177
|
-
""
|
|
177
|
+
"search_yes_no_fields에 대한 알 수 없는 검색 키 '%s'"
|
|
178
178
|
],
|
|
179
179
|
"Upgrade with Leapp": [
|
|
180
180
|
"Leapp으로 업그레이드"
|
|
@@ -24,10 +24,10 @@
|
|
|
24
24
|
"全部"
|
|
25
25
|
],
|
|
26
26
|
"An unexpected error occurred while creating the remediation job.": [
|
|
27
|
-
""
|
|
27
|
+
"创建补救作业时会出现意外错误。"
|
|
28
28
|
],
|
|
29
29
|
"Array of excluded entry IDs": [
|
|
30
|
-
""
|
|
30
|
+
"排除的条目 ID 数组"
|
|
31
31
|
],
|
|
32
32
|
"Command": [
|
|
33
33
|
"命令"
|
|
@@ -63,7 +63,7 @@
|
|
|
63
63
|
"主机"
|
|
64
64
|
],
|
|
65
65
|
"ID of the preupgrade report": [
|
|
66
|
-
""
|
|
66
|
+
"预升级报告的 ID"
|
|
67
67
|
],
|
|
68
68
|
"Info": [
|
|
69
69
|
"Info"
|
|
@@ -87,10 +87,10 @@
|
|
|
87
87
|
"列出作业调用的预升级报告"
|
|
88
88
|
],
|
|
89
89
|
"List all preupgrade report entries": [
|
|
90
|
-
""
|
|
90
|
+
"列出所有预升级报告条目"
|
|
91
91
|
],
|
|
92
92
|
"List entries for a specific preupgrade report": [
|
|
93
|
-
""
|
|
93
|
+
"列出特定预升级报告的条目"
|
|
94
94
|
],
|
|
95
95
|
"Low": [
|
|
96
96
|
"低"
|
|
@@ -114,10 +114,10 @@
|
|
|
114
114
|
"没有可用的预升级报告"
|
|
115
115
|
],
|
|
116
116
|
"No fixable entries found matching the selection.": [
|
|
117
|
-
""
|
|
117
|
+
"未找到与选择匹配的可修复条目。"
|
|
118
118
|
],
|
|
119
119
|
"No results found for your search.": [
|
|
120
|
-
""
|
|
120
|
+
"没有找到您的搜索结果。"
|
|
121
121
|
],
|
|
122
122
|
"Preupgrade check with Leapp": [
|
|
123
123
|
"使用 Leapp 的预升级检查"
|
|
@@ -138,10 +138,10 @@
|
|
|
138
138
|
"运行升级"
|
|
139
139
|
],
|
|
140
140
|
"Search autocomplete for preupgrade report entries": [
|
|
141
|
-
""
|
|
141
|
+
"搜索自动补全预升级报告条目"
|
|
142
142
|
],
|
|
143
143
|
"Search string": [
|
|
144
|
-
""
|
|
144
|
+
"搜索字符串"
|
|
145
145
|
],
|
|
146
146
|
"Show Preupgrade report": [
|
|
147
147
|
"显示预升级报告"
|
|
@@ -168,13 +168,13 @@
|
|
|
168
168
|
"提示"
|
|
169
169
|
],
|
|
170
170
|
"Trigger a remediation job for selected preupgrade report entries": [
|
|
171
|
-
""
|
|
171
|
+
"为所选预升级报告条目触发补救任务"
|
|
172
172
|
],
|
|
173
173
|
"Unknown fix_type value '%s' for search_fix_type": [
|
|
174
|
-
""
|
|
174
|
+
"search_fix_type 的未知的 fix_type 值 '%s'"
|
|
175
175
|
],
|
|
176
176
|
"Unknown search key '%s' for search_yes_no_fields": [
|
|
177
|
-
""
|
|
177
|
+
"search_yes_no_fields 的未知搜索键 '%s'"
|
|
178
178
|
],
|
|
179
179
|
"Upgrade with Leapp": [
|
|
180
180
|
"使用 Leapp 升级"
|
|
@@ -5,6 +5,7 @@ module Api
|
|
|
5
5
|
class PreupgradeReportEntriesController < ::Api::V2::BaseController
|
|
6
6
|
include ApiAuthorizer
|
|
7
7
|
include Foreman::Controller::AutoCompleteSearch
|
|
8
|
+
include ForemanLeapp::PreupgradeReportEntryBulkRemediate
|
|
8
9
|
|
|
9
10
|
skip_before_action :store_redirect_to_url, :reset_redirect_to_url, raise: false
|
|
10
11
|
before_action :find_preupgrade_report, if: -> { params[:preupgrade_report_id].present? }
|
|
@@ -25,29 +26,23 @@ module Api
|
|
|
25
26
|
N_('Search autocomplete for preupgrade report entries')
|
|
26
27
|
param :search, String, required: false, desc: N_('Search string')
|
|
27
28
|
param :preupgrade_report_id, :identifier, required: false, desc: N_('ID of the preupgrade report')
|
|
29
|
+
param :job_invocation_id, :identifier, required: false, desc: N_('ID of the job invocation')
|
|
28
30
|
|
|
31
|
+
api :POST, '/preupgrade_report_entries/bulk_remediate',
|
|
32
|
+
N_('Trigger a remediation job for selected preupgrade report entries')
|
|
29
33
|
api :POST, '/preupgrade_reports/:preupgrade_report_id/preupgrade_report_entries/bulk_remediate',
|
|
30
34
|
N_('Trigger a remediation job for selected preupgrade report entries')
|
|
35
|
+
param :ids, Array, of: :number, required: false,
|
|
36
|
+
desc: N_('IDs of fixable preupgrade report entries to remediate')
|
|
31
37
|
param :search, String, required: false, desc: N_('Search string')
|
|
32
38
|
param :excluded_ids, Array, required: false, desc: N_('Array of excluded entry IDs')
|
|
33
39
|
def bulk_remediate
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
if remediation_ids.empty?
|
|
38
|
-
return render json: { error: _('No fixable entries found matching the selection.') },
|
|
39
|
-
status: :unprocessable_entity
|
|
40
|
-
end
|
|
40
|
+
job_id = perform_bulk_remediate
|
|
41
|
+
return if performed?
|
|
41
42
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
{ 'remediation_ids' => remediation_ids.join(',') }
|
|
46
|
-
)
|
|
47
|
-
composer.trigger!
|
|
48
|
-
job_invocation = composer.job_invocation
|
|
49
|
-
|
|
50
|
-
render json: { id: job_invocation.id }
|
|
43
|
+
render json: { id: job_id }
|
|
44
|
+
rescue Foreman::Exception => e
|
|
45
|
+
render_exception(e, status: :unprocessable_entity)
|
|
51
46
|
rescue StandardError => e
|
|
52
47
|
Foreman::Logging.exception('Failed to trigger bulk remediation job', e)
|
|
53
48
|
render json: { error: _('An unexpected error occurred while creating the remediation job.') },
|
|
@@ -63,6 +58,12 @@ module Api
|
|
|
63
58
|
def resource_scope(_options = {})
|
|
64
59
|
scope = if @preupgrade_report
|
|
65
60
|
@preupgrade_report.preupgrade_report_entries
|
|
61
|
+
elsif params[:job_invocation_id].present?
|
|
62
|
+
PreupgradeReportEntry.where(
|
|
63
|
+
preupgrade_report_id: PreupgradeReport.where(
|
|
64
|
+
job_invocation_id: params[:job_invocation_id]
|
|
65
|
+
).select(:id)
|
|
66
|
+
)
|
|
66
67
|
else
|
|
67
68
|
PreupgradeReportEntry
|
|
68
69
|
end
|
|
@@ -82,19 +83,6 @@ module Api
|
|
|
82
83
|
|
|
83
84
|
private
|
|
84
85
|
|
|
85
|
-
def filtered_remediation_entries
|
|
86
|
-
combined_search = [params[:search].presence, 'fix_type = command'].compact.join(' AND ')
|
|
87
|
-
entries = resource_scope.search_for(combined_search)
|
|
88
|
-
entries = entries.where.not(id: params[:excluded_ids]) if params[:excluded_ids].present?
|
|
89
|
-
entries
|
|
90
|
-
end
|
|
91
|
-
|
|
92
|
-
def target_host_ids(entries)
|
|
93
|
-
host_ids = entries.pluck(:host_id).uniq.compact
|
|
94
|
-
host_ids = [@preupgrade_report.host_id].compact if host_ids.empty? && @preupgrade_report
|
|
95
|
-
host_ids
|
|
96
|
-
end
|
|
97
|
-
|
|
98
86
|
def find_preupgrade_report
|
|
99
87
|
@preupgrade_report = PreupgradeReport
|
|
100
88
|
.joins(:host)
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module ForemanLeapp
|
|
4
|
+
module PreupgradeReportEntryBulkRemediate
|
|
5
|
+
extend ActiveSupport::Concern
|
|
6
|
+
|
|
7
|
+
def perform_bulk_remediate
|
|
8
|
+
entries = filtered_remediation_entries
|
|
9
|
+
remediation_ids = entries.pluck(:id)
|
|
10
|
+
|
|
11
|
+
if remediation_ids.empty?
|
|
12
|
+
render json: { error: _('No fixable entries found matching the selection.') },
|
|
13
|
+
status: :unprocessable_entity
|
|
14
|
+
return
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
composer = JobInvocationComposer.for_feature(
|
|
18
|
+
'leapp_remediation_plan',
|
|
19
|
+
target_host_ids(entries),
|
|
20
|
+
{ 'remediation_ids' => remediation_ids.join(',') }
|
|
21
|
+
)
|
|
22
|
+
composer.trigger!
|
|
23
|
+
composer.job_invocation.id
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
private
|
|
27
|
+
|
|
28
|
+
def filtered_remediation_entries
|
|
29
|
+
fixable_remediation_scope(scope_for_bulk_selection)
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
def scope_for_bulk_selection
|
|
33
|
+
return resource_scope.where(id: params[:ids]) if params[:ids].present?
|
|
34
|
+
|
|
35
|
+
unless scoped_to_report_or_job?
|
|
36
|
+
raise Foreman::Exception,
|
|
37
|
+
N_('Either ids, preupgrade_report_id or job_invocation_id must be provided')
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
apply_excluded_ids(search_fixable_entries)
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
def scoped_to_report_or_job?
|
|
44
|
+
@preupgrade_report.present? || params[:job_invocation_id].present?
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
def search_fixable_entries
|
|
48
|
+
combined_search = [params[:search].presence, 'fix_type = command'].compact.join(' AND ')
|
|
49
|
+
resource_scope.search_for(combined_search)
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
def apply_excluded_ids(entries)
|
|
53
|
+
return entries.where.not(id: params[:excluded_ids]) if params[:excluded_ids].present?
|
|
54
|
+
|
|
55
|
+
entries
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
def fixable_remediation_scope(scope)
|
|
59
|
+
scope.search_for('fix_type = command')
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
def target_host_ids(entries)
|
|
63
|
+
host_ids = entries.pluck(:host_id).uniq.compact
|
|
64
|
+
return [@preupgrade_report.host_id].compact if host_ids.empty? && @preupgrade_report
|
|
65
|
+
|
|
66
|
+
host_ids
|
|
67
|
+
end
|
|
68
|
+
end
|
|
69
|
+
end
|
data/config/routes.rb
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
3
|
Rails.application.routes.draw do
|
|
4
|
-
resources :preupgrade_reports, only: %i[index]
|
|
5
|
-
|
|
6
4
|
namespace :api, defaults: { format: 'json' } do
|
|
7
5
|
scope '(:apiv)', module: :v2, defaults: { apiv: 'v2' }, apiv: /v2/,
|
|
8
6
|
constraints: ApiConstraints.new(version: 2, default: true) do
|
|
9
7
|
resources :preupgrade_report_entries, only: %i[index] do
|
|
10
8
|
collection do
|
|
11
9
|
get :auto_complete_search
|
|
10
|
+
post :bulk_remediate
|
|
12
11
|
end
|
|
13
12
|
end
|
|
14
13
|
|
data/lib/foreman_leapp/engine.rb
CHANGED
|
@@ -26,19 +26,8 @@ module ForemanLeapp
|
|
|
26
26
|
extend_rabl_template 'api/v2/job_invocations/main',
|
|
27
27
|
'api/v2/job_invocations/leapp_preupgrade_report'
|
|
28
28
|
|
|
29
|
-
extend_page 'job_invocations/show' do |cx|
|
|
30
|
-
cx.add_pagelet :main_tabs,
|
|
31
|
-
partial: 'job_invocations/leapp_preupgrade_report',
|
|
32
|
-
name: _('Leapp preupgrade report'),
|
|
33
|
-
id: 'leapp_preupgrade_report',
|
|
34
|
-
onlyif: proc { |subject|
|
|
35
|
-
::Helpers::JobHelper.with_leapp_report(subject)
|
|
36
|
-
}
|
|
37
|
-
end
|
|
38
|
-
|
|
39
29
|
security_block :foreman_leapp do
|
|
40
|
-
permission :view_job_invocations, {
|
|
41
|
-
'api/v2/preupgrade_reports' => %i[index show job_invocation] },
|
|
30
|
+
permission :view_job_invocations, { 'api/v2/preupgrade_reports' => %i[index show job_invocation] },
|
|
42
31
|
:resource_type => 'JobInvocation'
|
|
43
32
|
end
|
|
44
33
|
|
|
Binary file
|
data/locale/de/foreman_leapp.po
CHANGED
|
@@ -8,14 +8,14 @@
|
|
|
8
8
|
# Ettore Atalan <atalanttore@googlemail.com>, 2022
|
|
9
9
|
# Wiederoder <stefanwiederoder@googlemail.com>, 2022
|
|
10
10
|
# Lukas Kallies <github.com@luke-web.de>, 2022
|
|
11
|
-
# Bryan Kearney <bryan.kearney@gmail.com>,
|
|
11
|
+
# Bryan Kearney <bryan.kearney@gmail.com>, 2026
|
|
12
12
|
#
|
|
13
13
|
msgid ""
|
|
14
14
|
msgstr ""
|
|
15
15
|
"Project-Id-Version: foreman_leapp 4.1.2\n"
|
|
16
16
|
"Report-Msgid-Bugs-To: \n"
|
|
17
17
|
"PO-Revision-Date: 2022-10-12 12:00+0000\n"
|
|
18
|
-
"Last-Translator: Bryan Kearney <bryan.kearney@gmail.com>,
|
|
18
|
+
"Last-Translator: Bryan Kearney <bryan.kearney@gmail.com>, 2026\n"
|
|
19
19
|
"Language-Team: German (https://app.transifex.com/foreman/teams/114/de/)\n"
|
|
20
20
|
"MIME-Version: 1.0\n"
|
|
21
21
|
"Content-Type: text/plain; charset=UTF-8\n"
|
|
@@ -147,7 +147,7 @@ msgid "Search autocomplete for preupgrade report entries"
|
|
|
147
147
|
msgstr ""
|
|
148
148
|
|
|
149
149
|
msgid "Search string"
|
|
150
|
-
msgstr ""
|
|
150
|
+
msgstr "Suchbegriff"
|
|
151
151
|
|
|
152
152
|
msgid "Show Preupgrade report"
|
|
153
153
|
msgstr ""
|
|
Binary file
|
data/locale/en/foreman_leapp.po
CHANGED
|
@@ -8,7 +8,7 @@ msgid ""
|
|
|
8
8
|
msgstr ""
|
|
9
9
|
"Project-Id-Version: foreman_leapp 1.0.0\n"
|
|
10
10
|
"Report-Msgid-Bugs-To: \n"
|
|
11
|
-
"PO-Revision-Date: 2026-09-
|
|
11
|
+
"PO-Revision-Date: 2026-09-29 11:07+0000\n"
|
|
12
12
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
|
13
13
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
|
14
14
|
"Language: \n"
|
data/locale/foreman_leapp.pot
CHANGED
|
@@ -8,8 +8,8 @@ msgid ""
|
|
|
8
8
|
msgstr ""
|
|
9
9
|
"Project-Id-Version: foreman_leapp 1.0.0\n"
|
|
10
10
|
"Report-Msgid-Bugs-To: \n"
|
|
11
|
-
"POT-Creation-Date: 2026-09-
|
|
12
|
-
"PO-Revision-Date: 2026-09-
|
|
11
|
+
"POT-Creation-Date: 2026-09-29 11:07+0000\n"
|
|
12
|
+
"PO-Revision-Date: 2026-09-29 11:07+0000\n"
|
|
13
13
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
|
14
14
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
|
15
15
|
"Language: \n"
|
|
Binary file
|