foreman_remote_execution 9.0.1 → 10.0.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/.github/workflows/release.yml +14 -0
- data/.tx/config +3 -1
- data/app/assets/javascripts/foreman_remote_execution/locale/de/foreman_remote_execution.js +1 -0
- data/app/assets/javascripts/foreman_remote_execution/locale/en/foreman_remote_execution.js +1 -0
- data/app/assets/javascripts/foreman_remote_execution/locale/en_GB/foreman_remote_execution.js +1 -0
- data/app/assets/javascripts/foreman_remote_execution/locale/es/foreman_remote_execution.js +1 -0
- data/app/assets/javascripts/foreman_remote_execution/locale/fr/foreman_remote_execution.js +1 -0
- data/app/assets/javascripts/foreman_remote_execution/locale/ja/foreman_remote_execution.js +1 -0
- data/app/assets/javascripts/foreman_remote_execution/locale/ko/foreman_remote_execution.js +1 -0
- data/app/assets/javascripts/foreman_remote_execution/locale/pt_BR/foreman_remote_execution.js +1 -0
- data/app/assets/javascripts/foreman_remote_execution/locale/ru/foreman_remote_execution.js +1 -0
- data/app/assets/javascripts/foreman_remote_execution/locale/zh_CN/foreman_remote_execution.js +1 -0
- data/app/assets/javascripts/foreman_remote_execution/locale/zh_TW/foreman_remote_execution.js +1 -0
- data/app/assets/javascripts/foreman_remote_execution/template_invocation.js +10 -1
- data/app/controllers/api/v2/job_invocations_controller.rb +1 -0
- data/app/controllers/job_invocations_controller.rb +30 -1
- data/app/controllers/ui_job_wizard_controller.rb +3 -1
- data/app/helpers/remote_execution_helper.rb +1 -1
- data/app/lib/actions/remote_execution/run_host_job.rb +1 -1
- data/app/lib/actions/remote_execution/run_hosts_job.rb +28 -2
- data/app/models/remote_execution_feature.rb +11 -8
- data/app/views/api/v2/job_invocations/base.json.rabl +1 -1
- data/app/views/job_invocations/_form.html.erb +1 -1
- data/app/views/job_invocations/show.html.erb +1 -1
- data/app/views/job_invocations/welcome.html.erb +1 -1
- data/app/views/templates/script/run_command.erb +1 -0
- data/config/routes.rb +2 -0
- data/db/migrate/20210816100932_rex_setting_category_to_dsl.rb +1 -1
- data/db/migrate/20220426145007_add_unique_feature_label_index.rb +14 -0
- data/lib/foreman_remote_execution/engine.rb +9 -9
- data/lib/foreman_remote_execution/tasks/explain_proxy_selection.rake +12 -3
- data/lib/foreman_remote_execution/version.rb +1 -1
- data/locale/Makefile +6 -3
- data/locale/action_names.rb +1 -1
- data/locale/de/LC_MESSAGES/foreman_remote_execution.mo +0 -0
- data/locale/de/foreman_remote_execution.po +67 -19
- data/locale/en/LC_MESSAGES/foreman_remote_execution.mo +0 -0
- data/locale/en/foreman_remote_execution.po +56 -8
- data/locale/en_GB/LC_MESSAGES/foreman_remote_execution.mo +0 -0
- data/locale/en_GB/foreman_remote_execution.po +58 -10
- data/locale/es/LC_MESSAGES/foreman_remote_execution.mo +0 -0
- data/locale/es/foreman_remote_execution.po +71 -23
- data/locale/foreman_remote_execution.pot +216 -141
- data/locale/fr/LC_MESSAGES/foreman_remote_execution.mo +0 -0
- data/locale/fr/foreman_remote_execution.po +104 -56
- data/locale/ja/LC_MESSAGES/foreman_remote_execution.mo +0 -0
- data/locale/ja/foreman_remote_execution.po +72 -24
- data/locale/ko/LC_MESSAGES/foreman_remote_execution.mo +0 -0
- data/locale/ko/foreman_remote_execution.po +63 -15
- data/locale/pt_BR/LC_MESSAGES/foreman_remote_execution.mo +0 -0
- data/locale/pt_BR/foreman_remote_execution.po +68 -20
- data/locale/ru/LC_MESSAGES/foreman_remote_execution.mo +0 -0
- data/locale/ru/foreman_remote_execution.po +63 -15
- data/locale/zh_CN/LC_MESSAGES/foreman_remote_execution.mo +0 -0
- data/locale/zh_CN/foreman_remote_execution.po +71 -23
- data/locale/zh_TW/LC_MESSAGES/foreman_remote_execution.mo +0 -0
- data/locale/zh_TW/foreman_remote_execution.po +63 -15
- data/package.json +6 -6
- data/webpack/JobWizard/Footer.js +104 -0
- data/webpack/JobWizard/JobWizard.js +105 -32
- data/webpack/JobWizard/JobWizard.scss +6 -17
- data/webpack/JobWizard/JobWizardConstants.js +1 -1
- data/webpack/JobWizard/JobWizardPageRerun.js +2 -0
- data/webpack/JobWizard/StartsBeforeErrorAlert.js +17 -0
- data/webpack/JobWizard/__tests__/__snapshots__/integration.test.js.snap +8 -0
- data/webpack/JobWizard/__tests__/fixtures.js +13 -1
- data/webpack/JobWizard/__tests__/integration.test.js +15 -0
- data/webpack/JobWizard/__tests__/validation.test.js +36 -0
- data/webpack/JobWizard/autofill.js +1 -0
- data/webpack/JobWizard/steps/AdvancedFields/__tests__/AdvancedFields.test.js +29 -10
- data/webpack/JobWizard/steps/AdvancedFields/__tests__/__snapshots__/AdvancedFields.test.js.snap +8 -0
- data/webpack/JobWizard/steps/HostsAndInputs/HostPreviewModal.js +5 -0
- data/webpack/JobWizard/steps/HostsAndInputs/SelectedChips.js +28 -14
- data/webpack/JobWizard/steps/HostsAndInputs/__tests__/HostsAndInputs.test.js +41 -4
- data/webpack/JobWizard/steps/HostsAndInputs/buildHostQuery.js +16 -10
- data/webpack/JobWizard/steps/HostsAndInputs/index.js +51 -3
- data/webpack/JobWizard/steps/ReviewDetails/ReviewDetails.test.js +117 -0
- data/webpack/JobWizard/steps/ReviewDetails/helpers.js +43 -0
- data/webpack/JobWizard/steps/ReviewDetails/index.js +169 -18
- data/webpack/JobWizard/steps/Schedule/QueryType.js +1 -1
- data/webpack/JobWizard/steps/Schedule/RepeatHour.js +0 -1
- data/webpack/JobWizard/steps/Schedule/RepeatWeek.js +1 -1
- data/webpack/JobWizard/steps/Schedule/__tests__/Schedule.test.js +52 -18
- data/webpack/JobWizard/steps/form/DateTimePicker.js +1 -2
- data/webpack/JobWizard/steps/form/GroupedSelectField.js +0 -1
- data/webpack/JobWizard/steps/form/SelectField.js +0 -1
- data/webpack/JobWizard/submit.js +14 -3
- data/webpack/react_app/components/RecentJobsCard/RecentJobsCard.js +4 -4
- data/webpack/react_app/components/RecentJobsCard/RecentJobsTable.js +2 -2
- data/webpack/react_app/components/RecentJobsCard/constants.js +2 -2
- data/webpack/react_app/components/RegistrationExtension/RexPull.js +0 -2
- metadata +23 -6
@@ -5,7 +5,7 @@
|
|
5
5
|
# Translators:
|
6
6
|
msgid ""
|
7
7
|
msgstr ""
|
8
|
-
"Project-Id-Version: foreman_remote_execution
|
8
|
+
"Project-Id-Version: foreman_remote_execution 9.0.1\n"
|
9
9
|
"Report-Msgid-Bugs-To: \n"
|
10
10
|
"PO-Revision-Date: 2016-02-15 13:54+0000\n"
|
11
11
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
@@ -26,6 +26,9 @@ msgstr "%s 前"
|
|
26
26
|
msgid "%s job has been invoked"
|
27
27
|
msgstr "%s 任务已被调用"
|
28
28
|
|
29
|
+
msgid "%s more"
|
30
|
+
msgstr ""
|
31
|
+
|
29
32
|
msgid "%{description} on %{host}"
|
30
33
|
msgstr "%{host} 的 %{description}"
|
31
34
|
|
@@ -35,9 +38,6 @@ msgstr ""
|
|
35
38
|
msgid "'Starts before' date must in the future"
|
36
39
|
msgstr ""
|
37
40
|
|
38
|
-
msgid ", and %s more"
|
39
|
-
msgstr ", 和 %s 个更多"
|
40
|
-
|
41
41
|
msgid "...and %s more"
|
42
42
|
msgstr "...和 %s 个更多"
|
43
43
|
|
@@ -84,6 +84,9 @@ msgstr "有子计划的操作"
|
|
84
84
|
msgid "Actions"
|
85
85
|
msgstr "操作"
|
86
86
|
|
87
|
+
msgid "Active Filters:"
|
88
|
+
msgstr ""
|
89
|
+
|
87
90
|
msgid "Add Foreign Input Set"
|
88
91
|
msgstr "添加外部输入集"
|
89
92
|
|
@@ -93,6 +96,9 @@ msgstr "高级项"
|
|
93
96
|
msgid "After"
|
94
97
|
msgstr ""
|
95
98
|
|
99
|
+
msgid "After %s occurences"
|
100
|
+
msgstr ""
|
101
|
+
|
96
102
|
msgid "All fields are required."
|
97
103
|
msgstr "各个项都需要。"
|
98
104
|
|
@@ -150,8 +156,8 @@ msgstr "无法同时指定 bookmark_id 和 search_query"
|
|
150
156
|
msgid "Categories list failed with:"
|
151
157
|
msgstr "类别列表失败并带有:"
|
152
158
|
|
153
|
-
msgid "Category and
|
154
|
-
msgstr "
|
159
|
+
msgid "Category and template"
|
160
|
+
msgstr ""
|
155
161
|
|
156
162
|
msgid "Choose a job template that is pre-selected in job invocation form"
|
157
163
|
msgstr "选择在作业调用表单中预先选择的作业模板"
|
@@ -162,8 +168,8 @@ msgstr "在外部输入设置中发现了循环的依赖关系 '%{template}' ->
|
|
162
168
|
msgid "Cleanup working directories"
|
163
169
|
msgstr "清理工作目录"
|
164
170
|
|
165
|
-
msgid "Clear filters"
|
166
|
-
msgstr "
|
171
|
+
msgid "Clear all filters"
|
172
|
+
msgstr ""
|
167
173
|
|
168
174
|
msgid "Clear input"
|
169
175
|
msgstr ""
|
@@ -208,7 +214,7 @@ msgid "Could not use any template used in the job invocation"
|
|
208
214
|
msgstr "无法使用作业调用中使用的任何模板"
|
209
215
|
|
210
216
|
msgid "Create"
|
211
|
-
msgstr ""
|
217
|
+
msgstr "创建"
|
212
218
|
|
213
219
|
msgid "Create Report"
|
214
220
|
msgstr "创建报告"
|
@@ -328,7 +334,7 @@ msgid "Edit job description template"
|
|
328
334
|
msgstr "编辑作业描述模板"
|
329
335
|
|
330
336
|
msgid "Effective User"
|
331
|
-
msgstr ""
|
337
|
+
msgstr "有效用户"
|
332
338
|
|
333
339
|
msgid "Effective User Method"
|
334
340
|
msgstr "有效用户方法"
|
@@ -372,6 +378,18 @@ msgstr "错误:"
|
|
372
378
|
msgid "Evaluated at:"
|
373
379
|
msgstr "评估于:"
|
374
380
|
|
381
|
+
msgid "Every day at %s"
|
382
|
+
msgstr ""
|
383
|
+
|
384
|
+
msgid "Every hour at minute %s"
|
385
|
+
msgstr ""
|
386
|
+
|
387
|
+
msgid "Every month on %s at %s"
|
388
|
+
msgstr ""
|
389
|
+
|
390
|
+
msgid "Every week on %s at %s"
|
391
|
+
msgstr ""
|
392
|
+
|
375
393
|
msgid "Execute the job later, at a scheduled time."
|
376
394
|
msgstr ""
|
377
395
|
|
@@ -520,7 +538,7 @@ msgid "Indicates that the action should be cancelled if it cannot be started bef
|
|
520
538
|
msgstr "这代表,如果操作无法在这个时间前开始则操作应该被取消。"
|
521
539
|
|
522
540
|
msgid "Inherit from host parameter"
|
523
|
-
msgstr ""
|
541
|
+
msgstr "从主机参数继承"
|
524
542
|
|
525
543
|
msgid "Input"
|
526
544
|
msgstr "输入"
|
@@ -685,13 +703,13 @@ msgid "Name"
|
|
685
703
|
msgstr "名称"
|
686
704
|
|
687
705
|
msgid "Never"
|
688
|
-
msgstr ""
|
706
|
+
msgstr "决不"
|
689
707
|
|
690
708
|
msgid "New Job Template"
|
691
709
|
msgstr "新作业模板"
|
692
710
|
|
693
711
|
msgid "No (override)"
|
694
|
-
msgstr ""
|
712
|
+
msgstr "否(覆盖)"
|
695
713
|
|
696
714
|
msgid "No Target Hosts"
|
697
715
|
msgstr "没有目标主机"
|
@@ -718,7 +736,7 @@ msgid "Now"
|
|
718
736
|
msgstr ""
|
719
737
|
|
720
738
|
msgid "On"
|
721
|
-
msgstr ""
|
739
|
+
msgstr "上"
|
722
740
|
|
723
741
|
msgid "Only one of feature or job_template_id can be specified"
|
724
742
|
msgstr "只能指定一个功能或 job_template_id"
|
@@ -732,6 +750,9 @@ msgstr "机构"
|
|
732
750
|
msgid "Override the description format from the template for this invocation only"
|
733
751
|
msgstr "只为此调用覆盖来自模板的描述格式"
|
734
752
|
|
753
|
+
msgid "Override the global time to pickup interval for this invocation only"
|
754
|
+
msgstr ""
|
755
|
+
|
735
756
|
msgid "Override the timeout interval from the template for this invocation only"
|
736
757
|
msgstr "只为此调用使用该模板覆盖超时间隔"
|
737
758
|
|
@@ -759,9 +780,24 @@ msgstr "执行一个单独 Puppet 运行"
|
|
759
780
|
msgid "Perform no more executions after this time"
|
760
781
|
msgstr "在此时间后不再执行"
|
761
782
|
|
783
|
+
msgid "Please enter a search query"
|
784
|
+
msgstr ""
|
785
|
+
|
786
|
+
msgid "Please go back to \\\"Schedule\\\" - \\\"Future execution\\\" step to fix the error"
|
787
|
+
msgstr ""
|
788
|
+
|
762
789
|
msgid "Please refine your search."
|
763
790
|
msgstr "请重新调整您的搜索。"
|
764
791
|
|
792
|
+
msgid "Please select at least one host"
|
793
|
+
msgstr ""
|
794
|
+
|
795
|
+
msgid "Please select at least one host collection"
|
796
|
+
msgstr ""
|
797
|
+
|
798
|
+
msgid "Please select at least one host group"
|
799
|
+
msgstr ""
|
800
|
+
|
765
801
|
msgid "Port to use for SSH communication. Default port 22. You may override per host by setting a parameter called remote_execution_ssh_port."
|
766
802
|
msgstr "要用于 SSH 通信的端口。默认端口 22。您可以通过设置名为 remote_execution_ssh_port 的参数来按主机进行覆盖。"
|
767
803
|
|
@@ -862,7 +898,7 @@ msgid "Repeat amount can only be a positive number"
|
|
862
898
|
msgstr "重复数量只能是一个正数"
|
863
899
|
|
864
900
|
msgid "Repeats"
|
865
|
-
msgstr ""
|
901
|
+
msgstr "重复"
|
866
902
|
|
867
903
|
msgid "Rerun"
|
868
904
|
msgstr "重新运行"
|
@@ -883,7 +919,7 @@ msgid "Rerun the job"
|
|
883
919
|
msgstr "重新运行作业"
|
884
920
|
|
885
921
|
msgid "Reset to default"
|
886
|
-
msgstr ""
|
922
|
+
msgstr "重置为默认"
|
887
923
|
|
888
924
|
msgid "Resolves to"
|
889
925
|
msgstr "解析到"
|
@@ -903,6 +939,12 @@ msgstr "运行作业"
|
|
903
939
|
msgid "Run Puppet Once"
|
904
940
|
msgstr "运行 Puppet 一次"
|
905
941
|
|
942
|
+
msgid "Run Script"
|
943
|
+
msgstr ""
|
944
|
+
|
945
|
+
msgid "Run a script"
|
946
|
+
msgstr ""
|
947
|
+
|
906
948
|
msgid "Run at most N tasks at a time"
|
907
949
|
msgstr "一次最多运行 N 个任务"
|
908
950
|
|
@@ -1051,6 +1093,9 @@ msgid "Started"
|
|
1051
1093
|
msgstr "已启动"
|
1052
1094
|
|
1053
1095
|
msgid "Starts"
|
1096
|
+
msgstr "开始"
|
1097
|
+
|
1098
|
+
msgid "Starts Before"
|
1054
1099
|
msgstr ""
|
1055
1100
|
|
1056
1101
|
msgid "Starts at"
|
@@ -1234,8 +1279,8 @@ msgstr "类型"
|
|
1234
1279
|
msgid "Type has impact on when is the query evaluated to hosts."
|
1235
1280
|
msgstr "类型会影响到什么时候会评估到主机。"
|
1236
1281
|
|
1237
|
-
msgid "Type has impact on when is the query evaluated to hosts.<br><ul><li><b>Static</b> - evaluates just after you submit this form</li><li><b>Dynamic</b> - evaluates just before the execution is started, so if it's
|
1238
|
-
msgstr "
|
1282
|
+
msgid "Type has impact on when is the query evaluated to hosts.<br><ul><li><b>Static</b> - evaluates just after you submit this form</li><li><b>Dynamic</b> - evaluates just before the execution is started, so if it's planned in future, targeted hosts set may change before it</li></ul>"
|
1283
|
+
msgstr ""
|
1239
1284
|
|
1240
1285
|
msgid "Type of execution"
|
1241
1286
|
msgstr ""
|
@@ -1361,7 +1406,7 @@ msgid "Workers pool size"
|
|
1361
1406
|
msgstr "工作节点池的大小"
|
1362
1407
|
|
1363
1408
|
msgid "Yes (override)"
|
1364
|
-
msgstr ""
|
1409
|
+
msgstr "是(覆盖)"
|
1365
1410
|
|
1366
1411
|
msgid "You are not allowed to see the currently assigned template. Saving the form now would unassign the template."
|
1367
1412
|
msgstr "您没有权限查看当前分配的模板。现在保存表单将取消分配模板。"
|
@@ -1390,8 +1435,8 @@ msgstr "呈现时出错:%s"
|
|
1390
1435
|
msgid "evaluates just after you submit this form"
|
1391
1436
|
msgstr "提交此表单后评估"
|
1392
1437
|
|
1393
|
-
msgid "evaluates just before the execution is started, so if it's
|
1394
|
-
msgstr "
|
1438
|
+
msgid "evaluates just before the execution is started, so if it's planned in future, targeted hosts set may change before it"
|
1439
|
+
msgstr ""
|
1395
1440
|
|
1396
1441
|
msgid "failed"
|
1397
1442
|
msgstr "失败"
|
@@ -1430,7 +1475,7 @@ msgid "is month (range: 1-12)"
|
|
1430
1475
|
msgstr "月份(范围:1-12)"
|
1431
1476
|
|
1432
1477
|
msgid "no"
|
1433
|
-
msgstr ""
|
1478
|
+
msgstr "否"
|
1434
1479
|
|
1435
1480
|
msgid "occurences"
|
1436
1481
|
msgstr ""
|
@@ -1474,5 +1519,8 @@ msgstr "使用 "
|
|
1474
1519
|
msgid "using Smart Proxy"
|
1475
1520
|
msgstr "使用智能代理"
|
1476
1521
|
|
1477
|
-
msgid "
|
1522
|
+
msgid "view host names"
|
1478
1523
|
msgstr ""
|
1524
|
+
|
1525
|
+
msgid "yes"
|
1526
|
+
msgstr "是"
|
Binary file
|
@@ -5,7 +5,7 @@
|
|
5
5
|
# Translators:
|
6
6
|
msgid ""
|
7
7
|
msgstr ""
|
8
|
-
"Project-Id-Version: foreman_remote_execution
|
8
|
+
"Project-Id-Version: foreman_remote_execution 9.0.1\n"
|
9
9
|
"Report-Msgid-Bugs-To: \n"
|
10
10
|
"PO-Revision-Date: 2016-02-15 13:54+0000\n"
|
11
11
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
@@ -26,6 +26,9 @@ msgstr "%s 之前"
|
|
26
26
|
msgid "%s job has been invoked"
|
27
27
|
msgstr ""
|
28
28
|
|
29
|
+
msgid "%s more"
|
30
|
+
msgstr ""
|
31
|
+
|
29
32
|
msgid "%{description} on %{host}"
|
30
33
|
msgstr "%{description} 於 %{host} 之上"
|
31
34
|
|
@@ -35,9 +38,6 @@ msgstr ""
|
|
35
38
|
msgid "'Starts before' date must in the future"
|
36
39
|
msgstr ""
|
37
40
|
|
38
|
-
msgid ", and %s more"
|
39
|
-
msgstr ""
|
40
|
-
|
41
41
|
msgid "...and %s more"
|
42
42
|
msgstr ""
|
43
43
|
|
@@ -85,6 +85,9 @@ msgstr "有子計畫的動作"
|
|
85
85
|
msgid "Actions"
|
86
86
|
msgstr "動作"
|
87
87
|
|
88
|
+
msgid "Active Filters:"
|
89
|
+
msgstr ""
|
90
|
+
|
88
91
|
msgid "Add Foreign Input Set"
|
89
92
|
msgstr "新增外部輸入集"
|
90
93
|
|
@@ -94,6 +97,9 @@ msgstr ""
|
|
94
97
|
msgid "After"
|
95
98
|
msgstr ""
|
96
99
|
|
100
|
+
msgid "After %s occurences"
|
101
|
+
msgstr ""
|
102
|
+
|
97
103
|
msgid "All fields are required."
|
98
104
|
msgstr ""
|
99
105
|
|
@@ -151,7 +157,7 @@ msgstr "無法指定 bookmark_id 和 search_query"
|
|
151
157
|
msgid "Categories list failed with:"
|
152
158
|
msgstr ""
|
153
159
|
|
154
|
-
msgid "Category and
|
160
|
+
msgid "Category and template"
|
155
161
|
msgstr ""
|
156
162
|
|
157
163
|
msgid "Choose a job template that is pre-selected in job invocation form"
|
@@ -163,7 +169,7 @@ msgstr "在外部輸入集偵測到環狀相依性: '%{template}' -> '%{target
|
|
163
169
|
msgid "Cleanup working directories"
|
164
170
|
msgstr ""
|
165
171
|
|
166
|
-
msgid "Clear filters"
|
172
|
+
msgid "Clear all filters"
|
167
173
|
msgstr ""
|
168
174
|
|
169
175
|
msgid "Clear input"
|
@@ -209,7 +215,7 @@ msgid "Could not use any template used in the job invocation"
|
|
209
215
|
msgstr "無法使用任何用於這工作祈願的範本"
|
210
216
|
|
211
217
|
msgid "Create"
|
212
|
-
msgstr ""
|
218
|
+
msgstr "建立"
|
213
219
|
|
214
220
|
msgid "Create Report"
|
215
221
|
msgstr ""
|
@@ -373,6 +379,18 @@ msgstr ""
|
|
373
379
|
msgid "Evaluated at:"
|
374
380
|
msgstr "評量於:"
|
375
381
|
|
382
|
+
msgid "Every day at %s"
|
383
|
+
msgstr ""
|
384
|
+
|
385
|
+
msgid "Every hour at minute %s"
|
386
|
+
msgstr ""
|
387
|
+
|
388
|
+
msgid "Every month on %s at %s"
|
389
|
+
msgstr ""
|
390
|
+
|
391
|
+
msgid "Every week on %s at %s"
|
392
|
+
msgstr ""
|
393
|
+
|
376
394
|
msgid "Execute the job later, at a scheduled time."
|
377
395
|
msgstr ""
|
378
396
|
|
@@ -686,7 +704,7 @@ msgid "Name"
|
|
686
704
|
msgstr "名稱"
|
687
705
|
|
688
706
|
msgid "Never"
|
689
|
-
msgstr ""
|
707
|
+
msgstr "永不"
|
690
708
|
|
691
709
|
msgid "New Job Template"
|
692
710
|
msgstr "新工作範本"
|
@@ -719,7 +737,7 @@ msgid "Now"
|
|
719
737
|
msgstr ""
|
720
738
|
|
721
739
|
msgid "On"
|
722
|
-
msgstr ""
|
740
|
+
msgstr "開啟"
|
723
741
|
|
724
742
|
msgid "Only one of feature or job_template_id can be specified"
|
725
743
|
msgstr ""
|
@@ -733,6 +751,9 @@ msgstr "組織"
|
|
733
751
|
msgid "Override the description format from the template for this invocation only"
|
734
752
|
msgstr "僅為這祈願從範本覆寫描述格式"
|
735
753
|
|
754
|
+
msgid "Override the global time to pickup interval for this invocation only"
|
755
|
+
msgstr ""
|
756
|
+
|
736
757
|
msgid "Override the timeout interval from the template for this invocation only"
|
737
758
|
msgstr ""
|
738
759
|
|
@@ -760,9 +781,24 @@ msgstr ""
|
|
760
781
|
msgid "Perform no more executions after this time"
|
761
782
|
msgstr "此時間之後不再進行任何執行"
|
762
783
|
|
784
|
+
msgid "Please enter a search query"
|
785
|
+
msgstr ""
|
786
|
+
|
787
|
+
msgid "Please go back to \\\"Schedule\\\" - \\\"Future execution\\\" step to fix the error"
|
788
|
+
msgstr ""
|
789
|
+
|
763
790
|
msgid "Please refine your search."
|
764
791
|
msgstr ""
|
765
792
|
|
793
|
+
msgid "Please select at least one host"
|
794
|
+
msgstr ""
|
795
|
+
|
796
|
+
msgid "Please select at least one host collection"
|
797
|
+
msgstr ""
|
798
|
+
|
799
|
+
msgid "Please select at least one host group"
|
800
|
+
msgstr ""
|
801
|
+
|
766
802
|
msgid "Port to use for SSH communication. Default port 22. You may override per host by setting a parameter called remote_execution_ssh_port."
|
767
803
|
msgstr ""
|
768
804
|
|
@@ -863,7 +899,7 @@ msgid "Repeat amount can only be a positive number"
|
|
863
899
|
msgstr ""
|
864
900
|
|
865
901
|
msgid "Repeats"
|
866
|
-
msgstr ""
|
902
|
+
msgstr "重複"
|
867
903
|
|
868
904
|
msgid "Rerun"
|
869
905
|
msgstr "重新執行"
|
@@ -884,7 +920,7 @@ msgid "Rerun the job"
|
|
884
920
|
msgstr "重新執行工作"
|
885
921
|
|
886
922
|
msgid "Reset to default"
|
887
|
-
msgstr ""
|
923
|
+
msgstr "重設為預設值"
|
888
924
|
|
889
925
|
msgid "Resolves to"
|
890
926
|
msgstr "解析至"
|
@@ -904,6 +940,12 @@ msgstr "執行工作"
|
|
904
940
|
msgid "Run Puppet Once"
|
905
941
|
msgstr ""
|
906
942
|
|
943
|
+
msgid "Run Script"
|
944
|
+
msgstr ""
|
945
|
+
|
946
|
+
msgid "Run a script"
|
947
|
+
msgstr ""
|
948
|
+
|
907
949
|
msgid "Run at most N tasks at a time"
|
908
950
|
msgstr "一次最多執行 N 個任務"
|
909
951
|
|
@@ -1052,6 +1094,9 @@ msgid "Started"
|
|
1052
1094
|
msgstr ""
|
1053
1095
|
|
1054
1096
|
msgid "Starts"
|
1097
|
+
msgstr "起始"
|
1098
|
+
|
1099
|
+
msgid "Starts Before"
|
1055
1100
|
msgstr ""
|
1056
1101
|
|
1057
1102
|
msgid "Starts at"
|
@@ -1236,7 +1281,7 @@ msgstr "類型"
|
|
1236
1281
|
msgid "Type has impact on when is the query evaluated to hosts."
|
1237
1282
|
msgstr ""
|
1238
1283
|
|
1239
|
-
msgid "Type has impact on when is the query evaluated to hosts.<br><ul><li><b>Static</b> - evaluates just after you submit this form</li><li><b>Dynamic</b> - evaluates just before the execution is started, so if it's
|
1284
|
+
msgid "Type has impact on when is the query evaluated to hosts.<br><ul><li><b>Static</b> - evaluates just after you submit this form</li><li><b>Dynamic</b> - evaluates just before the execution is started, so if it's planned in future, targeted hosts set may change before it</li></ul>"
|
1240
1285
|
msgstr ""
|
1241
1286
|
|
1242
1287
|
msgid "Type of execution"
|
@@ -1392,7 +1437,7 @@ msgstr "處理時發生錯誤:%s"
|
|
1392
1437
|
msgid "evaluates just after you submit this form"
|
1393
1438
|
msgstr ""
|
1394
1439
|
|
1395
|
-
msgid "evaluates just before the execution is started, so if it's
|
1440
|
+
msgid "evaluates just before the execution is started, so if it's planned in future, targeted hosts set may change before it"
|
1396
1441
|
msgstr ""
|
1397
1442
|
|
1398
1443
|
msgid "failed"
|
@@ -1432,7 +1477,7 @@ msgid "is month (range: 1-12)"
|
|
1432
1477
|
msgstr "是月份(範圍:1-12)"
|
1433
1478
|
|
1434
1479
|
msgid "no"
|
1435
|
-
msgstr ""
|
1480
|
+
msgstr "否"
|
1436
1481
|
|
1437
1482
|
msgid "occurences"
|
1438
1483
|
msgstr ""
|
@@ -1476,5 +1521,8 @@ msgstr ""
|
|
1476
1521
|
msgid "using Smart Proxy"
|
1477
1522
|
msgstr ""
|
1478
1523
|
|
1479
|
-
msgid "
|
1524
|
+
msgid "view host names"
|
1480
1525
|
msgstr ""
|
1526
|
+
|
1527
|
+
msgid "yes"
|
1528
|
+
msgstr "是"
|
data/package.json
CHANGED
@@ -21,11 +21,11 @@
|
|
21
21
|
},
|
22
22
|
"devDependencies": {
|
23
23
|
"@babel/core": "^7.7.0",
|
24
|
-
"@theforeman/builder": "^
|
25
|
-
"@theforeman/eslint-plugin-foreman": "^
|
26
|
-
"@theforeman/stories": "^
|
27
|
-
"@theforeman/test": "^
|
28
|
-
"@theforeman/vendor-dev": "^
|
24
|
+
"@theforeman/builder": "^12.0.1",
|
25
|
+
"@theforeman/eslint-plugin-foreman": "^12.0.1",
|
26
|
+
"@theforeman/stories": "^12.0.1",
|
27
|
+
"@theforeman/test": "^12.0.1",
|
28
|
+
"@theforeman/vendor-dev": "^12.0.1",
|
29
29
|
"babel-eslint": "^10.0.0",
|
30
30
|
"eslint": "^6.8.0",
|
31
31
|
"prettier": "^1.19.1",
|
@@ -34,6 +34,6 @@
|
|
34
34
|
"graphql": "^15.5.0"
|
35
35
|
},
|
36
36
|
"peerDependencies": {
|
37
|
-
"@theforeman/vendor": "^
|
37
|
+
"@theforeman/vendor": "^12.0.1"
|
38
38
|
}
|
39
39
|
}
|
@@ -0,0 +1,104 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import { useSelector } from 'react-redux';
|
3
|
+
import PropTypes from 'prop-types';
|
4
|
+
import {
|
5
|
+
Button,
|
6
|
+
WizardFooter,
|
7
|
+
WizardContextConsumer,
|
8
|
+
Tooltip,
|
9
|
+
Spinner,
|
10
|
+
} from '@patternfly/react-core';
|
11
|
+
import { translate as __ } from 'foremanReact/common/I18n';
|
12
|
+
import { WIZARD_TITLES } from './JobWizardConstants';
|
13
|
+
import { selectIsSubmitting } from './JobWizardSelectors';
|
14
|
+
|
15
|
+
export const Footer = ({ canSubmit, onSave }) => {
|
16
|
+
const isSubmitting = useSelector(selectIsSubmitting);
|
17
|
+
return (
|
18
|
+
<WizardFooter>
|
19
|
+
<WizardContextConsumer>
|
20
|
+
{({ activeStep, onNext, onBack, onClose, goToStepByName }) => {
|
21
|
+
const isValid =
|
22
|
+
activeStep && activeStep.enableNext !== undefined
|
23
|
+
? activeStep.enableNext
|
24
|
+
: true;
|
25
|
+
|
26
|
+
return (
|
27
|
+
<>
|
28
|
+
<Button
|
29
|
+
variant="primary"
|
30
|
+
type="submit"
|
31
|
+
onClick={onNext}
|
32
|
+
isDisabled={!isValid || isSubmitting}
|
33
|
+
>
|
34
|
+
{activeStep.name === WIZARD_TITLES.review
|
35
|
+
? __('Submit')
|
36
|
+
: __('Next')}
|
37
|
+
</Button>
|
38
|
+
<Button
|
39
|
+
variant="secondary"
|
40
|
+
onClick={onBack}
|
41
|
+
isDisabled={
|
42
|
+
activeStep.name === WIZARD_TITLES.categoryAndTemplate
|
43
|
+
}
|
44
|
+
>
|
45
|
+
{__('Back')}
|
46
|
+
</Button>
|
47
|
+
<Tooltip
|
48
|
+
content={
|
49
|
+
<div>
|
50
|
+
{canSubmit
|
51
|
+
? __('Start job')
|
52
|
+
: __('Fill all required fields in all the steps')}
|
53
|
+
</div>
|
54
|
+
}
|
55
|
+
>
|
56
|
+
<Button
|
57
|
+
variant="tertiary"
|
58
|
+
onClick={onSave}
|
59
|
+
isAriaDisabled={!canSubmit}
|
60
|
+
isDisabled={isSubmitting}
|
61
|
+
>
|
62
|
+
{__('Run on selected hosts')}
|
63
|
+
</Button>
|
64
|
+
</Tooltip>
|
65
|
+
<Tooltip
|
66
|
+
content={
|
67
|
+
<div>
|
68
|
+
{canSubmit
|
69
|
+
? __('Skip to review step')
|
70
|
+
: __(
|
71
|
+
'Fill all required fields in all the steps to start the job'
|
72
|
+
)}
|
73
|
+
</div>
|
74
|
+
}
|
75
|
+
>
|
76
|
+
<Button
|
77
|
+
variant="tertiary"
|
78
|
+
onClick={() => goToStepByName(WIZARD_TITLES.review)}
|
79
|
+
isAriaDisabled={!canSubmit}
|
80
|
+
isDisabled={isSubmitting}
|
81
|
+
>
|
82
|
+
{__('Skip to review')}
|
83
|
+
</Button>
|
84
|
+
</Tooltip>
|
85
|
+
<Button variant="link" onClick={onClose}>
|
86
|
+
{__('Cancel')}
|
87
|
+
</Button>
|
88
|
+
{isSubmitting && (
|
89
|
+
<div>
|
90
|
+
<Spinner size="lg" />
|
91
|
+
</div>
|
92
|
+
)}
|
93
|
+
</>
|
94
|
+
);
|
95
|
+
}}
|
96
|
+
</WizardContextConsumer>
|
97
|
+
</WizardFooter>
|
98
|
+
);
|
99
|
+
};
|
100
|
+
|
101
|
+
Footer.propTypes = {
|
102
|
+
canSubmit: PropTypes.bool.isRequired,
|
103
|
+
onSave: PropTypes.func.isRequired,
|
104
|
+
};
|