foreman_openscap 2.0.1 → 4.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (59) hide show
  1. checksums.yaml +5 -5
  2. data/app/controllers/api/v2/compliance/arf_reports_controller.rb +11 -3
  3. data/app/controllers/api/v2/compliance/policies_controller.rb +1 -8
  4. data/app/controllers/api/v2/compliance/scap_content_profiles_controller.rb +15 -0
  5. data/app/controllers/api/v2/compliance/scap_contents_controller.rb +3 -9
  6. data/app/controllers/api/v2/compliance/tailoring_files_controller.rb +3 -9
  7. data/app/controllers/concerns/foreman_openscap/api/v2/scap_api_controller_extensions.rb +9 -0
  8. data/app/controllers/scap_contents_controller.rb +1 -1
  9. data/app/controllers/tailoring_files_controller.rb +1 -1
  10. data/app/models/concerns/foreman_openscap/smart_proxy_extensions.rb +1 -1
  11. data/app/models/foreman_openscap/policy.rb +1 -1
  12. data/app/models/foreman_openscap/scap_content_profile.rb +3 -0
  13. data/app/services/foreman_openscap/lookup_key_overrider.rb +3 -2
  14. data/app/views/api/v2/compliance/scap_content_profiles/base.json.rabl +3 -0
  15. data/app/views/api/v2/compliance/scap_content_profiles/index.json.rabl +3 -0
  16. data/app/views/api/v2/compliance/scap_content_profiles/main.json.rabl +9 -0
  17. data/app/views/arf_reports/_list.html.erb +1 -1
  18. data/app/views/arf_reports/welcome.html.erb +2 -0
  19. data/app/views/hosts/select_multiple_openscap_proxy.html.erb +1 -1
  20. data/app/views/policies/disassociate_multiple_hosts.html.erb +1 -1
  21. data/app/views/policies/select_multiple_hosts.html.erb +1 -1
  22. data/config/routes.rb +2 -0
  23. data/db/migrate/20150929152345_move_arf_reports_to_reports_table.rb +0 -2
  24. data/db/migrate/20200117135424_migrate_port_overrides_to_int.rb +24 -0
  25. data/lib/foreman_openscap/engine.rb +9 -6
  26. data/lib/foreman_openscap/helper.rb +1 -1
  27. data/lib/foreman_openscap/version.rb +1 -1
  28. data/locale/action_names.rb +2 -7
  29. data/locale/de/LC_MESSAGES/foreman_openscap.mo +0 -0
  30. data/locale/de/foreman_openscap.po +9 -194
  31. data/locale/en_GB/LC_MESSAGES/foreman_openscap.mo +0 -0
  32. data/locale/en_GB/foreman_openscap.po +8 -194
  33. data/locale/es/LC_MESSAGES/foreman_openscap.mo +0 -0
  34. data/locale/es/foreman_openscap.po +5 -191
  35. data/locale/foreman_openscap.pot +91 -336
  36. data/locale/fr/LC_MESSAGES/foreman_openscap.mo +0 -0
  37. data/locale/fr/foreman_openscap.po +5 -191
  38. data/locale/gl/LC_MESSAGES/foreman_openscap.mo +0 -0
  39. data/locale/gl/foreman_openscap.po +4 -190
  40. data/locale/it/LC_MESSAGES/foreman_openscap.mo +0 -0
  41. data/locale/it/foreman_openscap.po +4 -190
  42. data/locale/ja/LC_MESSAGES/foreman_openscap.mo +0 -0
  43. data/locale/ja/foreman_openscap.po +5 -191
  44. data/locale/ko/LC_MESSAGES/foreman_openscap.mo +0 -0
  45. data/locale/ko/foreman_openscap.po +4 -190
  46. data/locale/pt_BR/LC_MESSAGES/foreman_openscap.mo +0 -0
  47. data/locale/pt_BR/foreman_openscap.po +5 -191
  48. data/locale/ru/LC_MESSAGES/foreman_openscap.mo +0 -0
  49. data/locale/ru/foreman_openscap.po +4 -190
  50. data/locale/sv_SE/LC_MESSAGES/foreman_openscap.mo +0 -0
  51. data/locale/sv_SE/foreman_openscap.po +4 -190
  52. data/locale/zh_CN/LC_MESSAGES/foreman_openscap.mo +0 -0
  53. data/locale/zh_CN/foreman_openscap.po +5 -191
  54. data/locale/zh_TW/LC_MESSAGES/foreman_openscap.mo +0 -0
  55. data/locale/zh_TW/foreman_openscap.po +4 -190
  56. data/test/functional/api/v2/compliance/arf_reports_controller_test.rb +0 -3
  57. data/test/functional/api/v2/compliance/scap_content_profiles_controller_test.rb +15 -0
  58. data/test/test_plugin_helper.rb +2 -2
  59. metadata +18 -11
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 3cecea7c25a4175089ea99076020945bf8fad878
4
- data.tar.gz: dc5e374d9ec51a449b9d753d61679416db110a76
2
+ SHA256:
3
+ metadata.gz: afb07ec68598ddfebdea1a16d50489cb5ca88cd7e5e0eb0294591704ac41d06d
4
+ data.tar.gz: 2c9aeed9bd9244263002370796e1439801dbe29183f4f19c99bc33d5aa5168b3
5
5
  SHA512:
