foreman_leapp 4.1.2 → 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.
Files changed (103) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/foreman_leapp/locale/de/foreman_leapp.js +37 -4
  3. data/app/assets/javascripts/foreman_leapp/locale/en/foreman_leapp.js +36 -3
  4. data/app/assets/javascripts/foreman_leapp/locale/fr/foreman_leapp.js +37 -4
  5. data/app/assets/javascripts/foreman_leapp/locale/ja/foreman_leapp.js +37 -4
  6. data/app/assets/javascripts/foreman_leapp/locale/ka/foreman_leapp.js +40 -7
  7. data/app/assets/javascripts/foreman_leapp/locale/ko/foreman_leapp.js +37 -4
  8. data/app/assets/javascripts/foreman_leapp/locale/zh_CN/foreman_leapp.js +37 -4
  9. data/app/controllers/api/v2/preupgrade_report_entries_controller.rb +17 -29
  10. data/app/controllers/concerns/foreman_leapp/preupgrade_report_entry_bulk_remediate.rb +69 -0
  11. data/app/lib/actions/foreman_leapp/preupgrade_job.rb +1 -2
  12. data/app/lib/helpers/job_helper.rb +8 -0
  13. data/app/views/api/v2/job_invocations/leapp_preupgrade_report.json.rabl +3 -0
  14. data/config/routes.rb +1 -2
  15. data/lib/foreman_leapp/engine.rb +3 -12
  16. data/lib/foreman_leapp/version.rb +1 -1
  17. data/locale/de/LC_MESSAGES/foreman_leapp.mo +0 -0
  18. data/locale/de/foreman_leapp.po +38 -5
  19. data/locale/en/LC_MESSAGES/foreman_leapp.mo +0 -0
  20. data/locale/en/foreman_leapp.po +36 -3
  21. data/locale/foreman_leapp.pot +66 -18
  22. data/locale/fr/LC_MESSAGES/foreman_leapp.mo +0 -0
  23. data/locale/fr/foreman_leapp.po +38 -5
  24. data/locale/ja/LC_MESSAGES/foreman_leapp.mo +0 -0
  25. data/locale/ja/foreman_leapp.po +38 -5
  26. data/locale/ka/LC_MESSAGES/foreman_leapp.mo +0 -0
  27. data/locale/ka/foreman_leapp.po +41 -8
  28. data/locale/ko/LC_MESSAGES/foreman_leapp.mo +0 -0
  29. data/locale/ko/foreman_leapp.po +38 -5
  30. data/locale/zh_CN/LC_MESSAGES/foreman_leapp.mo +0 -0
  31. data/locale/zh_CN/foreman_leapp.po +38 -5
  32. data/package.json +0 -1
  33. data/test/functional/api/v2/job_invocations_controller_test.rb +39 -0
  34. data/test/functional/api/v2/preupgrade_report_entries_controller_test.rb +64 -0
  35. data/test/unit/helpers/job_helper_test.rb +20 -0
  36. data/webpack/components/PreupgradeReportsTable/PreupgradeReportsTableHelpers.js +44 -17
  37. data/webpack/components/PreupgradeReportsTable/__tests__/PreupgradeReportsTable.test.js +131 -10
  38. data/webpack/components/PreupgradeReportsTable/index.js +67 -74
  39. data/webpack/index.js +0 -13
  40. metadata +7 -67
  41. data/app/controllers/preupgrade_reports_controller.rb +0 -17
  42. data/app/views/job_invocations/_leapp_preupgrade_report.html.erb +0 -11
  43. data/app/views/preupgrade_report_entries/base.json.rabl +0 -4
  44. data/app/views/preupgrade_reports/index.json.rabl +0 -3
  45. data/app/views/preupgrade_reports/show.json.rabl +0 -7
  46. data/test/functional/preupgrade_reports_controller_test.rb +0 -39
  47. data/webpack/components/PreupgradeReports/PreupgradeReports.js +0 -154
  48. data/webpack/components/PreupgradeReports/PreupgradeReportsActions.js +0 -31
  49. data/webpack/components/PreupgradeReports/PreupgradeReportsHelpers.js +0 -152
  50. data/webpack/components/PreupgradeReports/PreupgradeReportsReducer.js +0 -37
  51. data/webpack/components/PreupgradeReports/PreupgradeReportsSelectors.js +0 -18
  52. data/webpack/components/PreupgradeReports/__tests__/PreupgradeReports.fixtures.js +0 -129
  53. data/webpack/components/PreupgradeReports/__tests__/PreupgradeReports.test.js +0 -159
  54. data/webpack/components/PreupgradeReports/__tests__/PreupgradeReportsHelpers.test.js +0 -78
  55. data/webpack/components/PreupgradeReports/__tests__/PreupgradeReportsReducer.test.js +0 -44
  56. data/webpack/components/PreupgradeReports/__tests__/PreupgradeReportsSelectors.test.js +0 -28
  57. data/webpack/components/PreupgradeReports/__tests__/__snapshots__/PreupgradeReportsHelpers.test.js.snap +0 -489
  58. data/webpack/components/PreupgradeReports/__tests__/__snapshots__/PreupgradeReportsReducer.test.js.snap +0 -102
  59. data/webpack/components/PreupgradeReports/__tests__/__snapshots__/PreupgradeReportsSelectors.test.js.snap +0 -76
  60. data/webpack/components/PreupgradeReports/components/EntriesFilter.js +0 -121
  61. data/webpack/components/PreupgradeReports/components/EntriesFilter.scss +0 -3
  62. data/webpack/components/PreupgradeReports/components/EntriesFilter.test.js +0 -30
  63. data/webpack/components/PreupgradeReports/components/FixSelectedButton.js +0 -35
  64. data/webpack/components/PreupgradeReports/components/FixSelectedButton.test.js +0 -15
  65. data/webpack/components/PreupgradeReports/components/NoReports.js +0 -35
  66. data/webpack/components/PreupgradeReports/components/NoReports.test.js +0 -29
  67. data/webpack/components/PreupgradeReports/components/UpgradeAllButton.js +0 -28
  68. data/webpack/components/PreupgradeReports/components/UpgradeAllButton.test.js +0 -17
  69. data/webpack/components/PreupgradeReports/components/__snapshots__/EntriesFilter.test.js.snap +0 -330
  70. data/webpack/components/PreupgradeReports/components/__snapshots__/FixSelectedButton.test.js.snap +0 -40
  71. data/webpack/components/PreupgradeReports/components/__snapshots__/UpgradeAllButton.test.js.snap +0 -41
  72. data/webpack/components/PreupgradeReports/index.js +0 -57
  73. data/webpack/components/PreupgradeReportsList/PreupgradeReportList.scss +0 -37
  74. data/webpack/components/PreupgradeReportsList/__tests__/PreupgradeReportsList.test.js +0 -124
  75. data/webpack/components/PreupgradeReportsList/components/EmptyInfoItem.js +0 -16
  76. data/webpack/components/PreupgradeReportsList/components/InfoItem.js +0 -34
  77. data/webpack/components/PreupgradeReportsList/components/InhibitorInfoItem.js +0 -33
  78. data/webpack/components/PreupgradeReportsList/components/PreupgradeReportEntry.js +0 -64
  79. data/webpack/components/PreupgradeReportsList/components/PreupgradeReportsListHeader.js +0 -56
  80. data/webpack/components/PreupgradeReportsList/components/SortableHeaderItem.js +0 -50
  81. data/webpack/components/PreupgradeReportsList/components/__tests__/EmptyInfoItem.test.js +0 -13
  82. data/webpack/components/PreupgradeReportsList/components/__tests__/InhibitorInfoItem.test.js +0 -27
  83. data/webpack/components/PreupgradeReportsList/components/__tests__/PreupgradeReportEntry.fixtures.js +0 -38
  84. data/webpack/components/PreupgradeReportsList/components/__tests__/PreupgradeReportEntry.test.js +0 -14
  85. data/webpack/components/PreupgradeReportsList/components/__tests__/PreupgradeReportsListHeader.test.js +0 -14
  86. data/webpack/components/PreupgradeReportsList/components/__tests__/SortableHeaderItem.test.js +0 -29
  87. data/webpack/components/PreupgradeReportsList/components/__tests__/__snapshots__/EmptyInfoItem.test.js.snap +0 -8
  88. data/webpack/components/PreupgradeReportsList/components/__tests__/__snapshots__/InhibitorInfoItem.test.js.snap +0 -32
  89. data/webpack/components/PreupgradeReportsList/components/__tests__/__snapshots__/PreupgradeReportEntry.test.js.snap +0 -134
  90. data/webpack/components/PreupgradeReportsList/components/__tests__/__snapshots__/PreupgradeReportsListHeader.test.js.snap +0 -113
  91. data/webpack/components/PreupgradeReportsList/components/__tests__/__snapshots__/SortableHeaderItem.test.js.snap +0 -36
  92. data/webpack/components/PreupgradeReportsList/components/__tests__/__snapshots__/helpers.test.js.snap +0 -197
  93. data/webpack/components/PreupgradeReportsList/components/__tests__/helpers.test.js +0 -28
  94. data/webpack/components/PreupgradeReportsList/components/foreman_leapp.scss +0 -15
  95. data/webpack/components/PreupgradeReportsList/components/helpers.js +0 -186
  96. data/webpack/components/PreupgradeReportsList/components/images/i_severity-critical.svg +0 -61
  97. data/webpack/components/PreupgradeReportsList/components/images/i_severity-high.svg +0 -61
  98. data/webpack/components/PreupgradeReportsList/components/images/i_severity-low.svg +0 -62
  99. data/webpack/components/PreupgradeReportsList/components/images/i_severity-med.svg +0 -62
  100. data/webpack/components/PreupgradeReportsList/index.js +0 -61
  101. data/webpack/consts.js +0 -3
  102. data/webpack/csrf.js +0 -4
  103. data/webpack/reducer.js +0 -5
