foreman_templates 10.0.1 → 10.0.3
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_templates/locale/cs_CZ/foreman_templates.js +34 -4
- data/app/assets/javascripts/foreman_templates/locale/de/foreman_templates.js +34 -4
- data/app/assets/javascripts/foreman_templates/locale/en_GB/foreman_templates.js +34 -4
- data/app/assets/javascripts/foreman_templates/locale/es/foreman_templates.js +34 -4
- data/app/assets/javascripts/foreman_templates/locale/fr/foreman_templates.js +34 -4
- data/app/assets/javascripts/foreman_templates/locale/gl/foreman_templates.js +34 -4
- data/app/assets/javascripts/foreman_templates/locale/it/foreman_templates.js +34 -4
- data/app/assets/javascripts/foreman_templates/locale/ja/foreman_templates.js +34 -4
- data/app/assets/javascripts/foreman_templates/locale/ka/foreman_templates.js +34 -4
- data/app/assets/javascripts/foreman_templates/locale/ko/foreman_templates.js +79 -49
- data/app/assets/javascripts/foreman_templates/locale/pt_BR/foreman_templates.js +34 -4
- data/app/assets/javascripts/foreman_templates/locale/ru/foreman_templates.js +34 -4
- data/app/assets/javascripts/foreman_templates/locale/sv_SE/foreman_templates.js +34 -4
- data/app/assets/javascripts/foreman_templates/locale/zh_CN/foreman_templates.js +34 -4
- data/app/assets/javascripts/foreman_templates/locale/zh_TW/foreman_templates.js +34 -4
- data/app/controllers/api/v2/template_controller.rb +3 -1
- data/app/controllers/concerns/foreman/controller/parameters/template_params.rb +1 -1
- data/app/controllers/ui_template_syncs_controller.rb +21 -1
- data/app/services/foreman_templates/action.rb +32 -1
- data/app/services/foreman_templates/parse_result.rb +10 -4
- data/app/services/foreman_templates/template_exporter.rb +2 -2
- data/app/services/foreman_templates/template_importer.rb +3 -3
- data/lib/foreman_templates/engine.rb +6 -0
- data/lib/foreman_templates/version.rb +1 -1
- data/lib/foreman_templates.rb +4 -0
- data/locale/cs_CZ/LC_MESSAGES/foreman_templates.mo +0 -0
- data/locale/cs_CZ/foreman_templates.po +34 -4
- data/locale/de/LC_MESSAGES/foreman_templates.mo +0 -0
- data/locale/de/foreman_templates.po +34 -4
- data/locale/en_GB/LC_MESSAGES/foreman_templates.mo +0 -0
- data/locale/en_GB/foreman_templates.po +34 -4
- data/locale/es/LC_MESSAGES/foreman_templates.mo +0 -0
- data/locale/es/foreman_templates.po +34 -4
- data/locale/fr/LC_MESSAGES/foreman_templates.mo +0 -0
- data/locale/fr/foreman_templates.po +34 -4
- data/locale/gl/LC_MESSAGES/foreman_templates.mo +0 -0
- data/locale/gl/foreman_templates.po +34 -4
- data/locale/it/LC_MESSAGES/foreman_templates.mo +0 -0
- data/locale/it/foreman_templates.po +34 -4
- data/locale/ja/LC_MESSAGES/foreman_templates.mo +0 -0
- data/locale/ja/foreman_templates.po +34 -4
- data/locale/ka/LC_MESSAGES/foreman_templates.mo +0 -0
- data/locale/ka/foreman_templates.po +34 -4
- data/locale/ko/LC_MESSAGES/foreman_templates.mo +0 -0
- data/locale/ko/foreman_templates.po +81 -49
- data/locale/pt_BR/LC_MESSAGES/foreman_templates.mo +0 -0
- data/locale/pt_BR/foreman_templates.po +34 -4
- data/locale/ru/LC_MESSAGES/foreman_templates.mo +0 -0
- data/locale/ru/foreman_templates.po +34 -4
- data/locale/sv_SE/LC_MESSAGES/foreman_templates.mo +0 -0
- data/locale/sv_SE/foreman_templates.po +34 -4
- data/locale/zh_CN/LC_MESSAGES/foreman_templates.mo +0 -0
- data/locale/zh_CN/foreman_templates.po +34 -4
- data/locale/zh_TW/LC_MESSAGES/foreman_templates.mo +0 -0
- data/locale/zh_TW/foreman_templates.po +34 -4
- data/webpack/components/NewTemplateSync/components/NewTemplateSyncForm/NewTemplateSyncFormHelpers.js +15 -3
- data/webpack/components/NewTemplateSync/components/ProxySettingField.js +44 -0
- data/webpack/components/NewTemplateSync/components/ProxySettingFields.js +82 -0
- data/webpack/components/NewTemplateSync/components/SyncSettingField.js +5 -12
- data/webpack/components/NewTemplateSync/components/SyncSettingFields.js +18 -0
- data/webpack/components/NewTemplateSync/components/__tests__/__snapshots__/SyncSettingField.test.js.snap +3 -3
- data/webpack/components/NewTemplateSync/components/__tests__/__snapshots__/SyncSettingFields.test.js.snap +14 -0
- metadata +4 -2
@@ -3,7 +3,7 @@
|
|
3
3
|
"locale_data": {
|
4
4
|
"foreman_templates": {
|
5
5
|
"": {
|
6
|
-
"Project-Id-Version": "foreman_templates 10.0.
|
6
|
+
"Project-Id-Version": "foreman_templates 10.0.3",
|
7
7
|
"Report-Msgid-Bugs-To": "",
|
8
8
|
"PO-Revision-Date": "2019-10-14 12:27+0000",
|
9
9
|
"Last-Translator": "johnny.westerlund <johnny.westerlund@gmail.com>, 2023",
|
@@ -47,6 +47,9 @@
|
|
47
47
|
"Commit message": [
|
48
48
|
""
|
49
49
|
],
|
50
|
+
"Custom HTTP proxy": [
|
51
|
+
""
|
52
|
+
],
|
50
53
|
"Custom commit message for templates export": [
|
51
54
|
""
|
52
55
|
],
|
@@ -56,6 +59,9 @@
|
|
56
59
|
"Default metadata export mode, refresh re-renders metadata, keep will keep existing metadata, remove exports template without metadata": [
|
57
60
|
""
|
58
61
|
],
|
62
|
+
"Directory within Git repo containing the templates.": [
|
63
|
+
""
|
64
|
+
],
|
59
65
|
"Dirname": [
|
60
66
|
""
|
61
67
|
],
|
@@ -71,9 +77,24 @@
|
|
71
77
|
"Force import": [
|
72
78
|
""
|
73
79
|
],
|
80
|
+
"Global default HTTP proxy": [
|
81
|
+
""
|
82
|
+
],
|
83
|
+
"HTTP proxy": [
|
84
|
+
""
|
85
|
+
],
|
86
|
+
"HTTP proxy policy": [
|
87
|
+
""
|
88
|
+
],
|
89
|
+
"HTTP proxy policy for template sync. If you choose 'selected', provide the `http_proxy_id` parameter.": [
|
90
|
+
""
|
91
|
+
],
|
74
92
|
"How to handle lock for imported templates?": [
|
75
93
|
""
|
76
94
|
],
|
95
|
+
"ID of an HTTP proxy to use for template sync. Use this parameter together with `'http_proxy_policy':'selected'`": [
|
96
|
+
""
|
97
|
+
],
|
77
98
|
"Import": [
|
78
99
|
"Importera"
|
79
100
|
],
|
@@ -89,6 +110,9 @@
|
|
89
110
|
"Initiate Import": [
|
90
111
|
""
|
91
112
|
],
|
113
|
+
"Invalid repo format, must start with one of: ": [
|
114
|
+
""
|
115
|
+
],
|
92
116
|
"Keep": [
|
93
117
|
""
|
94
118
|
],
|
@@ -125,6 +149,9 @@
|
|
125
149
|
"New": [
|
126
150
|
"Ny"
|
127
151
|
],
|
152
|
+
"No HTTP proxy": [
|
153
|
+
""
|
154
|
+
],
|
128
155
|
"Override the default repo from settings.": [
|
129
156
|
""
|
130
157
|
],
|
@@ -152,6 +179,12 @@
|
|
152
179
|
"Repo": [
|
153
180
|
""
|
154
181
|
],
|
182
|
+
"Select an HTTP proxy to use for template sync. You can add HTTP proxies on the Infrastructure > HTTP proxies page.": [
|
183
|
+
""
|
184
|
+
],
|
185
|
+
"Should an HTTP proxy be used for template sync? If you select Custom HTTP proxy, you will be prompted to select one.": [
|
186
|
+
""
|
187
|
+
],
|
155
188
|
"Should importing overwrite locked templates?": [
|
156
189
|
""
|
157
190
|
],
|
@@ -170,9 +203,6 @@
|
|
170
203
|
"Template Sync": [
|
171
204
|
""
|
172
205
|
],
|
173
|
-
"The directory within Git repo containing the templates": [
|
174
|
-
""
|
175
|
-
],
|
176
206
|
"The directory within the Git repo containing the templates": [
|
177
207
|
""
|
178
208
|
],
|
@@ -3,7 +3,7 @@
|
|
3
3
|
"locale_data": {
|
4
4
|
"foreman_templates": {
|
5
5
|
"": {
|
6
|
-
"Project-Id-Version": "foreman_templates 10.0.
|
6
|
+
"Project-Id-Version": "foreman_templates 10.0.3",
|
7
7
|
"Report-Msgid-Bugs-To": "",
|
8
8
|
"PO-Revision-Date": "2019-10-14 12:27+0000",
|
9
9
|
"Last-Translator": "Ewoud Kohl van Wijngaarden <ewoud+transifex@kohlvanwijngaarden.nl>, 2024",
|
@@ -47,6 +47,9 @@
|
|
47
47
|
"Commit message": [
|
48
48
|
"提交消息"
|
49
49
|
],
|
50
|
+
"Custom HTTP proxy": [
|
51
|
+
""
|
52
|
+
],
|
50
53
|
"Custom commit message for templates export": [
|
51
54
|
"模板导出的自定义提交消息"
|
52
55
|
],
|
@@ -56,6 +59,9 @@
|
|
56
59
|
"Default metadata export mode, refresh re-renders metadata, keep will keep existing metadata, remove exports template without metadata": [
|
57
60
|
"默认元数据导出模式,刷新后重新渲染元数据,保留将保留现有元数据,删除不包含元数据的导出模板"
|
58
61
|
],
|
62
|
+
"Directory within Git repo containing the templates.": [
|
63
|
+
""
|
64
|
+
],
|
59
65
|
"Dirname": [
|
60
66
|
"Dirname"
|
61
67
|
],
|
@@ -71,9 +77,24 @@
|
|
71
77
|
"Force import": [
|
72
78
|
"强制导入"
|
73
79
|
],
|
80
|
+
"Global default HTTP proxy": [
|
81
|
+
""
|
82
|
+
],
|
83
|
+
"HTTP proxy": [
|
84
|
+
""
|
85
|
+
],
|
86
|
+
"HTTP proxy policy": [
|
87
|
+
""
|
88
|
+
],
|
89
|
+
"HTTP proxy policy for template sync. If you choose 'selected', provide the `http_proxy_id` parameter.": [
|
90
|
+
""
|
91
|
+
],
|
74
92
|
"How to handle lock for imported templates?": [
|
75
93
|
"如何处理导入的模板锁定?"
|
76
94
|
],
|
95
|
+
"ID of an HTTP proxy to use for template sync. Use this parameter together with `'http_proxy_policy':'selected'`": [
|
96
|
+
""
|
97
|
+
],
|
77
98
|
"Import": [
|
78
99
|
"导入"
|
79
100
|
],
|
@@ -89,6 +110,9 @@
|
|
89
110
|
"Initiate Import": [
|
90
111
|
"启动导入"
|
91
112
|
],
|
113
|
+
"Invalid repo format, must start with one of: ": [
|
114
|
+
""
|
115
|
+
],
|
92
116
|
"Keep": [
|
93
117
|
"保持"
|
94
118
|
],
|
@@ -125,6 +149,9 @@
|
|
125
149
|
"New": [
|
126
150
|
"新"
|
127
151
|
],
|
152
|
+
"No HTTP proxy": [
|
153
|
+
""
|
154
|
+
],
|
128
155
|
"Override the default repo from settings.": [
|
129
156
|
"覆盖设置中的默认仓库。"
|
130
157
|
],
|
@@ -152,6 +179,12 @@
|
|
152
179
|
"Repo": [
|
153
180
|
"仓库"
|
154
181
|
],
|
182
|
+
"Select an HTTP proxy to use for template sync. You can add HTTP proxies on the Infrastructure > HTTP proxies page.": [
|
183
|
+
""
|
184
|
+
],
|
185
|
+
"Should an HTTP proxy be used for template sync? If you select Custom HTTP proxy, you will be prompted to select one.": [
|
186
|
+
""
|
187
|
+
],
|
155
188
|
"Should importing overwrite locked templates?": [
|
156
189
|
"是否应该导入覆盖锁定的模板?"
|
157
190
|
],
|
@@ -170,9 +203,6 @@
|
|
170
203
|
"Template Sync": [
|
171
204
|
"模板同步"
|
172
205
|
],
|
173
|
-
"The directory within Git repo containing the templates": [
|
174
|
-
"Git 仓库中包含模板的目录"
|
175
|
-
],
|
176
206
|
"The directory within the Git repo containing the templates": [
|
177
207
|
"Git 仓库中包含模板的目录"
|
178
208
|
],
|
@@ -3,7 +3,7 @@
|
|
3
3
|
"locale_data": {
|
4
4
|
"foreman_templates": {
|
5
5
|
"": {
|
6
|
-
"Project-Id-Version": "foreman_templates 10.0.
|
6
|
+
"Project-Id-Version": "foreman_templates 10.0.3",
|
7
7
|
"Report-Msgid-Bugs-To": "",
|
8
8
|
"PO-Revision-Date": "2019-10-14 12:27+0000",
|
9
9
|
"Last-Translator": "Bryan Kearney <bryan.kearney@gmail.com>, 2023",
|
@@ -47,6 +47,9 @@
|
|
47
47
|
"Commit message": [
|
48
48
|
""
|
49
49
|
],
|
50
|
+
"Custom HTTP proxy": [
|
51
|
+
""
|
52
|
+
],
|
50
53
|
"Custom commit message for templates export": [
|
51
54
|
""
|
52
55
|
],
|
@@ -56,6 +59,9 @@
|
|
56
59
|
"Default metadata export mode, refresh re-renders metadata, keep will keep existing metadata, remove exports template without metadata": [
|
57
60
|
""
|
58
61
|
],
|
62
|
+
"Directory within Git repo containing the templates.": [
|
63
|
+
""
|
64
|
+
],
|
59
65
|
"Dirname": [
|
60
66
|
""
|
61
67
|
],
|
@@ -71,9 +77,24 @@
|
|
71
77
|
"Force import": [
|
72
78
|
""
|
73
79
|
],
|
80
|
+
"Global default HTTP proxy": [
|
81
|
+
""
|
82
|
+
],
|
83
|
+
"HTTP proxy": [
|
84
|
+
""
|
85
|
+
],
|
86
|
+
"HTTP proxy policy": [
|
87
|
+
""
|
88
|
+
],
|
89
|
+
"HTTP proxy policy for template sync. If you choose 'selected', provide the `http_proxy_id` parameter.": [
|
90
|
+
""
|
91
|
+
],
|
74
92
|
"How to handle lock for imported templates?": [
|
75
93
|
""
|
76
94
|
],
|
95
|
+
"ID of an HTTP proxy to use for template sync. Use this parameter together with `'http_proxy_policy':'selected'`": [
|
96
|
+
""
|
97
|
+
],
|
77
98
|
"Import": [
|
78
99
|
"匯入"
|
79
100
|
],
|
@@ -89,6 +110,9 @@
|
|
89
110
|
"Initiate Import": [
|
90
111
|
""
|
91
112
|
],
|
113
|
+
"Invalid repo format, must start with one of: ": [
|
114
|
+
""
|
115
|
+
],
|
92
116
|
"Keep": [
|
93
117
|
""
|
94
118
|
],
|
@@ -125,6 +149,9 @@
|
|
125
149
|
"New": [
|
126
150
|
"新增"
|
127
151
|
],
|
152
|
+
"No HTTP proxy": [
|
153
|
+
""
|
154
|
+
],
|
128
155
|
"Override the default repo from settings.": [
|
129
156
|
""
|
130
157
|
],
|
@@ -152,6 +179,12 @@
|
|
152
179
|
"Repo": [
|
153
180
|
"軟體庫"
|
154
181
|
],
|
182
|
+
"Select an HTTP proxy to use for template sync. You can add HTTP proxies on the Infrastructure > HTTP proxies page.": [
|
183
|
+
""
|
184
|
+
],
|
185
|
+
"Should an HTTP proxy be used for template sync? If you select Custom HTTP proxy, you will be prompted to select one.": [
|
186
|
+
""
|
187
|
+
],
|
155
188
|
"Should importing overwrite locked templates?": [
|
156
189
|
""
|
157
190
|
],
|
@@ -170,9 +203,6 @@
|
|
170
203
|
"Template Sync": [
|
171
204
|
""
|
172
205
|
],
|
173
|
-
"The directory within Git repo containing the templates": [
|
174
|
-
""
|
175
|
-
],
|
176
206
|
"The directory within the Git repo containing the templates": [
|
177
207
|
""
|
178
208
|
],
|
@@ -12,7 +12,9 @@ module Api
|
|
12
12
|
param :repo, String, :required => false, :desc => N_("Override the default repo from settings.")
|
13
13
|
param :filter, String, :required => false, :desc => N_("Export templates with names matching this regex (case-insensitive; snippets are not filtered).")
|
14
14
|
param :negate, :bool, :required => false, :desc => N_("Negate the prefix (for purging).")
|
15
|
-
param :dirname, String, :required => false, :desc => N_("
|
15
|
+
param :dirname, String, :required => false, :desc => N_("Directory within Git repo containing the templates.")
|
16
|
+
param :http_proxy_policy, ForemanTemplates.http_proxy_policy_types.keys, :required => false, :desc => N_("HTTP proxy policy for template sync. If you choose 'selected', provide the `http_proxy_id` parameter.")
|
17
|
+
param :http_proxy_id, :number, :required => false, :desc => N_("ID of an HTTP proxy to use for template sync. Use this parameter together with `'http_proxy_policy':'selected'`")
|
16
18
|
end
|
17
19
|
|
18
20
|
api :POST, "/templates/import/", N_("Initiate Import")
|
@@ -7,7 +7,7 @@ module Foreman
|
|
7
7
|
|
8
8
|
class_methods do
|
9
9
|
def filter_params_list
|
10
|
-
%i(verbose repo branch dirname filter negate metadata_export_mode)
|
10
|
+
%i(verbose repo branch dirname filter negate metadata_export_mode http_proxy_policy http_proxy_id)
|
11
11
|
end
|
12
12
|
|
13
13
|
def extra_import_params
|
@@ -49,6 +49,26 @@ class UITemplateSyncsController < ApplicationController
|
|
49
49
|
private
|
50
50
|
|
51
51
|
def setting_definitions(short_names)
|
52
|
-
short_names.map { |name| Foreman.settings.find("template_sync_#{name}") }
|
52
|
+
settings = short_names.map { |name| Foreman.settings.find("template_sync_#{name}") }
|
53
|
+
proxy_policy_setting = Foreman.settings.find('template_sync_http_proxy_policy').dup
|
54
|
+
proxy_id_setting = http_proxy_id_setting
|
55
|
+
# if default value is 'Custom HTTP proxy' but there is no proxy to select, value must be changed
|
56
|
+
proxy_policy_setting.value = proxy_policy_setting.default = 'none' if proxy_id_setting.value == '' && proxy_policy_setting.value == 'selected'
|
57
|
+
settings << proxy_policy_setting
|
58
|
+
settings << proxy_id_setting
|
59
|
+
settings
|
60
|
+
end
|
61
|
+
|
62
|
+
def http_proxy_id_setting
|
63
|
+
proxy_list = HttpProxy.authorized(:view_http_proxies).with_taxonomy_scope.each_with_object({}) { |proxy, hash| hash[proxy.id] = proxy.name }
|
64
|
+
default_proxy_id = proxy_list.keys.first || ""
|
65
|
+
OpenStruct.new(id: 'template_sync_http_proxy_id',
|
66
|
+
name: 'template_sync_http_proxy_id',
|
67
|
+
description: N_('Select an HTTP proxy to use for template sync. You can add HTTP proxies on the Infrastructure > HTTP proxies page.'),
|
68
|
+
settings_type: :string,
|
69
|
+
value: default_proxy_id,
|
70
|
+
default: default_proxy_id,
|
71
|
+
full_name: N_('HTTP proxy'),
|
72
|
+
select_values: proxy_list)
|
53
73
|
end
|
54
74
|
end
|
@@ -1,3 +1,5 @@
|
|
1
|
+
require 'securerandom'
|
2
|
+
|
1
3
|
module ForemanTemplates
|
2
4
|
class Action
|
3
5
|
delegate :logger, :to => :Rails
|
@@ -15,7 +17,7 @@ module ForemanTemplates
|
|
15
17
|
end
|
16
18
|
|
17
19
|
def self.setting_overrides
|
18
|
-
%i(verbose prefix dirname filter repo negate branch)
|
20
|
+
%i(verbose prefix dirname filter repo negate branch http_proxy_policy)
|
19
21
|
end
|
20
22
|
|
21
23
|
def method_missing(method, *args, &block)
|
@@ -53,9 +55,38 @@ module ForemanTemplates
|
|
53
55
|
private
|
54
56
|
|
55
57
|
def assign_attributes(args = {})
|
58
|
+
@http_proxy_id = args[:http_proxy_id]
|
56
59
|
self.class.setting_overrides.each do |attribute|
|
57
60
|
instance_variable_set("@#{attribute}", args[attribute.to_sym] || Setting["template_sync_#{attribute}".to_sym])
|
58
61
|
end
|
59
62
|
end
|
63
|
+
|
64
|
+
protected
|
65
|
+
|
66
|
+
def init_git_repo
|
67
|
+
git_repo = Git.init(@dir)
|
68
|
+
|
69
|
+
case @http_proxy_policy
|
70
|
+
when 'global'
|
71
|
+
http_proxy_url = Setting[:http_proxy]
|
72
|
+
when 'selected'
|
73
|
+
http_proxy = HttpProxy.authorized(:view_http_proxies).with_taxonomy_scope.find(@http_proxy_id)
|
74
|
+
http_proxy_url = http_proxy.full_url
|
75
|
+
|
76
|
+
if URI(http_proxy_url).scheme == 'https' && http_proxy.cacert.present?
|
77
|
+
proxy_cert = "#{@dir}/.git/foreman_templates_proxy_cert_#{SecureRandom.hex(8)}.crt"
|
78
|
+
File.write(proxy_cert, http_proxy.cacert)
|
79
|
+
git_repo.config('http.proxySSLCAInfo', proxy_cert)
|
80
|
+
end
|
81
|
+
end
|
82
|
+
|
83
|
+
if http_proxy_url.present?
|
84
|
+
git_repo.config('http.proxy', http_proxy_url)
|
85
|
+
end
|
86
|
+
|
87
|
+
git_repo.add_remote('origin', @repo)
|
88
|
+
logger.debug "cloned '#{@repo}' to '#{@dir}'"
|
89
|
+
git_repo
|
90
|
+
end
|
60
91
|
end
|
61
92
|
end
|
@@ -16,7 +16,7 @@ module ForemanTemplates
|
|
16
16
|
:additional_errors => @additional_errors,
|
17
17
|
:additional_info => @additional_info,
|
18
18
|
:exception => @exception&.message,
|
19
|
-
:validation_errors =>
|
19
|
+
:validation_errors => transformed_errors,
|
20
20
|
:file => @template_file,
|
21
21
|
:type => @template.present? ? @template.class.name.underscore : nil
|
22
22
|
}
|
@@ -27,9 +27,7 @@ module ForemanTemplates
|
|
27
27
|
end
|
28
28
|
|
29
29
|
def errors
|
30
|
-
@template&.errors
|
31
|
-
v.join(', ')
|
32
|
-
end
|
30
|
+
@template&.errors
|
33
31
|
end
|
34
32
|
|
35
33
|
def corrupted_metadata
|
@@ -99,5 +97,13 @@ module ForemanTemplates
|
|
99
97
|
nil
|
100
98
|
end
|
101
99
|
end
|
100
|
+
|
101
|
+
private
|
102
|
+
|
103
|
+
def transformed_errors
|
104
|
+
return {} unless errors
|
105
|
+
|
106
|
+
errors.to_hash.transform_values(&:last)
|
107
|
+
end
|
102
108
|
end
|
103
109
|
end
|
@@ -31,8 +31,8 @@ module ForemanTemplates
|
|
31
31
|
@dir = Dir.mktmpdir
|
32
32
|
return if branch_missing?
|
33
33
|
|
34
|
-
git_repo =
|
35
|
-
|
34
|
+
git_repo = init_git_repo
|
35
|
+
git_repo.fetch
|
36
36
|
|
37
37
|
setup_git_branch git_repo
|
38
38
|
dump_files!
|
@@ -32,9 +32,9 @@ module ForemanTemplates
|
|
32
32
|
@dir = Dir.mktmpdir
|
33
33
|
|
34
34
|
begin
|
35
|
-
|
36
|
-
gitrepo
|
37
|
-
if @branch
|
35
|
+
gitrepo = init_git_repo
|
36
|
+
gitrepo.fetch
|
37
|
+
if @branch.present?
|
38
38
|
logger.debug "checking out branch '#{@branch}'"
|
39
39
|
gitrepo.checkout(@branch)
|
40
40
|
end
|
@@ -94,6 +94,12 @@ module ForemanTemplates
|
|
94
94
|
description: N_('Custom commit message for templates export'),
|
95
95
|
default: 'Templates export made by a Foreman user',
|
96
96
|
full_name: N_('Commit message'))
|
97
|
+
setting('template_sync_http_proxy_policy',
|
98
|
+
type: :string,
|
99
|
+
description: N_('Should an HTTP proxy be used for template sync? If you select Custom HTTP proxy, you will be prompted to select one.'),
|
100
|
+
default: 'global',
|
101
|
+
full_name: N_('HTTP proxy policy'),
|
102
|
+
collection: -> { ForemanTemplates.http_proxy_policy_types })
|
97
103
|
end
|
98
104
|
end
|
99
105
|
|
data/lib/foreman_templates.rb
CHANGED
@@ -16,4 +16,8 @@ module ForemanTemplates
|
|
16
16
|
def self.metadata_export_mode_types
|
17
17
|
{ 'refresh' => _('Refresh'), 'keep' => _('Keep'), 'remove' => _('Remove') }
|
18
18
|
end
|
19
|
+
|
20
|
+
def self.http_proxy_policy_types
|
21
|
+
{ 'global' => _('Global default HTTP proxy'), 'none' => _('No HTTP proxy'), 'selected' => _('Custom HTTP proxy') }
|
22
|
+
end
|
19
23
|
end
|
Binary file
|
@@ -8,7 +8,7 @@
|
|
8
8
|
#
|
9
9
|
msgid ""
|
10
10
|
msgstr ""
|
11
|
-
"Project-Id-Version: foreman_templates 10.0.
|
11
|
+
"Project-Id-Version: foreman_templates 10.0.3\n"
|
12
12
|
"Report-Msgid-Bugs-To: \n"
|
13
13
|
"PO-Revision-Date: 2019-10-14 12:27+0000\n"
|
14
14
|
"Last-Translator: Pavel Borecki <pavel.borecki@gmail.com>, 2023\n"
|
@@ -51,6 +51,9 @@ msgstr ""
|
|
51
51
|
msgid "Commit message"
|
52
52
|
msgstr ""
|
53
53
|
|
54
|
+
msgid "Custom HTTP proxy"
|
55
|
+
msgstr ""
|
56
|
+
|
54
57
|
msgid "Custom commit message for templates export"
|
55
58
|
msgstr ""
|
56
59
|
|
@@ -60,6 +63,9 @@ msgstr "Výchozí větev v Git repozitáři"
|
|
60
63
|
msgid "Default metadata export mode, refresh re-renders metadata, keep will keep existing metadata, remove exports template without metadata"
|
61
64
|
msgstr ""
|
62
65
|
|
66
|
+
msgid "Directory within Git repo containing the templates."
|
67
|
+
msgstr ""
|
68
|
+
|
63
69
|
msgid "Dirname"
|
64
70
|
msgstr ""
|
65
71
|
|
@@ -75,9 +81,24 @@ msgstr ""
|
|
75
81
|
msgid "Force import"
|
76
82
|
msgstr "Vynutit import"
|
77
83
|
|
84
|
+
msgid "Global default HTTP proxy"
|
85
|
+
msgstr ""
|
86
|
+
|
87
|
+
msgid "HTTP proxy"
|
88
|
+
msgstr ""
|
89
|
+
|
90
|
+
msgid "HTTP proxy policy"
|
91
|
+
msgstr ""
|
92
|
+
|
93
|
+
msgid "HTTP proxy policy for template sync. If you choose 'selected', provide the `http_proxy_id` parameter."
|
94
|
+
msgstr ""
|
95
|
+
|
78
96
|
msgid "How to handle lock for imported templates?"
|
79
97
|
msgstr ""
|
80
98
|
|
99
|
+
msgid "ID of an HTTP proxy to use for template sync. Use this parameter together with `'http_proxy_policy':'selected'`"
|
100
|
+
msgstr ""
|
101
|
+
|
81
102
|
msgid "Import"
|
82
103
|
msgstr "Import"
|
83
104
|
|
@@ -93,6 +114,9 @@ msgstr "Zahájit export"
|
|
93
114
|
msgid "Initiate Import"
|
94
115
|
msgstr "Zahájit import"
|
95
116
|
|
117
|
+
msgid "Invalid repo format, must start with one of: "
|
118
|
+
msgstr ""
|
119
|
+
|
96
120
|
msgid "Keep"
|
97
121
|
msgstr "Ponechat"
|
98
122
|
|
@@ -129,6 +153,9 @@ msgstr "Nikdy"
|
|
129
153
|
msgid "New"
|
130
154
|
msgstr "Nové"
|
131
155
|
|
156
|
+
msgid "No HTTP proxy"
|
157
|
+
msgstr ""
|
158
|
+
|
132
159
|
msgid "Override the default repo from settings."
|
133
160
|
msgstr ""
|
134
161
|
|
@@ -156,6 +183,12 @@ msgstr "Odebrat"
|
|
156
183
|
msgid "Repo"
|
157
184
|
msgstr "Repozitář"
|
158
185
|
|
186
|
+
msgid "Select an HTTP proxy to use for template sync. You can add HTTP proxies on the Infrastructure > HTTP proxies page."
|
187
|
+
msgstr ""
|
188
|
+
|
189
|
+
msgid "Should an HTTP proxy be used for template sync? If you select Custom HTTP proxy, you will be prompted to select one."
|
190
|
+
msgstr ""
|
191
|
+
|
159
192
|
msgid "Should importing overwrite locked templates?"
|
160
193
|
msgstr ""
|
161
194
|
|
@@ -174,9 +207,6 @@ msgstr ""
|
|
174
207
|
msgid "Template Sync"
|
175
208
|
msgstr ""
|
176
209
|
|
177
|
-
msgid "The directory within Git repo containing the templates"
|
178
|
-
msgstr ""
|
179
|
-
|
180
210
|
msgid "The directory within the Git repo containing the templates"
|
181
211
|
msgstr ""
|
182
212
|
|
Binary file
|
@@ -13,7 +13,7 @@
|
|
13
13
|
#
|
14
14
|
msgid ""
|
15
15
|
msgstr ""
|
16
|
-
"Project-Id-Version: foreman_templates 10.0.
|
16
|
+
"Project-Id-Version: foreman_templates 10.0.3\n"
|
17
17
|
"Report-Msgid-Bugs-To: \n"
|
18
18
|
"PO-Revision-Date: 2019-10-14 12:27+0000\n"
|
19
19
|
"Last-Translator: pdolinic, 2023\n"
|
@@ -54,6 +54,9 @@ msgstr "Wählen Sie die Ausführlichkeit für Importvorlagen für Rake-Aufgaben"
|
|
54
54
|
msgid "Commit message"
|
55
55
|
msgstr ""
|
56
56
|
|
57
|
+
msgid "Custom HTTP proxy"
|
58
|
+
msgstr ""
|
59
|
+
|
57
60
|
msgid "Custom commit message for templates export"
|
58
61
|
msgstr ""
|
59
62
|
|
@@ -63,6 +66,9 @@ msgstr "Standard-Branch im Git-Repository"
|
|
63
66
|
msgid "Default metadata export mode, refresh re-renders metadata, keep will keep existing metadata, remove exports template without metadata"
|
64
67
|
msgstr "Standard-Metadaten-Exportmodus, Aktualisieren, rendert Metadaten neu, behält vorhandene Metadaten bei, entfernt Exportvorlagen ohne Metadaten"
|
65
68
|
|
69
|
+
msgid "Directory within Git repo containing the templates."
|
70
|
+
msgstr ""
|
71
|
+
|
66
72
|
msgid "Dirname"
|
67
73
|
msgstr "Dirname"
|
68
74
|
|
@@ -78,9 +84,24 @@ msgstr "Filter"
|
|
78
84
|
msgid "Force import"
|
79
85
|
msgstr "Import erzwingen"
|
80
86
|
|
87
|
+
msgid "Global default HTTP proxy"
|
88
|
+
msgstr ""
|
89
|
+
|
90
|
+
msgid "HTTP proxy"
|
91
|
+
msgstr ""
|
92
|
+
|
93
|
+
msgid "HTTP proxy policy"
|
94
|
+
msgstr ""
|
95
|
+
|
96
|
+
msgid "HTTP proxy policy for template sync. If you choose 'selected', provide the `http_proxy_id` parameter."
|
97
|
+
msgstr ""
|
98
|
+
|
81
99
|
msgid "How to handle lock for imported templates?"
|
82
100
|
msgstr ""
|
83
101
|
|
102
|
+
msgid "ID of an HTTP proxy to use for template sync. Use this parameter together with `'http_proxy_policy':'selected'`"
|
103
|
+
msgstr ""
|
104
|
+
|
84
105
|
msgid "Import"
|
85
106
|
msgstr "Importieren"
|
86
107
|
|
@@ -96,6 +117,9 @@ msgstr "Export initiieren"
|
|
96
117
|
msgid "Initiate Import"
|
97
118
|
msgstr "Import einleiten"
|
98
119
|
|
120
|
+
msgid "Invalid repo format, must start with one of: "
|
121
|
+
msgstr ""
|
122
|
+
|
99
123
|
msgid "Keep"
|
100
124
|
msgstr "Behalten"
|
101
125
|
|
@@ -132,6 +156,9 @@ msgstr "Nie"
|
|
132
156
|
msgid "New"
|
133
157
|
msgstr "Neu"
|
134
158
|
|
159
|
+
msgid "No HTTP proxy"
|
160
|
+
msgstr ""
|
161
|
+
|
135
162
|
msgid "Override the default repo from settings."
|
136
163
|
msgstr "Überschreiben Sie das Standard-Repository aus den Einstellungen."
|
137
164
|
|
@@ -159,6 +186,12 @@ msgstr "Entfernen"
|
|
159
186
|
msgid "Repo"
|
160
187
|
msgstr "Repository"
|
161
188
|
|
189
|
+
msgid "Select an HTTP proxy to use for template sync. You can add HTTP proxies on the Infrastructure > HTTP proxies page."
|
190
|
+
msgstr ""
|
191
|
+
|
192
|
+
msgid "Should an HTTP proxy be used for template sync? If you select Custom HTTP proxy, you will be prompted to select one."
|
193
|
+
msgstr ""
|
194
|
+
|
162
195
|
msgid "Should importing overwrite locked templates?"
|
163
196
|
msgstr "Sollen beim Importieren gesperrte Vorlagen überschrieben werden?"
|
164
197
|
|
@@ -177,9 +210,6 @@ msgstr ""
|
|
177
210
|
msgid "Template Sync"
|
178
211
|
msgstr ""
|
179
212
|
|
180
|
-
msgid "The directory within Git repo containing the templates"
|
181
|
-
msgstr "Das Verzeichnis im Git-Repository, das die Vorlagen enthält"
|
182
|
-
|
183
213
|
msgid "The directory within the Git repo containing the templates"
|
184
214
|
msgstr "Das Verzeichnis im Git-Repository, das die Vorlagen enthält"
|
185
215
|
|
Binary file
|