6
- metadata.gz: 556c68d4bb0a4bbb25c137bbf794cf44ff897a145453ba83b88790146e6e16cf51d76c33196d4b06bca4f2aab022f029a4d16ce4b7c2ae8f8d37b61e8a1edf08
7
- data.tar.gz: fee367c23e8d58cf4b327ccbd363c2eba01f71f3a1de733a34f973d55527da2e4bced9ff6f3b6e87e3c567a49fe49f6251cc8531b183a6ace19bb401f853e60a
6
+ metadata.gz: 93afb936e476d4b8ddc3c616ec5820b7609cf8fefc59478ac7011b78edef1e33946d194ba4a47dde89acf19dcbc6d6fd74f6e5ba501502ae9a1ef7663e1b77ed
7
+ data.tar.gz: c5aeec2a9ceee0c88d40e279dda82316e4a13eeb5e4b31856fa2625b20e994cf10e13b338286b5550e6d9ba107c78de0049d6587610404c31d2c3d5ecbc7b85f
@@ -90,12 +90,14 @@ module Api
90
90
  end
91
91
 
92
92
  def find_resources_before_create
93
- unless ForemanOpenscap::Policy.where(:id => params[:policy_id]).any?
94
- upload_fail(_("Policy with id %s not found.") % params[:policy_id])
93
+ policy_id = params[:policy_id].to_i
94
+
95
+ unless ForemanOpenscap::Policy.where(:id => policy_id).any?
96
+ upload_fail(_("Policy with id %s not found.") % policy_id)
95
97
  return
96
98
  end
97
99
 
98
- @asset = ForemanOpenscap::Helper::get_asset(params[:cname], params[:policy_id])
100
+ @asset = ForemanOpenscap::Helper::get_asset(params[:cname], policy_id)
99
101
 
100
102
  unless @asset
101
103
  upload_fail(_('Could not find host identified by: %s') % params[:cname])
@@ -138,6 +140,12 @@ module Api
138
140
  super
139
141
  end
140
142
  end
143
+
144
+ protected
145
+
146
+ def assign_lone_taxonomies
147
+ # do not assign lone taxonomies to arf report
148
+ end
141
149
  end
142
150
  end
143
151
  end
@@ -3,6 +3,7 @@ module Api::V2
3
3
  class PoliciesController < ::Api::V2::BaseController
4
4
  include Foreman::Controller::SmartProxyAuth
5
5
  include Foreman::Controller::Parameters::PolicyApi
6
+ include ForemanOpenscap::Api::V2::ScapApiControllerExtensions
6
7
 
7
8
  add_smart_proxy_filters %i[content tailoring], :features => 'Openscap'
8
9
 
@@ -10,14 +11,6 @@ module Api::V2
10
11
 
11
12
  skip_after_action :log_response_body, :only => [:content]
12
13
 
13
- def resource_name(resource = '::ForemanOpenscap::Policy')
14
- super resource
15
- end
16
-
17
- def get_resource(message = 'no resource loaded')
18
- instance_variable_get(:"@policy") || raise(message)
19
- end
20
-
21
14
  def policy_url(policy = nil)
22
15
  api_compliance_policy_url(@policy)
23
16
  end
@@ -0,0 +1,15 @@
1
+ module Api::V2
2
+ module Compliance
3
+ class ScapContentProfilesController < ::Api::V2::BaseController
4
+ include ForemanOpenscap::Api::V2::ScapApiControllerExtensions
5
+
6
+ api :GET, '/compliance/scap_content_profiles', N_('List SCAP content profiles')
7
+ param_group :search_and_pagination, ::Api::V2::BaseController
8
+ add_scoped_search_description_for(::ForemanOpenscap::ScapContentProfile)
9
+
10
+ def index
11
+ @scap_content_profiles = resource_scope_for_index(:permission => :view_scap_contents).includes(:scap_content, :tailoring_file)
12
+ end
13
+ end
14
+ end
15
+ end
@@ -3,15 +3,9 @@ module Api::V2
3
3
  class ScapContentsController < ::Api::V2::BaseController
4
4
  include Foreman::Controller::Parameters::ScapContent
5
5
  include ForemanOpenscap::BodyLogExtensions