@@ -4,17 +4,17 @@
4
4
  # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
5
5
  #
6
6
  # Translators:
7
- # Bryan Kearney <bryan.kearney@gmail.com>, 2022
8
7
  # Claer <transiblu@claer.hammock.fr>, 2022
9
8
  # Pierre-Emmanuel Dutang <dutangp@gmail.com>, 2022
10
9
  # 21966816214bc546c1fc8a185e75ca1c, 2022
11
10
  # Amit Upadhye <aupadhye@redhat.com>, 2023
12
11
  # Ewoud Kohl van Wijngaarden <ewoud+transifex@kohlvanwijngaarden.nl>, 2023
12
+ # Bryan Kearney <bryan.kearney@gmail.com>, 2026
13
13
  # Ondřej Gajdušek, 2026
14
14
  #
15
15
  msgid ""
16
16
  msgstr ""
17
- "Project-Id-Version: foreman_leapp 3.2.0\n"
17
+ "Project-Id-Version: foreman_leapp 4.1.2\n"
18
18
  "Report-Msgid-Bugs-To: \n"
19
19
  "PO-Revision-Date: 2022-10-12 12:00+0000\n"
20
20
  "Last-Translator: Ondřej Gajdušek, 2026\n"
@@ -32,6 +32,12 @@ msgstr "Un plugin Foreman pour prendre en charge les mises à jour in situ de RH
32
32
  msgid "All"
