foreman_openscap 6.0.0 → 7.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/app/assets/javascripts/foreman_openscap/locale/cs_CZ/foreman_openscap.js +1302 -0
- data/app/assets/javascripts/foreman_openscap/locale/de/foreman_openscap.js +1302 -0
- data/app/assets/javascripts/foreman_openscap/locale/en/foreman_openscap.js +1302 -0
- data/app/assets/javascripts/foreman_openscap/locale/en_GB/foreman_openscap.js +1302 -0
- data/app/assets/javascripts/foreman_openscap/locale/es/foreman_openscap.js +1304 -0
- data/app/assets/javascripts/foreman_openscap/locale/fr/foreman_openscap.js +1304 -0
- data/app/assets/javascripts/foreman_openscap/locale/gl/foreman_openscap.js +1302 -0
- data/app/assets/javascripts/foreman_openscap/locale/it/foreman_openscap.js +1302 -0
- data/app/assets/javascripts/foreman_openscap/locale/ja/foreman_openscap.js +1300 -0
- data/app/assets/javascripts/foreman_openscap/locale/ko/foreman_openscap.js +1302 -0
- data/app/assets/javascripts/foreman_openscap/locale/pt_BR/foreman_openscap.js +1304 -0
- data/app/assets/javascripts/foreman_openscap/locale/ru/foreman_openscap.js +1302 -0
- data/app/assets/javascripts/foreman_openscap/locale/sv_SE/foreman_openscap.js +1302 -0
- data/app/assets/javascripts/foreman_openscap/locale/zh_CN/foreman_openscap.js +1300 -0
- data/app/assets/javascripts/foreman_openscap/locale/zh_TW/foreman_openscap.js +1302 -0
- data/app/controllers/concerns/foreman_openscap/hosts_and_hostgroups_controller_extensions.rb +1 -1
- data/app/helpers/compliance_hosts_helper.rb +2 -0
- data/app/services/foreman_openscap/client_config/ansible.rb +4 -1
- data/app/services/foreman_openscap/client_config/manual.rb +1 -1
- data/app/services/foreman_openscap/client_config/puppet.rb +4 -1
- data/app/services/foreman_openscap/oval/sync_oval_contents.rb +2 -2
- data/app/views/arf_reports/_list.html.erb +1 -1
- data/app/views/policies/_list.html.erb +3 -3
- data/app/views/scap_contents/_list.html.erb +3 -3
- data/app/views/tailoring_files/_list.html.erb +3 -3
- data/lib/foreman_openscap/bulk_upload.rb +7 -7
- data/lib/foreman_openscap/engine.rb +2 -7
- data/lib/foreman_openscap/version.rb +1 -1
- data/locale/Makefile +6 -3
- data/locale/cs_CZ/LC_MESSAGES/foreman_openscap.mo +0 -0
- data/locale/cs_CZ/foreman_openscap.edit.po +1735 -0
- data/locale/cs_CZ/foreman_openscap.po +1309 -0
- data/locale/cs_CZ/foreman_openscap.po.time_stamp +0 -0
- data/locale/de/foreman_openscap.edit.po +1745 -0
- data/locale/de/foreman_openscap.po +195 -0
- data/locale/de/foreman_openscap.po.time_stamp +0 -0
- data/locale/en/LC_MESSAGES/foreman_openscap.mo +0 -0
- data/locale/en/foreman_openscap.edit.po +1735 -0
- data/locale/en/foreman_openscap.po +1309 -0
- data/locale/en/foreman_openscap.po.time_stamp +0 -0
- data/locale/en_GB/foreman_openscap.edit.po +1735 -0
- data/locale/en_GB/foreman_openscap.po +195 -0
- data/locale/en_GB/foreman_openscap.po.time_stamp +0 -0
- data/locale/es/foreman_openscap.edit.po +1740 -0
- data/locale/es/foreman_openscap.po +195 -0
- data/locale/es/foreman_openscap.po.time_stamp +0 -0
- data/locale/foreman_openscap.pot +361 -49
- data/locale/fr/foreman_openscap.edit.po +1746 -0
- data/locale/fr/foreman_openscap.po +195 -0
- data/locale/fr/foreman_openscap.po.time_stamp +0 -0
- data/locale/gl/foreman_openscap.edit.po +1735 -0
- data/locale/gl/foreman_openscap.po +195 -0
- data/locale/gl/foreman_openscap.po.time_stamp +0 -0
- data/locale/it/foreman_openscap.edit.po +1737 -0
- data/locale/it/foreman_openscap.po +195 -0
- data/locale/it/foreman_openscap.po.time_stamp +0 -0
- data/locale/ja/foreman_openscap.edit.po +1741 -0
- data/locale/ja/foreman_openscap.po +195 -0
- data/locale/ja/foreman_openscap.po.time_stamp +0 -0
- data/locale/ko/foreman_openscap.edit.po +1735 -0
- data/locale/ko/foreman_openscap.po +195 -0
- data/locale/ko/foreman_openscap.po.time_stamp +0 -0
- data/locale/pt_BR/foreman_openscap.edit.po +1745 -0
- data/locale/pt_BR/foreman_openscap.po +195 -0
- data/locale/pt_BR/foreman_openscap.po.time_stamp +0 -0
- data/locale/ru/foreman_openscap.edit.po +1739 -0
- data/locale/ru/foreman_openscap.po +195 -0
- data/locale/ru/foreman_openscap.po.time_stamp +0 -0
- data/locale/sv_SE/foreman_openscap.edit.po +1735 -0
- data/locale/sv_SE/foreman_openscap.po +195 -0
- data/locale/sv_SE/foreman_openscap.po.time_stamp +0 -0
- data/locale/zh_CN/foreman_openscap.edit.po +1740 -0
- data/locale/zh_CN/foreman_openscap.po +195 -0
- data/locale/zh_CN/foreman_openscap.po.time_stamp +0 -0
- data/locale/zh_TW/foreman_openscap.edit.po +1736 -0
- data/locale/zh_TW/foreman_openscap.po +195 -0
- data/locale/zh_TW/foreman_openscap.po.time_stamp +0 -0
- data/webpack/routes/OvalContents/OvalContentsNew/OvalContentsNew.js +2 -2
- data/webpack/routes/OvalPolicies/OvalPoliciesNew/HostgroupSelect.js +1 -1
- data/webpack/routes/OvalPolicies/OvalPoliciesNew/NewOvalPolicyFormHelpers.js +3 -3
- data/webpack/routes/OvalPolicies/OvalPoliciesShow/OvalPoliciesShowHelper.js +4 -4
- metadata +52 -3
data/app/controllers/concerns/foreman_openscap/hosts_and_hostgroups_controller_extensions.rb
CHANGED
|
@@ -7,7 +7,7 @@ module ForemanOpenscap
|
|
|
7
7
|
|
|
8
8
|
def detect_proxy_without_scap
|
|
9
9
|
unless openscap_proxy_id.nil?
|
|
10
|
-
error = "The
|
|
10
|
+
error = _("The %s proxy does not have Openscap feature enabled. Either set correct OpenSCAP Proxy or unset it.") % openscap_proxy_id[:name]
|
|
11
11
|
return error(error, :now => true) unless scap_enabled_proxy?(openscap_proxy_id)
|
|
12
12
|
end
|
|
13
13
|
end
|
|
@@ -20,6 +20,8 @@ module ComplianceHostsHelper
|
|
|
20
20
|
end
|
|
21
21
|
|
|
22
22
|
def compliance_host_multiple_actions
|
|
23
|
+
return [] unless User.current.can?(:edit_hosts)
|
|
24
|
+
|
|
23
25
|
[
|
|
24
26
|
{ :action => [_('Assign Compliance Policy'), select_multiple_hosts_policies_path], :priority => 1210 },
|
|
25
27
|
{ :action => [_('Unassign Compliance Policy'), disassociate_multiple_hosts_policies_path], :priority => 1211 },
|
|
@@ -20,8 +20,11 @@ module ForemanOpenscap
|
|
|
20
20
|
end
|
|
21
21
|
|
|
22
22
|
def inline_help
|
|
23
|
+
t1 = _("Requires Ansible plugin, %s Ansible role and variables. This will assign the role to the hosts or selected hostgroups.") % ansible_role_name
|
|
24
|
+
t2 = _("To deploy foreman_scap_client, ansible roles run needs to be triggered manually. Manual run is also required after any change to this policy.")
|
|
25
|
+
|
|
23
26
|
{
|
|
24
|
-
:text => "
|
|
27
|
+
:text => "#{t1}<br>#{t2}",
|
|
25
28
|
:replace_text => 'Ansible role',
|
|
26
29
|
:route_helper_method => :hash_for_ansible_roles_path
|
|
27
30
|
}
|
|
@@ -11,7 +11,7 @@ module ForemanOpenscap
|
|
|
11
11
|
|
|
12
12
|
def inline_help
|
|
13
13
|
{
|
|
14
|
-
:text => "This leaves the setup of the foreman_scap_client solely on the user. The policy still needs to be defined in order to link incoming ARF reports."
|
|
14
|
+
:text => _("This leaves the setup of the foreman_scap_client solely on the user. The policy still needs to be defined in order to link incoming ARF reports.")
|
|
15
15
|
}
|
|
16
16
|
end
|
|
17
17
|
|
|
@@ -14,8 +14,11 @@ module ForemanOpenscap
|
|
|
14
14
|
end
|
|
15
15
|
|
|
16
16
|
def inline_help
|
|
17
|
+
t1 = _("Requires %s Puppet class. This will assign the class to the hosts or selected hostgroups.") % puppetclass_name
|
|
18
|
+
t2 = _("Every puppet run ensures the foreman_scap_client is configured according to the policy.")
|
|
19
|
+
|
|
17
20
|
{
|
|
18
|
-
:text => "
|
|
21
|
+
:text => "#{t1}<br>#{t2}",
|
|
19
22
|
:replace_text => 'Puppet class',
|
|
20
23
|
:route_helper_method => :hash_for_puppetclasses_path
|
|
21
24
|
}
|
|
@@ -5,7 +5,7 @@ module ForemanOpenscap
|
|
|
5
5
|
begin
|
|
6
6
|
content_blob = fetch_content_blob(oval_content.url)
|
|
7
7
|
rescue StandardError => e
|
|
8
|
-
oval_content.errors.add(:base, "#{fail_msg oval_content}, cause:
|
|
8
|
+
oval_content.errors.add(:base, "#{fail_msg oval_content}, " + _("cause: ") + e.message)
|
|
9
9
|
return oval_content
|
|
10
10
|
end
|
|
11
11
|
|
|
@@ -25,7 +25,7 @@ module ForemanOpenscap
|
|
|
25
25
|
private
|
|
26
26
|
|
|
27
27
|
def fail_msg(content)
|
|
28
|
-
"Failed to fetch content file from
|
|
28
|
+
_("Failed to fetch content file from %s") % content.url
|
|
29
29
|
end
|
|
30
30
|
|
|
31
31
|
def fetch_content_blob(url)
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
<table class="<%= table_css_classes %>">
|
|
4
4
|
<tr>
|
|
5
5
|
<th class="ca" width="40px"><%= check_box_tag "check_all", "", false, { :onclick => "tfm.hosts.table.toggleCheck()", :'check-title' => _("Select all items in this page"), :'uncheck-title'=> _("items selected. Uncheck to Clear") } %></th>
|
|
6
|
-
<th><%= sort :host %></th>
|
|
6
|
+
<th><%= sort :host, as: _('Host') %></th>
|
|
7
7
|
<th><%= sort :reported, :as => _("Reported At") %></th>
|
|
8
8
|
<th><%= sort :policy, :as => _("Policy") %></th>
|
|
9
9
|
<th><%= sort :openscap_proxy, :as => _("Openscap Proxy") %></th>
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
<table class="<%= table_css_classes('table-fixed') %>">
|
|
2
2
|
<tr>
|
|
3
|
-
<th><%= sort :name %></th>
|
|
4
|
-
<th><%= sort :content %></th>
|
|
5
|
-
<th><%= sort :profile %></th>
|
|
3
|
+
<th><%= sort :name, as: _('Name') %></th>
|
|
4
|
+
<th><%= sort :content, as: _('Content') %></th>
|
|
5
|
+
<th><%= sort :profile, as: _('Profile') %></th>
|
|
6
6
|
<th><%= sort :tailoring_file, :as => _('Tailoring File') %></th>
|
|
7
7
|
<th><%= sort :tailoring_file_profile, :as => _('Effective Profile') %></th>
|
|
8
8
|
<th><%= _('Actions') %></th>
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
<table class="<%= table_css_classes('table-two-pane table-fixed') %>">
|
|
2
2
|
<tr>
|
|
3
|
-
<th class="col-md-4"><%= sort :title %></th>
|
|
4
|
-
<th class="col-md-5"><%= sort :filename %></th>
|
|
5
|
-
<th class="col-md-2"><%= sort :created_at %></th>
|
|
3
|
+
<th class="col-md-4"><%= sort :title, as: _('Title') %></th>
|
|
4
|
+
<th class="col-md-5"><%= sort :filename, as: _('File name') %></th>
|
|
5
|
+
<th class="col-md-2"><%= sort :created_at, as: _('Created at') %></th>
|
|
6
6
|
<th class="col-md-1"><%= _('Actions') %></th>
|
|
7
7
|
</tr>
|
|
8
8
|
<% for content in @contents %>
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
<table class="<%= table_css_classes('table-fixed') %>">
|
|
2
2
|
<tr>
|
|
3
|
-
<th class="col-md-4"><%= sort :name %></th>
|
|
4
|
-
<th class="col-md-5"><%= sort :filename %></th>
|
|
5
|
-
<th class="col-md-2"><%= sort :created_at %></th>
|
|
3
|
+
<th class="col-md-4"><%= sort :name, as: _('Name') %></th>
|
|
4
|
+
<th class="col-md-5"><%= sort :filename, as: _('File name') %></th>
|
|
5
|
+
<th class="col-md-2"><%= sort :created_at, as: _('Created at') %></th>
|
|
6
6
|
<th class="col-md-1"><%= _('Actions') %></th>
|
|
7
7
|
</tr>
|
|
8
8
|
<% @tailoring_files.each do |file| %>
|
|
@@ -17,7 +17,7 @@ module ForemanOpenscap
|
|
|
17
17
|
|
|
18
18
|
def upload_from_scap_guide
|
|
19
19
|
unless scap_guide_installed?
|
|
20
|
-
@result.errors.push("Can't find scap-security-guide RPM, are you sure it is installed on your server?")
|
|
20
|
+
@result.errors.push(_("Can't find scap-security-guide RPM, are you sure it is installed on your server?"))
|
|
21
21
|
return @result
|
|
22
22
|
end
|
|
23
23
|
|
|
@@ -26,18 +26,18 @@ module ForemanOpenscap
|
|
|
26
26
|
|
|
27
27
|
def upload_from_files(files_array, from_scap_guide = false)
|
|
28
28
|
unless files_array.is_a? Array
|
|
29
|
-
@result.errors.push("Expected an array of files to upload, got:
|
|
29
|
+
@result.errors.push(_("Expected an array of files to upload, got: %s.") % files_array)
|
|
30
30
|
return @result
|
|
31
31
|
end
|
|
32
32
|
|
|
33
33
|
files_array.each do |datastream|
|
|
34
34
|
if File.directory?(datastream)
|
|
35
|
-
@result.errors.push("
|
|
35
|
+
@result.errors.push(_("%s is a directory, expecting file.") % datastream)
|
|
36
36
|
next
|
|
37
37
|
end
|
|
38
38
|
|
|
39
39
|
unless File.file?(datastream)
|
|
40
|
-
@result.errors.push("
|
|
40
|
+
@result.errors.push(_("%s does not exist, skipping.") % datastream)
|
|
41
41
|
next
|
|
42
42
|
end
|
|
43
43
|
|
|
@@ -55,7 +55,7 @@ module ForemanOpenscap
|
|
|
55
55
|
if scap_content.save
|
|
56
56
|
@result.results.push(scap_content)
|
|
57
57
|
else
|
|
58
|
-
@result.errors.push("Failed saving
|
|
58
|
+
@result.errors.push(_("Failed saving %s:") % datastream + " #{scap_content.errors.full_messages.uniq.join(',')}")
|
|
59
59
|
end
|
|
60
60
|
end
|
|
61
61
|
@result
|
|
@@ -63,7 +63,7 @@ module ForemanOpenscap
|
|
|
63
63
|
|
|
64
64
|
def upload_from_directory(directory_path)
|
|
65
65
|
unless directory_path && Dir.exist?(directory_path)
|
|
66
|
-
@result[:errors].push("No such directory:
|
|
66
|
+
@result[:errors].push(_("No such directory: %s. Please check the path you have provided.") % directory_path)
|
|
67
67
|
return @result
|
|
68
68
|
end
|
|
69
69
|
|
|
@@ -85,7 +85,7 @@ module ForemanOpenscap
|
|
|
85
85
|
|
|
86
86
|
def content_name(datastream, from_scap_guide)
|
|
87
87
|
os_name = extract_name_from_file(datastream)
|
|
88
|
-
from_scap_guide ? "Red Hat
|
|
88
|
+
from_scap_guide ? (_("Red Hat %s default content") % os_name) : (_("%s content") % os_name)
|
|
89
89
|
end
|
|
90
90
|
end
|
|
91
91
|
end
|
|
@@ -48,7 +48,8 @@ module ForemanOpenscap
|
|
|
48
48
|
|
|
49
49
|
initializer 'foreman_openscap.register_plugin', :before => :finisher_hook do |app|
|
|
50
50
|
Foreman::Plugin.register :foreman_openscap do
|
|
51
|
-
requires_foreman '>= 3.
|
|
51
|
+
requires_foreman '>= 3.7'
|
|
52
|
+
register_gettext
|
|
52
53
|
|
|
53
54
|
apipie_documented_controllers ["#{ForemanOpenscap::Engine.root}/app/controllers/api/v2/compliance/*.rb"]
|
|
54
55
|
|
|
@@ -246,12 +247,6 @@ module ForemanOpenscap
|
|
|
246
247
|
end
|
|
247
248
|
end
|
|
248
249
|
|
|
249
|
-
initializer 'foreman_openscap.register_gettext', after: :load_config_initializers do |_app|
|
|
250
|
-
locale_dir = File.join(File.expand_path('../../..', __FILE__), 'locale')
|
|
251
|
-
locale_domain = 'foreman_openscap'
|
|
252
|
-
Foreman::Gettext::Support.add_text_domain locale_domain, locale_dir
|
|
253
|
-
end
|
|
254
|
-
|
|
255
250
|
# Include concerns in this config.to_prepare block
|
|
256
251
|
config.to_prepare do
|
|
257
252
|
::Api::V2::HostsController.send(:include, ForemanOpenscap::Api::V2::HostsControllerExtensions)
|
data/locale/Makefile
CHANGED
|
@@ -14,6 +14,7 @@ POFILES = $(shell find . -name '$(DOMAIN).po')
|
|
|
14
14
|
MOFILES = $(patsubst %.po,%.mo,$(POFILES))
|
|
15
15
|
POXFILES = $(patsubst %.po,%.pox,$(POFILES))
|
|
16
16
|
EDITFILES = $(patsubst %.po,%.edit.po,$(POFILES))
|
|
17
|
+
JSFILES = $(shell find ../app/assets/javascripts/*/locale -name '$(DOMAIN).js')
|
|
17
18
|
|
|
18
19
|
%.mo: %.po
|
|
19
20
|
mkdir -p $(shell dirname $@)/LC_MESSAGES
|
|
@@ -42,18 +43,20 @@ uniq-po:
|
|
|
42
43
|
done
|
|
43
44
|
|
|
44
45
|
tx-pull: $(EDITFILES)
|
|
45
|
-
tx pull -f
|
|
46
|
+
cd .. && tx pull -f
|
|
46
47
|
for f in $(EDITFILES) ; do \
|
|
47
48
|
sed -i 's/^\("Project-Id-Version: \).*$$/\1$(DOMAIN) $(VERSION)\\n"/' $$f; \
|
|
48
49
|
done
|
|
49
50
|
|
|
50
51
|
tx-update: tx-pull
|
|
51
52
|
@echo
|
|
52
|
-
@echo Run rake plugin:gettext[$(DOMAIN)] from the Foreman installation
|
|
53
|
+
@echo Run rake plugin:gettext[$(DOMAIN)] from the Foreman installation
|
|
54
|
+
@echo then run rake plugin:po_to_json[$(DOMAIN)] from the Foreman installation
|
|
55
|
+
@echo then run make -C locale mo-files to finish
|
|
53
56
|
@echo
|
|
54
57
|
|
|
55
58
|
mo-files: $(MOFILES)
|
|
56
|
-
git add $(POFILES) $(POTFILE) ../locale/*/LC_MESSAGES
|
|
59
|
+
git add $(POFILES) $(POTFILE) $(JSFILES) ../locale/*/LC_MESSAGES
|
|
57
60
|
git commit -m "i18n - pulling from tx"
|
|
58
61
|
@echo
|
|
59
62
|
@echo Changes commited!
|
|
Binary file
|