6
- before_action :find_resource, :except => %w[index create]
7
-
8
- def resource_name(resource = '::ForemanOpenscap::ScapContent')
9
- super resource
10
- end
6
+ include ForemanOpenscap::Api::V2::ScapApiControllerExtensions
11
7
 
12
- def get_resource(message = 'no resource loaded')
13
- instance_variable_get(:"@scap_content") || raise(message)
14
- end
8
+ before_action :find_resource, :except => %w[index create]
15
9
 
16
10
  api :GET, '/compliance/scap_contents', N_('List SCAP contents')
17
11
  param_group :search_and_pagination, ::Api::V2::BaseController
@@ -57,7 +51,7 @@ module Api::V2
57
51
  param_group :scap_content
58
52
 
59
53
  def update
60
- process_response @scap_content.update_attributes(scap_content_params)
54
+ process_response @scap_content.update(scap_content_params)
61
55
  end
62
56
 
63
57
  api :DELETE, '/compliance/scap_contents/:id', N_('Deletes an SCAP content')
@@ -3,17 +3,11 @@ module Api::V2
3
3
  class TailoringFilesController < ::Api::V2::BaseController
4
4
  include Foreman::Controller::Parameters::TailoringFile
5
5
  include ForemanOpenscap::BodyLogExtensions
6
+ include ForemanOpenscap::Api::V2::ScapApiControllerExtensions
7
+
6
8
  before_action :find_resource, :except => %w[index create]
7
9
  before_action :openscap_proxy_check, :only => %w[create]
8
10
 
9
- def resource_name(resource = '::ForemanOpenscap::TailoringFile')
10
- super resource
11
- end
12
-
13
- def get_resource(message = 'no resource loaded')
14
- instance_variable_get(:"@tailoring_file") || raise(message)
15
- end
16
-
17
11
  api :GET, '/compliance/tailoring_files', N_('List Tailoring files')
18
12
  param_group :search_and_pagination, ::Api::V2::BaseController
19
13
  add_scoped_search_description_for(::ForemanOpenscap::TailoringFile)
@@ -58,7 +52,7 @@ module Api::V2
58
52
  param_group :tailoring_file
59
53
 
60
54
  def update
61
- process_response @tailoring_file.update_attributes(tailoring_file_params)
55
+ process_response @tailoring_file.update(tailoring_file_params)
62
56
  end
63
57
 
64
58
  api :DELETE, '/compliance/tailoring_files/:id', N_('Deletes a Tailoring file')
@@ -0,0 +1,9 @@
1
+ module ForemanOpenscap
2
+ module Api::V2::ScapApiControllerExtensions
3
+ extend ActiveSupport::Concern
4
+
5
+ def resource_class_for(resource)
6
+ super "foreman_openscap/#{resource}"
7
+ end
8
+ end
9
+ end
@@ -33,7 +33,7 @@ class ScapContentsController < ApplicationController
33
33
  end
34
34
 
35
35
  def update
36
- if @scap_content.update_attributes(scap_content_params)
36
+ if @scap_content.update(scap_content_params)
37
37
  process_success
38
38
  else
39
39
  process_error
@@ -30,7 +30,7 @@ class TailoringFilesController < ApplicationController
30
30
  end
31
31
 
32
32
  def update
33
- if @tailoring_file.update_attributes(tailoring_file_params)
33
+ if @tailoring_file.update(tailoring_file_params)
34
34
  process_success
35
35
  else
36
36
  process_error
@@ -11,7 +11,7 @@ module ForemanOpenscap
11
11
  end
12
12
 
13
13
  def port
14
- url.match(PORT_MATCH)[1]
14
+ url.match(PORT_MATCH)[1].to_i
15
15
  end
16
16
 
17
17
  private
@@ -67,7 +67,7 @@ module ForemanOpenscap
67
67
  ForemanOpenscap::LookupKeyOverrider.new(self).override
68
68
  end
69
69
 
70
- errors.none? && update_attributes(params)
70
+ errors.none? && update(params)
71
71
  end
72
72
  end
73
73
 
@@ -4,5 +4,8 @@ module ForemanOpenscap
4
4
  has_many :policies
5
5
  belongs_to :tailoring_file
6
6
  has_many :tailoring_file_policies, :class_name => 'ForemanOpenscap::Policy'
7
+
8
+ scoped_search :on => :profile_id, :complete_value => true
9
+ scoped_search :on => :title, :complete_value => true
7
10
  end
8
11
  end
@@ -71,16 +71,17 @@ module ForemanOpenscap
71
71
  end
72
72
 
73
73
  def override_port_param(param, config)
74
- override_param config.port_param, param, config
74
+ override_param config.port_param, param, config, 'integer'
75
75
  end
76
76
 
77
77
  def override_server_param(param, config)
78
78
  override_param config.server_param, param, config