33
33
  msgstr "Tout"
34
34
 
35
+ msgid "An unexpected error occurred while creating the remediation job."
36
+ msgstr "Une erreur inattendue s'est produite lors de la création de la tâche de correction."
37
+
38
+ msgid "Array of excluded entry IDs"
39
+ msgstr "Tableau des identifiants des entrées exclues"
40
+
35
41
  msgid "Command"
36
42
  msgstr "Commande"
37
43
 
@@ -65,6 +71,9 @@ msgstr "Indice"
65
71
  msgid "Host"
66
72
  msgstr "Hôte"
67
73
 
74
+ msgid "ID of the preupgrade report"
75
+ msgstr "ID du rapport de pré-mise à niveau"
76
+
68
77
  msgid "Info"
69
78
  msgstr "Info"
70
79
 
@@ -86,6 +95,12 @@ msgstr "Liste des rapports de pré-mise à niveau"
86
95
  msgid "List Preupgrade reports for Job invocation"
87
96
  msgstr "Liste des rapports de pré-mise à niveau pour l'invocation du job"
88
97
 
98
+ msgid "List all preupgrade report entries"
99
+ msgstr "Liste de toutes les entrées du rapport de pré-mise à niveau"
100
+
101
+ msgid "List entries for a specific preupgrade report"
102
+ msgstr "Liste des entrées pour un rapport de pré-mise à niveau spécifique"
103
+
89
104
  msgid "Low"
90
105
  msgstr "Faible"
91
106
 
@@ -107,12 +122,15 @@ msgstr "Non"
107
122
  msgid "No Preupgrade Report Available"
108
123
  msgstr "Aucun rapport de pré-mise à niveau disponible"
109
124
 
125
+ msgid "No fixable entries found matching the selection."
126
+ msgstr "Aucune entrée corrigible ne correspond à la sélection."
127
+
128
+ msgid "No results found for your search."
129
+ msgstr "Aucun résultat trouvé pour votre recherche."
130
+
110
131
  msgid "Preupgrade check with Leapp"
111
132
  msgstr "Contrôle pré-mise à niveau avec Leapp"
112
133
 
113
- msgid "Preupgrade job"
114
- msgstr ""
115
-
116
134
  msgid "Remediation plan"
117
135
  msgstr "Plan de remédiation"
118
136
 
@@ -128,6 +146,12 @@ msgstr "Exécuter le plan de remédiation avec Leapp"
128
146
  msgid "Run Upgrade"
129
147
  msgstr "Mettre à niveau"
130
148
 
149
+ msgid "Search autocomplete for preupgrade report entries"
150
+ msgstr "Saisie semi-automatique de la recherche pour les entrées du rapport de pré-mise à niveau"
151
+
152
+ msgid "Search string"
153
+ msgstr "Rechercher une chaîne"
154
+
131
155
  msgid "Show Preupgrade report"
132
156
  msgstr "Afficher le rapport de pré-mise à niveau"
133
157
 
@@ -152,6 +176,15 @@ msgstr "Ce problème empêche la mise à niveau."
152
176
  msgid "Title"
153
177
  msgstr "Titre"
154
178
 
179
+ msgid "Trigger a remediation job for selected preupgrade report entries"
180
+ msgstr "Déclencher une tâche de correction pour les entrées de rapport de pré-mise à niveau sélectionnées"
181
+
182
+ msgid "Unknown fix_type value '%s' for search_fix_type"
183
+ msgstr "Valeur fix_type inconnue '%s' pour le type de correction de recherche"
184
+
185
+ msgid "Unknown search key '%s' for search_yes_no_fields"
186
+ msgstr "Clé de recherche inconnue '%s' pour les champs de recherche oui/non"
187
+
155
188
  msgid "Upgrade with Leapp"
156
189
  msgstr "Mise à niveau avec Leapp"
157
190
 
Binary file
@@ -8,12 +8,12 @@
8
8
  # mhulan <mhulan@redhat.com>, 2022
9
9
  # Amit Upadhye <aupadhye@redhat.com>, 2022
10
10
  # Bryan Kearney <bryan.kearney@gmail.com>, 2023
