foreman_remote_execution 9.0.1 → 10.0.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
+
};
|