79
79
  end
80
80
 
81
- def override_param(param_name, param, config)
81
+ def override_param(param_name, param, config, key_type = nil)
82
82
  param.override = true
83
83
  param.hidden_value = false
84
+ param.key_type = key_type if key_type
84
85
 
85
86
  yield param if block_given?
86
87
 
@@ -0,0 +1,3 @@
1
+ object @scap_content_profile
2
+
3
+ attributes :id, :profile_id, :title
@@ -0,0 +1,3 @@
1
+ collection @scap_content_profiles
2
+
3
+ extends "api/v2/compliance/scap_content_profiles/main"
@@ -0,0 +1,9 @@
1
+ extends "api/v2/compliance/scap_content_profiles/base"
2
+
3
+ child :scap_content => :scap_content do |scap_content|
4
+ attributes :id, :title
5
+ end
6
+
7
+ child :tailoring_file => :tailoring_file do |tailoring_file|
8
+ attributes :id, :name
9
+ end
@@ -51,7 +51,7 @@
51
51
  </div>
52
52
  <div class="modal-footer">
53
53
  <button type="button" class="btn btn-default" data-dismiss="modal"><%= _('Cancel') %></button>
54
- <button type="button" class="btn btn-primary" onclick="submit_modal_form()"><%= _('Submit') %></button>
54
+ <button type="button" class="btn btn-primary" onclick="tfm.hosts.table.submitModalForm()"><%= _('Submit') %></button>
55
55
  </div>
56
56
  </div>
57
57
  </div>
@@ -1,3 +1,5 @@
1
+ <% title _("Compliance Reports") %>
2
+
1
3
  <div class="blank-slate-pf">
2
4
  <div class="blank-slate-pf-icon">
3
5
  <%= icon_text("book", "", :kind => "fa") %>
@@ -4,5 +4,5 @@
4
4
  :url => update_multiple_openscap_proxy_hosts_path(:host_ids => params[:host_ids]) do |f| %>
5
5
  <%= selectable_f f, :id, [[_("Select OpenSCAP Proxy"), "None"],
6
6
  ] + SmartProxy.with_features(['Openscap']).map{|e| [e.name, e.id]},{},
7
- :onchange => "toggle_multiple_ok_button(this)" %>
7
+ :onchange => "tfm.hosts.table.toggleMultipleOkButton(this)" %>
8
8
  <% end %>
@@ -3,5 +3,5 @@
3
3
  :url => remove_policy_from_multiple_hosts_policies_path(:host_ids => params[:host_ids]) do |f| %>
4
4
  <%= selectable_f f, :id, [[_('Select Compliance Policy'), 'disabled'],
5
5
  ] + ForemanOpenscap::Policy.all.map{|e| [e.name, e.id]},{},
6
- :onchange => 'toggle_multiple_ok_button(this)' %>
6
+ :onchange => 'tfm.hosts.table.toggleMultipleOkButton(this)' %>
7
7
  <% end %>
@@ -4,5 +4,5 @@
4
4
  :url => update_multiple_hosts_policies_path(:host_ids => params[:host_ids]) do |f| %>
5
5
  <%= selectable_f f, :id, [[_("Select Compliance Policy"), "disabled"],
6
6
  ] + ForemanOpenscap::Policy.all.map{|e| [e.name, e.id]},{},
7
- :onchange => "toggle_multiple_ok_button(this)" %>
7
+ :onchange => "tfm.hosts.table.toggleMultipleOkButton(this)" %>
8
8
  <% end %>
@@ -65,6 +65,8 @@ Rails.application.routes.draw do
65
65
  get 'xml'
66
66
  end
67
67
  end
68
+ resources :scap_content_profiles, :only => %i[index]
69
+
68
70
  resources :tailoring_files, :except => %i[new edit] do
69
71
  member do
70
72
  get 'xml'
@@ -1,6 +1,4 @@
1
1
  class MoveArfReportsToReportsTable < ActiveRecord::Migration[4.2]
2
- # rubocop:disable Metrics/MethodLength
3
- # rubocop:disable Metrics/AbcSize
4
2
  def up
5
3
  execute 'DROP VIEW foreman_openscap_arf_report_breakdowns' if view_exists? 'foreman_openscap_arf_report_breakdowns'
6
4
  drop_table :foreman_openscap_xccdf_results
@@ -0,0 +1,24 @@
1
+ class MigratePortOverridesToInt < ActiveRecord::Migration[5.2]
2
+ def up
3
+ transform_lookup_values :to_i
4
+ end
5
+
6
+ def down
7
+ transform_lookup_values :to_s
8
+ end
9
+
10
+ private
11
+
12
+ def transform_lookup_values(method)
13
+ puppet_class = Puppetclass.find_by :name => 'foreman_scap_client'
14
+ return unless puppet_class
15
+ port_key = puppet_class.class_params.find_by :key => 'port'
16
+ return unless port_key
17
+ port_key.lookup_values.in_batches do |batch|
18
+ batch.each do |lookup_value|
19
+ lookup_value.value = lookup_value.value.send(method)
20
+ lookup_value.save
21
+ end
22
+ end
23
+ end
24
+ end
@@ -51,8 +51,7 @@ module ForemanOpenscap
51
51
 