11
- # Ewoud Kohl van Wijngaarden <ewoud+transifex@kohlvanwijngaarden.nl>, 2023
11
+ # Ewoud Kohl van Wijngaarden <ewoud+transifex@kohlvanwijngaarden.nl>, 2026
12
12
  # Ondřej Gajdušek, 2026
13
13
  #
14
14
  msgid ""
15
15
  msgstr ""
16
- "Project-Id-Version: foreman_leapp 3.2.0\n"
16
+ "Project-Id-Version: foreman_leapp 4.1.2\n"
17
17
  "Report-Msgid-Bugs-To: \n"
18
18
  "PO-Revision-Date: 2022-10-12 12:00+0000\n"
19
19
  "Last-Translator: Ondřej Gajdušek, 2026\n"
@@ -30,6 +30,12 @@ msgstr "Leapp ユーティリティーで RHEL のインプレースアップグ
30
30
  msgid "All"
31
31
  msgstr "すべて"
32
32
 
33
+ msgid "An unexpected error occurred while creating the remediation job."
34
+ msgstr "修復ジョブの作成中に予期せぬエラーが発生しました。"
35
+
36
+ msgid "Array of excluded entry IDs"
37
+ msgstr "除外されたエントリー ID の配列"
38
+
33
39
  msgid "Command"
34
40
  msgstr "コマンド"
35
41
 
@@ -63,6 +69,9 @@ msgstr "ヒント"
63
69
  msgid "Host"
64
70
  msgstr "ホスト"
65
71
 
72
+ msgid "ID of the preupgrade report"
73
+ msgstr "アップグレード前レポートの ID"
74
+
66
75
  msgid "Info"
67
76
  msgstr "情報"
68
77
 
@@ -84,6 +93,12 @@ msgstr "アップグレード前のレポートの一覧表示"
84
93
  msgid "List Preupgrade reports for Job invocation"
85
94
  msgstr "ジョブ呼び出しの事前アップグレードレポートの一覧表示"
86
95
 
96
+ msgid "List all preupgrade report entries"
97
+ msgstr "アップグレード前のレポートエントリーをすべてリスト表示する"
98
+
99
+ msgid "List entries for a specific preupgrade report"
100
+ msgstr "特定のアップグレード前レポートのエントリーをリスト表示する"
101
+
87
102
  msgid "Low"
88
103
  msgstr "低"
89
104
 
@@ -105,12 +120,15 @@ msgstr "いいえ"
105
120
  msgid "No Preupgrade Report Available"
106
121
  msgstr "アップグレード前のレポートはありません"
107
122
 
123
+ msgid "No fixable entries found matching the selection."
124
+ msgstr "選択に一致する修正可能なエントリーが見つかりませんでした。"
125
+
126
+ msgid "No results found for your search."
127
+ msgstr "検索結果が見つかりませんでした。"
128
+
108
129
  msgid "Preupgrade check with Leapp"
109
130
  msgstr "Leapp によるアップグレード前のチェック"
110
131
 
111
- msgid "Preupgrade job"
112
- msgstr ""
113
-
114
132
  msgid "Remediation plan"
115
133
  msgstr "修復プラン"
116
134
 
@@ -126,6 +144,12 @@ msgstr "Leapp を使用した修復計画の実行"
126
144
  msgid "Run Upgrade"
127
145
  msgstr "アップグレードの実行"
128
146
 
147
+ msgid "Search autocomplete for preupgrade report entries"
148
+ msgstr "アップグレード前レポートのエントリーを自動補完検索する"
149
+
150
+ msgid "Search string"
151
+ msgstr "検索文字列"
152
+
129
153
  msgid "Show Preupgrade report"
130
154
  msgstr "アップグレード前のレポートの表示"
131
155
 
@@ -150,6 +174,15 @@ msgstr "この問題が原因でアップグレードが行われません。"
150
174
  msgid "Title"
151
175
  msgstr "タイトル"
152
176
 
177
+ msgid "Trigger a remediation job for selected preupgrade report entries"
178
+ msgstr "選択したアップグレード前レポートのエントリーに対して修復ジョブをトリガーする"
179
+
180
+ msgid "Unknown fix_type value '%s' for search_fix_type"
181
+ msgstr "search_fix_type の不明な fix_type 値 '%s'"
182
+
183
+ msgid "Unknown search key '%s' for search_yes_no_fields"
184
+ msgstr "search_yes_no_fields の不明な検索キー '%s'"
185
+
153
186
  msgid "Upgrade with Leapp"
154
187
  msgstr "Leapp によるアップグレード"
155
188
 
Binary file
@@ -4,14 +4,14 @@
4
4
  # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
5
5
  #
6
6
  # Translators:
7
- # Temuri Doghonadze <temuri.doghonadze@gmail.com>, 2023
7
+ # Temuri Doghonadze <temuri.doghonadze@gmail.com>, 2026
8
8
  #
9
9
  msgid ""
10
10
  msgstr ""
11
- "Project-Id-Version: foreman_leapp 3.2.0\n"
11
+ "Project-Id-Version: foreman_leapp 4.1.2\n"
12
12
  "Report-Msgid-Bugs-To: \n"
