foreman_openscap 0.5.4 → 0.6.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 +7 -7
- data/README.md +14 -0
- data/app/assets/javascripts/foreman_openscap/policy_edit.js +1 -1
- data/app/controllers/api/v2/compliance/policies_controller.rb +12 -9
- data/app/controllers/api/v2/compliance/scap_contents_controller.rb +4 -2
- data/app/controllers/concerns/foreman/controller/parameters/policy.rb +12 -0
- data/app/controllers/concerns/foreman/controller/parameters/policy_api.rb +21 -0
- data/app/controllers/concerns/foreman/controller/parameters/scap_content.rb +15 -0
- data/app/controllers/policies_controller.rb +7 -3
- data/app/controllers/scap_contents_controller.rb +4 -2
- data/app/helpers/{dashboard_helper.rb → compliance_dashboard_helper.rb} +2 -2
- data/app/helpers/policy_dashboard_helper.rb +9 -4
- data/app/models/concerns/foreman_openscap/host_extensions.rb +3 -5
- data/app/models/concerns/foreman_openscap/hostgroup_extensions.rb +1 -1
- data/app/models/concerns/foreman_openscap/log_extensions.rb +0 -1
- data/app/models/concerns/foreman_openscap/openscap_proxy_core_extensions.rb +1 -1
- data/app/models/concerns/foreman_openscap/openscap_proxy_extensions.rb +1 -2
- data/app/models/foreman_openscap/arf_report.rb +6 -4
- data/app/models/foreman_openscap/compliance_status.rb +3 -1
- data/app/models/foreman_openscap/policy.rb +62 -33
- data/app/models/foreman_openscap/scap_content.rb +1 -3
- data/app/views/arf_reports/_list.html.erb +1 -1
- data/app/views/arf_reports/show.html.erb +4 -4
- data/app/views/compliance_hosts/show.html.erb +1 -1
- data/app/views/dashboard/_compliance_host_reports_widget.html.erb +6 -6
- data/app/views/policies/index.html.erb +2 -2
- data/app/views/policies/steps/_schedule_form.html.erb +1 -1
- data/app/views/policies/steps/_step_form.html.erb +1 -0
- data/app/views/policies/welcome.html.erb +1 -1
- data/app/views/policy_dashboard/index.html.erb +2 -2
- data/app/views/scap_contents/index.html.erb +2 -2
- data/app/views/scap_contents/welcome.html.erb +1 -1
- data/db/migrate/20160830113437_remove_deleted_policy.rb +10 -0
- data/db/seeds.d/openscap_policy_notification.rb +2 -0
- data/lib/foreman_openscap/data_migration.rb +1 -1
- data/lib/foreman_openscap/engine.rb +11 -1
- data/lib/foreman_openscap/helper.rb +4 -8
- data/lib/foreman_openscap/version.rb +1 -1
- data/locale/Makefile +60 -0
- data/locale/de/LC_MESSAGES/foreman_openscap.mo +0 -0
- data/locale/de/foreman_openscap.po +616 -0
- data/locale/en_GB/LC_MESSAGES/foreman_openscap.mo +0 -0
- data/locale/en_GB/foreman_openscap.po +616 -0
- data/locale/es/LC_MESSAGES/foreman_openscap.mo +0 -0
- data/locale/es/foreman_openscap.po +616 -0
- data/locale/foreman_openscap.pot +873 -0
- data/locale/fr/LC_MESSAGES/foreman_openscap.mo +0 -0
- data/locale/fr/foreman_openscap.po +616 -0
- data/locale/gl/LC_MESSAGES/foreman_openscap.mo +0 -0
- data/locale/gl/foreman_openscap.po +616 -0
- data/locale/it/LC_MESSAGES/foreman_openscap.mo +0 -0
- data/locale/it/foreman_openscap.po +616 -0
- data/locale/ja/LC_MESSAGES/foreman_openscap.mo +0 -0
- data/locale/ja/foreman_openscap.po +616 -0
- data/locale/ko/LC_MESSAGES/foreman_openscap.mo +0 -0
- data/locale/ko/foreman_openscap.po +616 -0
- data/locale/pt_BR/LC_MESSAGES/foreman_openscap.mo +0 -0
- data/locale/pt_BR/foreman_openscap.po +616 -0
- data/locale/ru/LC_MESSAGES/foreman_openscap.mo +0 -0
- data/locale/ru/foreman_openscap.po +617 -0
- data/locale/sv_SE/LC_MESSAGES/foreman_openscap.mo +0 -0
- data/locale/sv_SE/foreman_openscap.po +616 -0
- data/locale/zanata.xml +29 -0
- data/locale/zh_CN/LC_MESSAGES/foreman_openscap.mo +0 -0
- data/locale/zh_CN/foreman_openscap.po +616 -0
- data/locale/zh_TW/LC_MESSAGES/foreman_openscap.mo +0 -0
- data/locale/zh_TW/foreman_openscap.po +616 -0
- data/test/factories/policy_factory.rb +2 -2
- data/test/functional/api/v2/compliance/policies_controller_test.rb +7 -3
- data/test/test_plugin_helper.rb +35 -37
- data/test/unit/concerns/openscap_proxy_extenstions_test.rb +21 -0
- data/test/unit/openscap_host_test.rb +3 -1
- data/test/unit/policy_test.rb +125 -0
- data/test/unit/scap_content_test.rb +5 -0
- metadata +231 -198
|
@@ -6,6 +6,6 @@
|
|
|
6
6
|
{ :include_blank => _('Choose period') },
|
|
7
7
|
{ :onchange => 'period_selected(this)' }) %>
|
|
8
8
|
<%= select_f(f, :weekday, days_of_week_hash, :first, :last, :include_blank => _('Choose weekday')) %>
|
|
9
|
-
<%= select_f(f, :day_of_month, (1..31).to_a, :to_i, :to_s, :help_inline => _('Number of a day in month, note that not all months have same count of days')) %>
|
|
9
|
+
<%= select_f(f, :day_of_month, (1..31).to_a, :to_i, :to_s, :help_inline => _('Number of a day in month, note that not all months have same count of days'), :include_blank => _('Choose day in month')) %>
|
|
10
10
|
<%= text_f(f, :cron_line, :help_inline => _('You can specify custom cron line, e.g. "0 3 * * *", separate each of 5 values by space')) %>
|
|
11
11
|
</div>
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
<%= form_for @policy,
|
|
4
4
|
:url => (@policy.id? ? policy_path(:id => @policy.id) : policies_path) do |f| %>
|
|
5
5
|
<%= base_errors_for @policy %>
|
|
6
|
+
<%= f.hidden_field(:wizard_initiated, :value => @policy.wizard_initiated?) %>
|
|
6
7
|
<%= f.hidden_field(:current_step, :value => @policy.next_step) unless @policy.current_step.blank? %>
|
|
7
8
|
<% @policy.steps.each do | step | %>
|
|
8
9
|
<%= render :partial => "policies/steps/#{step.downcase.tr(' ', '_')}_form", :locals => {:f => f, :step => step} %>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<% title_actions display_link_if_authorized(_("New Compliance Policy"), hash_for_new_policy_path) %>
|
|
1
|
+
<% title_actions display_link_if_authorized(_("New Compliance Policy"), hash_for_new_policy_path, :class => "btn btn-default") %>
|
|
2
2
|
|
|
3
3
|
<% title _("Compliance policy configuration") %>
|
|
4
4
|
<div id="welcome">
|
|
@@ -6,10 +6,10 @@
|
|
|
6
6
|
<ul>
|
|
7
7
|
<% [{:template => 'policy_status_widget', :sizex => 8, :sizey => 1, :name => N_('Status table')},
|
|
8
8
|
{:template => 'policy_chart_widget', :sizex => 4, :sizey => 1, :name => N_('Status chart')}].each do |w| %>
|
|
9
|
-
<% widget =
|
|
9
|
+
<% widget = compliance_widget(w) %>
|
|
10
10
|
<%= content_tag(:li, widget_data(widget)) do %>
|
|
11
11
|
<div class="widget <%= widget.name.parameterize %>">
|
|
12
|
-
<%=
|
|
12
|
+
<%= render(:partial => widget.template, :locals => widget.data) %>
|
|
13
13
|
</div>
|
|
14
14
|
<% end %>
|
|
15
15
|
<% end %>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<% title _("SCAP Contents") %>
|
|
2
2
|
|
|
3
|
-
<% title_actions(display_link_if_authorized(_("Upload New SCAP Content"), hash_for_new_scap_content_path),
|
|
4
|
-
link_to(_("Help"), :action => "welcome")) %>
|
|
3
|
+
<% title_actions(display_link_if_authorized(_("Upload New SCAP Content"), hash_for_new_scap_content_path, :class => 'btn btn-default'),
|
|
4
|
+
link_to(_("Help"), { :action => "welcome" }, { :class => 'btn btn-info' })) %>
|
|
5
5
|
|
|
6
6
|
<%= render :partial => 'list' %>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<% title_actions display_link_if_authorized(_("New SCAP content"), hash_for_new_scap_content_path) %>
|
|
1
|
+
<% title_actions display_link_if_authorized(_("New SCAP content"), hash_for_new_scap_content_path, :class => "btn btn-default") %>
|
|
2
2
|
|
|
3
3
|
<% title _("SCAP content configuration") %>
|
|
4
4
|
<div id="welcome">
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
class RemoveDeletedPolicy < ActiveRecord::Migration
|
|
2
|
+
def up
|
|
3
|
+
ForemanOpenscap::AssetPolicy.all.collect(&:policy_id).uniq.each do |policy_id|
|
|
4
|
+
execute("DELETE FROM foreman_openscap_asset_policies WHERE policy_id = '#{policy_id}';") if ForemanOpenscap::Policy.find_by_id(policy_id).nil?
|
|
5
|
+
end
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
def down
|
|
9
|
+
end
|
|
10
|
+
end
|
|
@@ -39,7 +39,7 @@ module ForemanOpenscap
|
|
|
39
39
|
Apipie.configuration.checksum_path += ['/compliance/']
|
|
40
40
|
end
|
|
41
41
|
|
|
42
|
-
initializer 'foreman_openscap.register_plugin', :
|
|
42
|
+
initializer 'foreman_openscap.register_plugin', :before => :finisher_hook do |app|
|
|
43
43
|
Foreman::Plugin.register :foreman_openscap do
|
|
44
44
|
requires_foreman '>= 1.11'
|
|
45
45
|
|
|
@@ -124,9 +124,19 @@ module ForemanOpenscap
|
|
|
124
124
|
"dashboard link hosts with no reports", "dashboard link hosts with alerts disabled",
|
|
125
125
|
"widgets not in dashboard show up in list"]
|
|
126
126
|
})
|
|
127
|
+
# strong params
|
|
128
|
+
parameter_filter Host::Managed, :openscap_proxy_id, :openscap_proxy
|
|
129
|
+
parameter_filter Log, :result
|
|
130
|
+
|
|
127
131
|
end
|
|
128
132
|
end
|
|
129
133
|
|
|
134
|
+
initializer 'foreman_openscap.register_gettext', after: :load_config_initializers do |_app|
|
|
135
|
+
locale_dir = File.join(File.expand_path('../../..', __FILE__), 'locale')
|
|
136
|
+
locale_domain = 'foreman_openscap'
|
|
137
|
+
Foreman::Gettext::Support.add_text_domain locale_domain, locale_dir
|
|
138
|
+
end
|
|
139
|
+
|
|
130
140
|
#Include concerns in this config.to_prepare block
|
|
131
141
|
config.to_prepare do
|
|
132
142
|
Host::Managed.send(:include, ForemanOpenscap::OpenscapProxyExtensions)
|
|
@@ -16,25 +16,21 @@ module ForemanOpenscap::Helper
|
|
|
16
16
|
end
|
|
17
17
|
|
|
18
18
|
def self.find_name_or_uuid_by_host(host)
|
|
19
|
-
|
|
20
|
-
host.content_host.uuid
|
|
21
|
-
else
|
|
22
|
-
host.name
|
|
23
|
-
end
|
|
19
|
+
(host.respond_to?(:subscription_facet) && !host.subscription_facet.nil?) ? host.subscription_facet.try(:uuid) : host.name
|
|
24
20
|
end
|
|
25
21
|
|
|
26
22
|
private
|
|
27
23
|
|
|
28
24
|
def self.find_host_by_name_or_uuid(cname)
|
|
29
|
-
if
|
|
30
|
-
host = Host.
|
|
25
|
+
if Facets.registered_facets.keys.include?(:subscription_facet)
|
|
26
|
+
host = Katello::Host::SubscriptionFacet.find_by_uuid(cname).try(:host)
|
|
31
27
|
host ||= Host.find_by_name(cname)
|
|
32
28
|
else
|
|
33
29
|
host = Host.find_by_name(cname)
|
|
34
30
|
end
|
|
31
|
+
|
|
35
32
|
unless host
|
|
36
33
|
Rails.logger.error "Could not find Host with name: #{cname}"
|
|
37
|
-
Rails.logger.error "Please check that Content host is linked to Foreman host" if defined?(Katello::System)
|
|
38
34
|
fail ActiveRecord::RecordNotFound
|
|
39
35
|
end
|
|
40
36
|
host
|
data/locale/Makefile
ADDED
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
#
|
|
2
|
+
# Makefile for PO merging and MO generation. More info in the README.
|
|
3
|
+
#
|
|
4
|
+
# make all-mo (default) - generate MO files
|
|
5
|
+
# make check - check translations using translate-tool
|
|
6
|
+
# make tx-update - download and merge translations from Transifex
|
|
7
|
+
# make clean - clean everything
|
|
8
|
+
#
|
|
9
|
+
DOMAIN = foreman_openscap
|
|
10
|
+
VERSION = $(shell ruby -e 'require "rubygems";spec = Gem::Specification::load(Dir.glob("../*.gemspec")[0]);puts spec.version')
|
|
11
|
+
POTFILE = $(DOMAIN).pot
|
|
12
|
+
MOFILE = $(DOMAIN).mo
|
|
13
|
+
POFILES = $(shell find . -name '$(DOMAIN).po')
|
|
14
|
+
MOFILES = $(patsubst %.po,%.mo,$(POFILES))
|
|
15
|
+
POXFILES = $(patsubst %.po,%.pox,$(POFILES))
|
|
16
|
+
EDITFILES = $(patsubst %.po,%.edit.po,$(POFILES))
|
|
17
|
+
|
|
18
|
+
%.mo: %.po
|
|
19
|
+
mkdir -p $(shell dirname $@)/LC_MESSAGES
|
|
20
|
+
msgfmt -o $(shell dirname $@)/LC_MESSAGES/$(MOFILE) $<
|
|
21
|
+
|
|
22
|
+
# Generate MO files from PO files
|
|
23
|
+
all-mo: $(MOFILES)
|
|
24
|
+
|
|
25
|
+
# Check for malformed strings
|
|
26
|
+
%.pox: %.po
|
|
27
|
+
msgfmt -c $<
|
|
28
|
+
pofilter --nofuzzy -t variables -t blank -t urls -t emails -t long -t newlines \
|
|
29
|
+
-t endwhitespace -t endpunc -t puncspacing -t options -t printf -t validchars --gnome $< > $@
|
|
30
|
+
cat $@
|
|
31
|
+
! grep -q msgid $@
|
|
32
|
+
|
|
33
|
+
%.edit.po:
|
|
34
|
+
touch $@
|
|
35
|
+
|
|
36
|
+
check: $(POXFILES)
|
|
37
|
+
|
|
38
|
+
# Unify duplicate translations
|
|
39
|
+
uniq-po:
|
|
40
|
+
for f in $(shell find ./ -name "*.po") ; do \
|
|
41
|
+
msguniq $$f -o $$f ; \
|
|
42
|
+
done
|
|
43
|
+
|
|
44
|
+
tx-pull: $(EDITFILES)
|
|
45
|
+
tx pull -f
|
|
46
|
+
for f in $(EDITFILES) ; do \
|
|
47
|
+
sed -i 's/^\("Project-Id-Version: \).*$$/\1$(DOMAIN) $(VERSION)\\n"/' $$f; \
|
|
48
|
+
done
|
|
49
|
+
|
|
50
|
+
tx-update: tx-pull
|
|
51
|
+
@echo
|
|
52
|
+
@echo Run rake plugin:gettext[$(DOMAIN)] from the Foreman installation, then make -C locale mo-files to finish
|
|
53
|
+
@echo
|
|
54
|
+
|
|
55
|
+
mo-files: $(MOFILES)
|
|
56
|
+
git add $(POFILES) $(POTFILE) ../locale/*/LC_MESSAGES
|
|
57
|
+
git commit -m "i18n - pulling from tx"
|
|
58
|
+
@echo
|
|
59
|
+
@echo Changes commited!
|
|
60
|
+
@echo
|
|
Binary file
|