52
52
  apipie_documented_controllers ["#{ForemanOpenscap::Engine.root}/app/controllers/api/v2/compliance/*.rb"]
53
53
 
54
- version = SETTINGS[:version]
55
- register_custom_status ForemanOpenscap::ComplianceStatus if version.major.to_i >= 1 && version.minor.to_i >= 10
54
+ register_custom_status ForemanOpenscap::ComplianceStatus
56
55
 
57
56
  # Add permissions
58
57
  security_block :foreman_openscap do
@@ -86,7 +85,8 @@ module ForemanOpenscap
86
85
  remove_policy_from_multiple_hosts] },
87
86
  :resource_type => 'ForemanOpenscap::Policy'
88
87
  permission :view_scap_contents, { :scap_contents => %i[index show auto_complete_search],
89
- 'api/v2/compliance/scap_contents' => %i[index show xml] },
88
+ 'api/v2/compliance/scap_contents' => %i[index show xml],
89
+ 'api/v2/compliance/scap_content_profiles' => %i[index] },
90
90
  :resource_type => 'ForemanOpenscap::ScapContent'
91
91
  permission :edit_scap_contents, { :scap_contents => %i[edit update],
92
92
  'api/v2/compliance/scap_contents' => [:update] },
@@ -109,7 +109,8 @@ module ForemanOpenscap
109
109
  permission :view_tailoring_files, { :tailoring_files => %i[index auto_complete_search xml],
110
110
  :policies => [:tailoring_file_selected],
111
111
  'api/v2/compliance/tailoring_files' => %i[show xml index],
112
- 'api/v2/compliance/policies' => [:tailoring] },
112
+ 'api/v2/compliance/policies' => [:tailoring],
113
+ 'api/v2/compliance/scap_content_profiles' => %i[index] },
113
114
  :resource_type => 'ForemanOpenscap::TailoringFile'
114
115
  permission :edit_tailoring_files, { :tailoring_files => %i[edit update],
115
116
  'api/v2/compliance/tailoring_files' => [:update] },
@@ -121,12 +122,14 @@ module ForemanOpenscap
121
122
  :resource_type => 'SmartProxy'
122
123
  end
123
124
 
124
- role "Compliance viewer", %i[view_arf_reports view_policies view_scap_contents view_tailoring_files view_openscap_proxies]
125
+ role "Compliance viewer", %i[view_arf_reports view_policies view_scap_contents view_tailoring_files view_openscap_proxies],
126
+ "Role granting read permissions to policy configuration, scan results and downloading reports."
125
127
  role "Compliance manager", %i[view_arf_reports view_policies view_scap_contents
126
128
  destroy_arf_reports edit_policies edit_scap_contents assign_policies
127
129
  create_policies create_scap_contents destroy_policies destroy_scap_contents
128
130
  create_tailoring_files view_tailoring_files edit_tailoring_files destroy_tailoring_files
129
- view_openscap_proxies]
131
+ view_openscap_proxies],
132
+ "Role granting all permissions to compliance features to non-admin users."
130
133
  role "Create ARF report", [:create_arf_reports] # special as only Proxy can create
131
134
 
132
135
  add_all_permissions_to_default_roles
@@ -2,7 +2,7 @@ module ForemanOpenscap::Helper
2
2
  def self.get_asset(cname, policy_id)
3
3
  asset = find_host_by_name_or_uuid(cname)&.get_asset
4
4
  return unless asset
5
- asset.policy_ids += [policy_id]
5
+ asset.policy_ids += [policy_id] unless asset.policy_ids.include?(policy_id)
6
6
  asset
7
7
  end
8
8
 
@@ -1,3 +1,3 @@
1
1
  module ForemanOpenscap
2
- VERSION = "2.0.1".freeze
2
+ VERSION = "4.0.1".freeze
3
3
  end
@@ -1,10 +1,5 @@
1
1
  # Autogenerated!
2
- _("Import Puppet classes")
3
- _("Remote action:")
4
2
  _("Action with sub plans")
5
3
  _("Import facts")
6
- _("Delete host")
7
- _("Update host")
8
- _("Update node")
9
- _("Create client")
10
- _("Delete client")
4
+ _("Import Puppet classes")
5
+ _("Remote action:")
@@ -6,12 +6,13 @@
6
6
  # Crited <Alexander.Stoll@netways.de>, 2019