13
13
  "PO-Revision-Date: 2022-10-12 12:00+0000\n"
14
- "Last-Translator: Temuri Doghonadze <temuri.doghonadze@gmail.com>, 2023\n"
14
+ "Last-Translator: Temuri Doghonadze <temuri.doghonadze@gmail.com>, 2026\n"
15
15
  "Language-Team: Georgian (https://app.transifex.com/foreman/teams/114/ka/)\n"
16
16
  "MIME-Version: 1.0\n"
17
17
  "Content-Type: text/plain; charset=UTF-8\n"
@@ -25,11 +25,17 @@ msgstr "Foreman-ის დამატება RHEL-ის Leapp-ით ად
25
25
  msgid "All"
26
26
  msgstr "ყველა"
27
27
 
28
+ msgid "An unexpected error occurred while creating the remediation job."
29
+ msgstr ""
30
+
31
+ msgid "Array of excluded entry IDs"
32
+ msgstr ""
33
+
28
34
  msgid "Command"
29
35
  msgstr "ბრძანება"
30
36
 
31
37
  msgid "Could not retrieve data: %(status)s - %(msg)s"
32
- msgstr ""
38
+ msgstr "მონაცემების მიღების შეცდომა: %(status)s - %(msg)s"
33
39
 
34
40
  msgid "Failed to fetch preupgrade reports from server."
35
41
  msgstr "სერვერიდან განახლებისწინა ანგარიშების გამოთხოვის შეცდომა."
@@ -58,6 +64,9 @@ msgstr "მინიშნება"
58
64
  msgid "Host"
59
65
  msgstr "ჰოსტი"
60
66
 
67
+ msgid "ID of the preupgrade report"
68
+ msgstr ""
69
+
61
70
  msgid "Info"
62
71
  msgstr "ინფორმაცია"
63
72
 
@@ -79,6 +88,12 @@ msgstr "განახლებისწინა ანგარიშებ
79
88
  msgid "List Preupgrade reports for Job invocation"
80
89
  msgstr "განახლებისწინა ანგარიშების სია დავალების ჩასაწოდებლად"
81
90
 
91
+ msgid "List all preupgrade report entries"
92
+ msgstr ""
93
+
94
+ msgid "List entries for a specific preupgrade report"
95
+ msgstr ""
96
+
82
97
  msgid "Low"
83
98
  msgstr "დაბალი"
84
99
 
@@ -100,12 +115,15 @@ msgstr "არა"
100
115
  msgid "No Preupgrade Report Available"
101
116
  msgstr "განახლებისწინა ანგარიში ხელმისაწვდომი არაა"
102
117
 
103
- msgid "Preupgrade check with Leapp"
104
- msgstr "განახლებისწინა შემოწმება Leapp-ით"
118
+ msgid "No fixable entries found matching the selection."
119
+ msgstr ""
105
120
 
106
- msgid "Preupgrade job"
121
+ msgid "No results found for your search."
107
122
  msgstr ""
108
123
 
124
+ msgid "Preupgrade check with Leapp"
125
+ msgstr "განახლებისწინა შემოწმება Leapp-ით"
126
+
109
127
  msgid "Remediation plan"
110
128
  msgstr "გაუქმების გეგმა"
111
129
 
@@ -121,6 +139,12 @@ msgstr "გაუქმების გეგმის Leapp-ით გაშვ
121
139
  msgid "Run Upgrade"
122
140
  msgstr "განახლების გაშვება"
123
141
 
142
+ msgid "Search autocomplete for preupgrade report entries"
143
+ msgstr ""
144
+
145
+ msgid "Search string"
146
+ msgstr "საძებნი სტრიქონი"
147
+
124
148
  msgid "Show Preupgrade report"
125
149
  msgstr "განახლებისწინა ანგარიშის ჩვენება"
126
150
 
@@ -134,7 +158,7 @@ msgid "The preupgrade report could not be generated, check the job details for t
134
158
  msgstr "განახლებამდელი ანგარიშის შექმნის შეცდომა. მიზეზისთვის იხილეთ დავალების დეტალები"
135
159
 
136
160
  msgid "The preupgrade report shows no issues."
137
- msgstr ""
161
+ msgstr "განახლებისწინა ანგარიშს პრობლემებს არ აჩვენებს."
138
162
 
139
163
  msgid "The preupgrade report will be available after the job finishes"
140
164
  msgstr "განახლებისწინა ანგარიში დავალების დასრულების შემდეგ იქნება ხელმისაწვდომი"
@@ -145,6 +169,15 @@ msgstr "ეს პრობლემა აჩერებს განახლ
145
169
  msgid "Title"
146
170
  msgstr "სათაური"
147
171
 
172
+ msgid "Trigger a remediation job for selected preupgrade report entries"
173
+ msgstr ""
174
+
175
+ msgid "Unknown fix_type value '%s' for search_fix_type"
176
+ msgstr ""
177
+
178
+ msgid "Unknown search key '%s' for search_yes_no_fields"
179
+ msgstr ""
180
+
148
181
  msgid "Upgrade with Leapp"
149
182
  msgstr "Leapp-ით განახლება"
150
183
 
Binary file
@@ -5,13 +5,13 @@
5
5
  #
6
6
  # Translators:
7
7
  # 0868a4d1af5275b3f70b0a6dac4c99a4, 2022
8
- # Bryan Kearney <bryan.kearney@gmail.com>, 2022
9
8
  # Ewoud Kohl van Wijngaarden <ewoud+transifex@kohlvanwijngaarden.nl>, 2025
9
+ # Bryan Kearney <bryan.kearney@gmail.com>, 2026
10
10
  # Ondřej Gajdušek, 2026
11
11
  #
12
12
  msgid ""
13
13
  msgstr ""
14
- "Project-Id-Version: foreman_leapp 3.2.0\n"
14
+ "Project-Id-Version: foreman_leapp 4.1.2\n"
15
15
  "Report-Msgid-Bugs-To: \n"
16
16
  "PO-Revision-Date: 2022-10-12 12:00+0000\n"
17
17
  "Last-Translator: Ondřej Gajdušek, 2026\n"
@@ -28,6 +28,12 @@ msgstr "Leapp 유틸리티를 사용하여 기존 RHEL 업그레이드를 지원
28
28
  msgid "All"
29
29
  msgstr "모두"
30
30
 
31
+ msgid "An unexpected error occurred while creating the remediation job."
32
+ msgstr "복구 작업을 생성하는 동안 예기치 않은 오류가 발생했습니다."
33
+
34
+ msgid "Array of excluded entry IDs"
35
+ msgstr "제외된 항목 ID 배열"
36
+
31
37
  msgid "Command"
32
38
  msgstr "명령어"
33
39
 
@@ -61,6 +67,9 @@ msgstr "힌트"
61
67
  msgid "Host"
62
68
  msgstr "호스트 "
63
69
 
70
+ msgid "ID of the preupgrade report"
71
+ msgstr "업그레이드 전 보고서의 ID"
72
+
64
73
  msgid "Info"
65
74
  msgstr "정보 "
66
75
 
@@ -82,6 +91,12 @@ msgstr "사전 업그레이드 보고서 목록"
82
91
  msgid "List Preupgrade reports for Job invocation"
83
92
  msgstr "작업 호출을 위한 사전 업그레이드 보고서 목록"
84
93
 
94
+ msgid "List all preupgrade report entries"
95
+ msgstr "모든 업그레이드 전 보고서 항목 나열"
96
+
97
+ msgid "List entries for a specific preupgrade report"
98
+ msgstr "특정 업그레이드 전 보고서의 항목 나열"
99
+
85
100
  msgid "Low"
86
101
  msgstr "낮음"
87
102
 
@@ -103,12 +118,15 @@ msgstr "아니오 "
103
118
  msgid "No Preupgrade Report Available"
104
119
  msgstr "사전 업그레이드 보고서가 없습니다"
105
120
 
121
+ msgid "No fixable entries found matching the selection."
122
+ msgstr "선택한 조건과 일치하는 수정 가능한 항목이 없습니다."
123
+
124
+ msgid "No results found for your search."
125
+ msgstr "검색 결과를 찾을 수 없습니다."
126
+
106
127
  msgid "Preupgrade check with Leapp"
107
128
  msgstr "Leapp으로 업그레이드 전 확인"
108
129
 
109
- msgid "Preupgrade job"
110
- msgstr ""
111
-
112
130
  msgid "Remediation plan"
113
131
  msgstr "수정 계획"
114
132
 
@@ -124,6 +142,12 @@ msgstr "Leapp으로 수정 계획 실행"
124
142
  msgid "Run Upgrade"
125
143
  msgstr "업그레이드 실행"
126
144
 
145
+ msgid "Search autocomplete for preupgrade report entries"
146
+ msgstr "업그레이드 전 보고서 항목 검색 자동 완성"
147
+
148
+ msgid "Search string"
149
+ msgstr "검색 문자열"
150
+
127
151
  msgid "Show Preupgrade report"
128
152
  msgstr "사전 업그레이드 보고서 표시"
129
153
 
@@ -148,6 +172,15 @@ msgstr "이 문제로 인해 업그레이드가 불가능합니다."
148
172
  msgid "Title"
149
173
  msgstr "제목"
150
174
 
175
+ msgid "Trigger a remediation job for selected preupgrade report entries"
176
+ msgstr "선택한 업그레이드 전 보고서 항목에 대한 복구 작업 시작"
177
+
178
+ msgid "Unknown fix_type value '%s' for search_fix_type"
179
+ msgstr "search_fix_type에 대한 알 수 없는 fix_type 값 '%s'"
180
+
181
+ msgid "Unknown search key '%s' for search_yes_no_fields"
182
+ msgstr "search_yes_no_fields에 대한 알 수 없는 검색 키 '%s'"
183
+
151
184
  msgid "Upgrade with Leapp"
152
185
  msgstr "Leapp으로 업그레이드"
153
186
 
@@ -5,13 +5,13 @@
5
5
  #
6
6
  # Translators:
7
7
  # Bryan Kearney <bryan.kearney@gmail.com>, 2022
8
- # Amit Upadhye <aupadhye@redhat.com>, 2023
9
8
  # Ewoud Kohl van Wijngaarden <ewoud+transifex@kohlvanwijngaarden.nl>, 2023