7
7
  # Ettore Atalan <atalanttore@googlemail.com>, 2016-2017
8
8
  # FIRST AUTHOR <EMAIL@ADDRESS>, 2016
9
+ # Ludwig B <lbayerlein@lbayerlein.de>, 2020
9
10
  msgid ""
10
11
  msgstr ""
11
12
  "Project-Id-Version: Foreman\n"
12
13
  "Report-Msgid-Bugs-To: \n"
13
- "PO-Revision-Date: 2019-09-05 20:17+0000\n"
14
- "Last-Translator: Lukáš Zapletal\n"
14
+ "PO-Revision-Date: 2020-03-02 20:59+0000\n"
15
+ "Last-Translator: Crited <Alexander.Stoll@netways.de>\n"
15
16
  "Language-Team: German (http://www.transifex.com/foreman/foreman/language/de/)\n"
16
17
  "MIME-Version: 1.0\n"
17
18
  "Content-Type: text/plain; charset=UTF-8\n"
@@ -54,9 +55,6 @@ msgstr "Foreman OpenSCAP Zusammenfassung"
54
55
  msgid "A summary of reports for OpenSCAP policies"
55
56
  msgstr "Eine Zusammenfassung der Berichte für OpenSCAP-Richtlinien"
56
57
 
57
- msgid "Abstract async task"
58
- msgstr ""
59
-
60
58
  msgid "Action with sub plans"
61
59
  msgstr "Aktion mit Unterplänen"
62
60
 
@@ -81,15 +79,6 @@ msgstr "Richtlinie auf Hosts anwenden"
81
79
  msgid "Assign Compliance Policy"
82
80
  msgstr "Compliance-Richtlinie zuweisen"
83
81
 
84
- msgid "Attach subscriptions"
85
- msgstr ""
86
-
87
- msgid "Auto attach subscriptions"
88
- msgstr ""
89
-
90
- msgid "Auto-attach subscriptions"
91
- msgstr ""
92
-
93
82
  msgid "Back"
94
83
  msgstr "Zurück"
95
84
 
@@ -129,9 +118,6 @@ msgstr "Zeitraum auswählen"
129
118
  msgid "Choose weekday"
130
119
  msgstr "Wochentag auswählen"
131
120
 
132
- msgid "Combined Profile Update"
133
- msgstr ""
134
-
135
121
  msgid "Compliance"
136
122
  msgstr "Konformität"
137
123
 
@@ -171,12 +157,6 @@ msgstr ""
171
157
  msgid "Could not validate %{file_type}. Error %{error}"
172
158
  msgstr "Konnte nicht %{file_type} validieren. Fehler: %{error}"
173
159
 
174
- msgid "Create"
175
- msgstr ""
176
-
177
- msgid "Create Package Group"
178
- msgstr ""
179
-
180
160
  msgid "Create SCAP content"
181
161
  msgstr "SCAP-Inhalt erstellen"
182
162
 
@@ -201,18 +181,6 @@ msgstr "Standardmäßiges XCCDF-Profil"
201
181
  msgid "Delete"
202
182
  msgstr "Löschen"
203
183
 
204
- msgid "Delete Activation Key"
205
- msgstr ""
206
-
207
- msgid "Delete Lifecycle Environment"
208
- msgstr ""
209
-
210
- msgid "Delete Package Group"
211
- msgstr ""
212
-
213
- msgid "Delete Product"
214
- msgstr ""
215
-
216
184
  msgid "Delete a Policy"
217
185
  msgstr "Richtlinie löschen"
218
186
 
@@ -249,18 +217,6 @@ msgstr ""
249
217
  msgid "Description"
250
218
  msgstr "Beschreibung"
251
219
 
252
- msgid "Destroy"
253
- msgstr ""
254
-
255
- msgid "Destroy Content Host"
256
- msgstr ""
257
-
258
- msgid "Disable"
259
- msgstr ""
260
-
261
- msgid "Discover"
262
- msgstr ""
263
-
264
220
  msgid "Documentation"
265
221
  msgstr "Dokumentation"
266
222
 
@@ -297,15 +253,6 @@ msgstr ""
297
253
  msgid "Effective Profile"
298
254
  msgstr "Effektives Profil"
299
255
 
300
- msgid "Enable"
301
- msgstr ""
302
-
303
- msgid "Errata mail"
304
- msgstr ""
305
-
306
- msgid "Export"
307
- msgstr ""
308
-
309
256
  msgid "Failed"
310
257
  msgstr "Fehlgeschlagen"
311
258
 
@@ -319,13 +266,13 @@ msgid "Failed to delete %s compliance reports"
319
266
  msgstr "Compliance-Berichte %s konnten nicht gelöscht werden"
320
267
 
321
268
  msgid "Failed to delete ARF Report for host %{host_name} reported at %{reported_at}"