9
+ # Amit Upadhye <aupadhye@redhat.com>, 2026
10
10
  # Ondřej Gajdušek, 2026
11
11
  #
12
12
  msgid ""
13
13
  msgstr ""
14
- "Project-Id-Version: foreman_leapp 3.2.0\n"
14
+ "Project-Id-Version: foreman_leapp 4.1.2\n"
15
15
  "Report-Msgid-Bugs-To: \n"
16
16
  "PO-Revision-Date: 2022-10-12 12:00+0000\n"
17
17
  "Last-Translator: Ondřej Gajdušek, 2026\n"
@@ -29,6 +29,12 @@ msgstr "支持使用 Leapp 的 RHEL 原位升级的 Foreman 插件。"
29
29
  msgid "All"
30
30
  msgstr "全部"
31
31
 
32
+ msgid "An unexpected error occurred while creating the remediation job."
33
+ msgstr "创建补救作业时会出现意外错误。"
34
+
35
+ msgid "Array of excluded entry IDs"
36
+ msgstr "排除的条目 ID 数组"
37
+
32
38
  msgid "Command"
33
39
  msgstr "命令"
34
40
 
@@ -62,6 +68,9 @@ msgstr "提示"
62
68
  msgid "Host"
63
69
  msgstr "主机"
64
70
 
71
+ msgid "ID of the preupgrade report"
72
+ msgstr "预升级报告的 ID"
73
+
65
74
  msgid "Info"
66
75
  msgstr "Info"
67
76
 
@@ -83,6 +92,12 @@ msgstr "列出预升级报告"
83
92
  msgid "List Preupgrade reports for Job invocation"
84
93
  msgstr "列出作业调用的预升级报告"
85
94
 
95
+ msgid "List all preupgrade report entries"
96
+ msgstr "列出所有预升级报告条目"
97
+
98
+ msgid "List entries for a specific preupgrade report"
99
+ msgstr "列出特定预升级报告的条目"
100
+
86
101
  msgid "Low"
87
102
  msgstr "低"
88
103
 
@@ -104,12 +119,15 @@ msgstr "否"
104
119
  msgid "No Preupgrade Report Available"
105
120
  msgstr "没有可用的预升级报告"
106
121
 
122
+ msgid "No fixable entries found matching the selection."
123
+ msgstr "未找到与选择匹配的可修复条目。"
124
+
125
+ msgid "No results found for your search."
126
+ msgstr "没有找到您的搜索结果。"
127
+
107
128
  msgid "Preupgrade check with Leapp"
108
129
  msgstr "使用 Leapp 的预升级检查"
109
130
 
110
- msgid "Preupgrade job"
111
- msgstr ""
112
-
113
131
  msgid "Remediation plan"
114
132
  msgstr "补救计划"
115
133
 
@@ -125,6 +143,12 @@ msgstr "使用 Leapp 的运行补救计划"
125
143
  msgid "Run Upgrade"
126
144
  msgstr "运行升级"
127
145
 
146
+ msgid "Search autocomplete for preupgrade report entries"
147
+ msgstr "搜索自动补全预升级报告条目"
148
+
149
+ msgid "Search string"
150
+ msgstr "搜索字符串"
151
+
128
152
  msgid "Show Preupgrade report"
129
153
  msgstr "显示预升级报告"
130
154
 
@@ -149,6 +173,15 @@ msgstr "此问题会阻止升级。"
149
173
  msgid "Title"
150
174
  msgstr "提示"
151
175
 
176
+ msgid "Trigger a remediation job for selected preupgrade report entries"
177
+ msgstr "为所选预升级报告条目触发补救任务"
178
+
179
+ msgid "Unknown fix_type value '%s' for search_fix_type"
180
+ msgstr "search_fix_type 的未知的 fix_type 值 '%s'"
181
+
182
+ msgid "Unknown search key '%s' for search_yes_no_fields"
183
+ msgstr "search_yes_no_fields 的未知搜索键 '%s'"
184
+
152
185
  msgid "Upgrade with Leapp"
153
186
  msgstr "使用 Leapp 升级"
154
187
 
data/package.json CHANGED
@@ -33,7 +33,6 @@
33
33
  "@theforeman/vendor-dev": ">= 12.0.1",
34
34
  "babel-eslint": "^10.0.0",
35
35
  "eslint": "^6.8.0",
36
- "jest-svg-transformer": "^1.0.0",
37
36
  "prettier": "^1.19.1"
38
37
  }
39
38
  }
@@ -0,0 +1,39 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'test_plugin_helper'
4
+
5
+ module Api
6
+ module V2
7
+ class JobInvocationsControllerTest < ActionController::TestCase
8
+ tests Api::V2::JobInvocationsController
9
+
10
+ setup do
11
+ @template = FactoryBot.create(
12
+ :job_template,
13
+ template: 'echo 1',
14
+ job_category: 'Leapp',
15
+ provider_type: 'SSH',
16
+ name: 'Leapp remediation demo'
17
+ )
18
+ RemoteExecutionFeature.find_by(label: 'leapp_remediation_plan')
19
+ .update(job_template: @template)
20
+
21
+ @invocation = FactoryBot.create(:job_invocation, :with_template, :with_task)
22
+ @invocation.pattern_template_invocations.first.update!(template: @template)
23
+ @invocation.update!(job_category: @template.job_category)
24
+
25
+ @user = FactoryBot.create(:user, admin: false)
26
+ setup_user('view', 'job_invocations', nil, @user)
27
+ end
28
+
29
+ test 'show includes has_leapp_report from JobHelper' do
30
+ get :show, params: { id: @invocation.id, include_hosts: false },
31
+ session: set_session_user(@user)
32
+
33
+ assert_response :success
34
+ body = JSON.parse(@response.body)
35
+ assert body['has_leapp_report']
36
+ end
37
+ end
38
+ end
39
+ end
@@ -39,6 +39,24 @@ module Api
39
39
  assert_response :not_found
40
40
  end
41
41
 
42
+ test ':index scopes entries to job_invocation_id across multiple reports' do
43
+ host2 = FactoryBot.create(:host)
44
+ report2 = FactoryBot.create(:preupgrade_report, host: host2, job_invocation: @job_invocation)
45
+ entry2 = FactoryBot.create(:preupgrade_report_entry, host: host2, preupgrade_report: report2)
46
+
47
+ other_job = FactoryBot.create(:job_invocation)
48
+ other_report = FactoryBot.create(:preupgrade_report, host: @host, job_invocation: other_job)
49
+ FactoryBot.create(:preupgrade_report_entry, host: @host, preupgrade_report: other_report)
50
+
51
+ get :index, params: { job_invocation_id: @job_invocation.id }
52
+ assert_response :success
53
+
54
+ ids = JSON.parse(@response.body)['results'].map { |e| e['id'] }
55
+ assert_includes ids, @entry.id
56
+ assert_includes ids, entry2.id
57
+ assert_equal 2, ids.size
58
+ end
59
+
42
60
  test ':index does not return entries belonging to a different report' do
43
61
  other_report = FactoryBot.create(:preupgrade_report, host: @host,
44
62
  job_invocation: @job_invocation)
@@ -226,6 +244,19 @@ module Api
226
244
  assert_equal @dummy_job.id, json['id']
227
245
  end
228
246
 
247
+ test 'remediates only fixable entries when ids are given' do
248
+ JobInvocationComposer.expects(:for_feature)
249
+ .with('leapp_remediation_plan', [@host.id],
250
+ { 'remediation_ids' => @entry2.id.to_s })
251
+ .returns(@composer)
252
+
253
+ post :bulk_remediate, params: {
254
+ preupgrade_report_id: @report.id,
255
+ ids: [@entry2.id, @unfixable.id],
256
+ }
257
+ assert_response :success
258
+ end
259
+
229
260
  test 'respects the excluded_ids parameter' do
230
261
  expected_ids = [@entry1.id, @entry3.id].join(',')
231
262
 
@@ -240,6 +271,15 @@ module Api
240
271
  assert_response :success
241
272
  end
242
273
 
274
+ test 'requires report or job scope when not remediating by entry ids' do
275
+ JobInvocationComposer.expects(:for_feature).never
276
+
277
+ post :bulk_remediate
278
+ assert_response :unprocessable_entity
279
+ json = ActiveSupport::JSON.decode(response.body)
280
+ assert_match(/Either ids, preupgrade_report_id or job_invocation_id must be provided/, json['message'])
281
+ end
282
+
243
283
  test 'returns error if no fixable entries match' do
244
284
  JobInvocationComposer.expects(:for_feature).never
245
285
 
@@ -251,6 +291,30 @@ module Api
251
291
  json = ActiveSupport::JSON.decode(response.body)
252
292
  assert_equal 'No fixable entries found matching the selection.', json['error']
253
293
  end
294
+
295
+ test 'triggers job for fixable entries across all reports for a job invocation' do
296
+ job_invocation = FactoryBot.create(:job_invocation)
297
+ host2 = FactoryBot.create(:host)
298
+ report2 = FactoryBot.create(:preupgrade_report, host: host2, job_invocation: job_invocation)
299
+ @report.update!(job_invocation: job_invocation)
300
+
301
+ fixable_detail = { 'remediations' => [{ 'type' => 'command', 'context' => ['yum', 'update'] }] }
302
+ entry_host2 = FactoryBot.create(:preupgrade_report_entry,
303
+ preupgrade_report: report2, host: host2, detail: fixable_detail)
304
+
305
+ expected_entry_ids = [@entry1.id, @entry2.id, @entry3.id, entry_host2.id].sort
306
+
307
+ JobInvocationComposer.expects(:for_feature)
308
+ .with do |feature, host_ids, inputs|
309
+ feature == 'leapp_remediation_plan' &&
310
+ host_ids.sort == [@host.id, host2.id].sort &&
311
+ inputs['remediation_ids'].split(',').map(&:to_i).sort == expected_entry_ids
312
+ end
313
+ .returns(@composer)
314
+
315
+ post :bulk_remediate, params: { job_invocation_id: job_invocation.id }
316
+ assert_response :success
317
+ end
254
318
  end
255
319
  end
256
320
  # rubocop:enable Metrics/ClassLength