322
- msgstr ""
269
+ msgstr "ARF Bericht für den Host %{host_name} vom %{reported_at} konnte nicht gelöscht werden."
323
270
 
324
271
  msgid "Failed to downloaded ARF report as bzip: %s"
325
272
  msgstr "ARF als bzip report wurde nicht heruntergeladen: %s"
326
273
 
327
274
  msgid "Failed to downloaded ARF report in HTML: %s"
328
- msgstr ""
275
+ msgstr "ARF Bericht im HTML Format konnte nicht heruntergeladen werden: %s"
329
276
 
330
277
  msgid "Failed to fetch spool status from proxy"
331
278
  msgstr ""
@@ -334,21 +281,15 @@ msgid "Failed to save when overriding parameters for %{config_tool}, cause: %{er
334
281
  msgstr ""
335
282
 
336
283
  msgid "Failed to upload Arf Report, OpenSCAP proxy name or url not found in params when uploading for %s and host is missing openscap_proxy"
337
- msgstr ""
284
+ msgstr "Der Upload des Arf Reports ist fehlgeschlagen, der OpenSCAP Proxyname oder die URL konnte beim Upload in den Parametern für %s nicht gefunden werden. Es fehlt der openscap_proxy für den Host."
338
285
 
339
286
  #. TRANSLATORS: initial character of Failed
340
287
  msgid "Failed|F"
341
288
  msgstr "Fehlgeschlagen|F "
342
289
 
343
- msgid "Fetch pxe files"
344
- msgstr ""
345
-
346
290
  msgid "File Upload"
347
291
  msgstr "Datei hochladen"
348
292
 
349
- msgid "Filtered index content"
350
- msgstr ""
351
-
352
293
  msgid "Full Report"
353
294
  msgstr "Ganzer Bericht"
354
295
 
@@ -406,12 +347,6 @@ msgstr "Regel angewandt auf Hosts."
406
347
  msgid "How the policy should be deployed"
407
348
  msgstr ""
408
349
 
409
- msgid "Hypervisors"
410
- msgstr ""
411
-
412
- msgid "Hypervisors update"
413
- msgstr ""
414
-
415
350
  msgid "ID of OpenSCAP Proxy"
416
351
  msgstr "Kennung des OpenSCAP-Proxys"
417
352
 
@@ -446,39 +381,6 @@ msgstr "Nicht eindeutig "
446
381
  msgid "Inconclusive results"
447
382
  msgstr "Ergebnisse sind nicht eindeutig"
448
383
 
449
- msgid "Incremental Update"
450
- msgstr ""
451
-
452
- msgid "Incremental Update of Content View Version(s) "
453
- msgstr ""
454
-
455
- msgid "Index content"
456
- msgstr ""
457
-
458
- msgid "Index errata"
459
- msgstr ""
460
-
461
- msgid "Index module streams"
462
- msgstr ""
463
-
464
- msgid "Index package groups"
465
- msgstr ""
466
-
467
- msgid "Install Applicable Errata"
468
- msgstr ""
469
-
470
- msgid "Install erratum"
471
- msgstr ""
472
-
473
- msgid "Install package"
474
- msgstr ""
475
-
476
- msgid "Install package group"
477
- msgstr ""
478
-
479
- msgid "Instance update"
480
- msgstr ""
481
-
482
384
  msgid "It may sometimes be required to adjust the security policy to your specific needs. "
483
385
  msgstr "Es könnte angebracht sein die Sicherheits-Richtlinien den eigenen Anforderungen anzupassen."
484
386
 
@@ -494,6 +396,9 @@ msgstr "ARF-Berichte auflisten"
494
396
  msgid "List Policies"
495
397
  msgstr "Richtlinien auflisten"
496
398
 
399
+ msgid "List SCAP content profiles"
400
+ msgstr ""
401
+
497
402
  msgid "List SCAP contents"
498
403
  msgstr "SCAP-Inhalte auflisten"
499
404
 
@@ -636,9 +541,6 @@ msgstr "Anderweitiges Ergebnis"
636
541
  msgid "Othered|O"
637
542
  msgstr "Anderweitig|A"
638
543
 
639
- msgid "Package Profile Update"
640
- msgstr ""
641
-
642
544
  msgid "Passed"
643
545
  msgstr "Erfolgreich"
644
546
 
@@ -697,24 +599,9 @@ msgstr ""
697
599
  msgid "Policy with id %s not found."
698
600
  msgstr "Richtlinie mit Kennung %s nicht gefunden."
699
601
 
700
- msgid "Product Create"
701
- msgstr ""
702
-
703
- msgid "Promote"
704
- msgstr ""
705
-
706
- msgid "Promotion to Environment"
707
- msgstr ""
708
-
709
602
  msgid "Proxy failed to send a report from spool to Foreman. This indicates a corrupted report format. Report has been moved to directory for storing corrupted files on proxy for later inspection."
710
603
  msgstr ""
711
604
 
712
- msgid "Publish"
713
- msgstr ""
714
-
715
- msgid "Publish Lifecycle Environment Repositories"
716
- msgstr ""
717
-
718
605
  msgid "Puppet class"
719
606
  msgstr "Puppet-Klasse"
720
607
 
@@ -724,33 +611,9 @@ msgstr "Begründung"
724
611
  msgid "References"
725
612
  msgstr "Verweise"
726
613
 
727
- msgid "Reindex subscriptions"
728
- msgstr ""
729
-
730
614
  msgid "Remote action:"
731
615
  msgstr "Entfernte Aktion"
732
616
 
733
- msgid "Remove Content"
734
- msgstr ""
735
-
736
- msgid "Remove Version"
737
- msgstr ""
738
-
739
- msgid "Remove Versions and Associations"
740
- msgstr ""
741
-
742
- msgid "Remove from Environment"
743
- msgstr ""
744
-
745
- msgid "Remove package"
746
- msgstr ""
747
-
748
- msgid "Remove package group"
749
- msgstr ""
750
-
751
- msgid "Remove subscriptions"
752
- msgstr ""
753
-
754
617
  msgid "Report Metrics"
755
618
  msgstr "Berichtsmetrik"
756
619
 
@@ -766,9 +629,6 @@ msgstr "Berichtet um %s"
766
629
  msgid "Reports"
767
630
  msgstr "Berichte"
768
631
 
769
- msgid "Republish Version Repositories"
770
- msgstr ""
771
-
772
632
  msgid "Request timed out. Please try increasing Settings -> proxy_request_timeout"
773
633
  msgstr ""
774
634
 
@@ -787,9 +647,6 @@ msgstr ""
787
647
  msgid "Run OpenSCAP scan"
788
648
  msgstr "Führe OpenSCAP Scan aus"
789
649
 
790
- msgid "Run Sync Plan:"
791
- msgstr ""
792
-
793
650
  msgid "SCAP Content"
794
651
  msgstr "SCAP-Inhalt"
795
652
 
@@ -895,15 +752,6 @@ msgstr "Zusammenfassungsbericht des OpenSCAP vom Foreman"
895
752
  msgid "Summary report from Foreman server at %{foreman_url}"
896
753
  msgstr "Zusammenfassungbericht vom Foreman-Server unter %{foreman_url}"
897
754
 
898
- msgid "Sync capsule"
899
- msgstr ""
900
-
901
- msgid "Synchronize"
902
- msgstr ""
903
-
904
- msgid "Synchronize smart proxy"
905
- msgstr ""
906
-
907
755
  msgid "Tailoring File"
908
756
  msgstr ""
909
757
 
@@ -968,12 +816,6 @@ msgstr "Zuweisung der Compliance-Richtline aufheben"
968
816
  msgid "Unknown Compliance status"
969
817
  msgstr "Compliance-Status unbekannt"
970
818
 
971
- msgid "Update"
972
- msgstr ""
973
-
974
- msgid "Update Content Overrides"
975
- msgstr ""
976
-
977
819
  msgid "Update a Policy"
978
820
  msgstr "Richtlinie aktualisieren "
979
821
 
@@ -983,27 +825,6 @@ msgstr ""
983
825
  msgid "Update an SCAP content"
984
826
  msgstr "Einen SCAP-Inhalt aktualisieren "
985
827
 
986
- msgid "Update content urls"
987
- msgstr ""
988
-
989
- msgid "Update for host"
990
- msgstr ""
991
-
992
- msgid "Update http proxy"
993
- msgstr ""
994
-
995
- msgid "Update http proxy details"
996
- msgstr ""
997
-
998
- msgid "Update package"
999
- msgstr ""
1000
-
1001
- msgid "Update redhat repository"
1002
- msgstr ""
1003
-
1004
- msgid "Update release version for host"
1005
- msgstr ""
1006
-
1007
828
  msgid "Updated hosts: Assigned with OpenSCAP Proxy: %s"
1008
829
  msgstr "Host aktualisiert: Zugewiesen mit OpenSCAP Proxy: %s"
1009
830
 
@@ -1022,12 +843,6 @@ msgstr ""
1022
843
  msgid "Upload an ARF report"
1023
844
  msgstr "Einen Arf-Bericht hochladen"
1024
845
 
1025
- msgid "Upload errata into"
1026
- msgstr ""
1027
-
1028
- msgid "Upload into"
1029
- msgstr ""
1030
-
1031
846
  msgid "Upload new SCAP content file"
1032
847
  msgstr "Neue Datei für SCAP-Inhalt hochladen"
1033
848