foreman_leapp 2.0.1 → 2.0.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 43c59a1ab80e574f5c262115fcb2a438c73be6a7d78f087143b17d0722326fde
4
- data.tar.gz: 13683be8ba8d390aa8b284cf24a0b33908881338a33ce794e43cc4adfd734ecf
3
+ metadata.gz: 815c2de3def891d8d23547a78937d3a85cd9998a2e4e6d46f97ac3f77a7fcd2e
4
+ data.tar.gz: c276ec42e54ed4d6dd98acc249b2de961372698a1bdf045ca462662cfb50c6bc
5
5
  SHA512:
6
- metadata.gz: ee1bb633e4ad8d3d5311f527fbc57e3d669cb91fbf8359cf500b8ae848aa7b143d7186637add46a1deec39c1367385441d8fb1927af425c4e5c266d6c9ac63d0
7
- data.tar.gz: 2814bfb36de2d66fcee36c3e5d31edf9ce5d3b97c679afcda34418b8eedd1140c4ea581fae5e31dac068da34297f87553ac80e164bf484a88c9d9a377e1188d6
6
+ metadata.gz: b5aadf3851821b208b593ce42a05b66a3c5a13af879cf6f79fa79b15dc49f7aee6aabdd7109ff552ea6eaf6b88691ce8b39292b14680d89843b0e1f6df7be919
7
+ data.tar.gz: 05f9a5f005ee281ad6f635bb211bc12728b9847315f19cbc0ba54202f04ff91c541355f070a4ec77f1eacc1585ffab4c70cb67c671fef7b51794090feb097160
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Api
4
+ module V2
5
+ module ApiAuthorizer
6
+ extend ActiveSupport::Concern
7
+
8
+ included do
9
+ before_action :hosts_permission
10
+ end
11
+
12
+ private
13
+
14
+ def hosts_permission
15
+ return if User.current.can?('view_hosts')
16
+
17
+ render_error 'access_denied', status: :forbidden,
18
+ locals: { details: N_('Missing one of the required permissions: view_hosts'),
19
+ missing_permissions: 'view_hosts' }
20
+ end
21
+
22
+ def resource_scope(_options = {})
23
+ @resource_scope ||= begin
24
+ scope = PreupgradeReport.joins(:host).merge(Host.authorized(:view_hosts, Host))
25
+ scope = scope.where(job_invocation_id: params[:id]) if action_name == 'job_invocation'
26
+ scope
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  class PreupgradeReportsController < ::Api::V2::BaseController
4
- include ApiAuthorizer
4
+ include Api::V2::ApiAuthorizer
5
5
 
6
6
  def index
7
7
  @preupgrade_reports = resource_scope.includes(:preupgrade_report_entries).search_for(*search_options)
@@ -8,8 +8,8 @@ module Actions
8
8
  end
9
9
 
10
10
  def plan(job_invocation, host, *_args)
11
- return unless ::JobHelper.correct_feature?(job_invocation, 'leapp_preupgrade') ||
12
- ::JobHelper.correct_feature?(job_invocation, 'leapp_remediation_plan')
11
+ return unless ::Helpers::JobHelper.correct_feature?(job_invocation, 'leapp_preupgrade') ||
12
+ ::Helpers::JobHelper.correct_feature?(job_invocation, 'leapp_remediation_plan')
13
13
 
14
14
  plan_self(host_id: host.id, job_invocation_id: job_invocation.id)
15
15
  end
@@ -1,11 +1,13 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- module JobHelper
4
- class << self
5
- def correct_feature?(job_invocation, feature)
6
- RemoteExecutionFeature.where(job_template_id: job_invocation.pattern_template_invocations
7
- .first
8
- .template_id, label: feature).any?
3
+ module Helpers
4
+ module JobHelper
5
+ class << self
6
+ def correct_feature?(job_invocation, feature)
7
+ RemoteExecutionFeature.where(job_template_id: job_invocation.pattern_template_invocations
8
+ .first
9
+ .template_id, label: feature).any?
10
+ end
9
11
  end
10
12
  end
11
13
  end
@@ -23,7 +23,7 @@ template_inputs:
23
23
  ---
24
24
  - hosts: all
25
25
  vars:
26
- - channel_opts: <% input('Channel') == 'ga' ? '' : "--channel #{input('Channel')}" %>
26
+ - channel_opts: <%= input('Channel') == 'ga' ? '' : "--channel #{input('Channel')}" %>
27
27
  tasks:
28
28
  - name: Run Leapp Upgrade
29
29
  command: leapp upgrade {{ channel_opts }}
@@ -7,17 +7,6 @@ module ForemanLeapp
7
7
  class Engine < ::Rails::Engine
8
8
  engine_name 'foreman_leapp'
9
9
 
10
- config.eager_load_paths += Dir["#{config.root}/app/controllers/api/v2/concerns"]
11
- config.eager_load_paths += Dir["#{config.root}/app/lib/helpers"]
12
-
13
- config.autoload_paths += Dir["#{config.root}/app/controllers/concerns"]
14
- config.autoload_paths += Dir["#{config.root}/app/controllers/api/v2/concerns"]
15
- config.autoload_paths += Dir["#{config.root}/app/helpers/concerns"]
16
- config.autoload_paths += Dir["#{config.root}/app/models/concerns"]
17
- config.autoload_paths += Dir["#{config.root}/app/overrides"]
18
- config.autoload_paths += Dir["#{config.root}/app/lib/helpers"]
19
- config.autoload_paths += Dir["#{config.root}/test/"]
20
-
21
10
  # Add any db migrations
22
11
  initializer 'foreman_leapp.load_app_instance_data' do |app|
23
12
  ForemanLeapp::Engine.paths['db/migrate'].existent.each do |path|
@@ -25,32 +14,35 @@ module ForemanLeapp
25
14
  end
26
15
  end
27
16
 
28
- initializer 'foreman_leapp.register_plugin', before: :finisher_hook do |_app|
29
- Foreman::Plugin.register :foreman_leapp do
30
- requires_foreman '>= 3.7'
31
- register_gettext
32
-
33
- apipie_documented_controllers ["#{ForemanLeapp::Engine.root}/app/controllers/api/v2/*.rb"]
34
- extend_template_helpers ForemanLeapp::TemplateHelper
35
-
36
- extend_page 'job_invocations/show' do |cx|
37
- cx.add_pagelet :main_tabs,
38
- partial: 'job_invocations/leapp_preupgrade_report',
39
- name: _('Leapp preupgrade report'),
40
- id: 'leapp_preupgrade_report',
41
- onlyif: proc { |subject|
42
- ::JobHelper.correct_feature?(subject, 'leapp_preupgrade') ||
43
- ::JobHelper.correct_feature?(subject, 'leapp_remediation_plan')
44
- }
45
- end
46
-
47
- security_block :foreman_leapp do
48
- permission :view_job_invocations, { :preupgrade_reports => %i[index show job_invocation],
49
- 'api/v2/preupgrade_reports' => %i[index show job_invocation] }
50
- end
51
-
52
- describe_host do
53
- multiple_actions_provider :leapp_hosts_multiple_actions
17
+ initializer 'foreman_leapp.register_plugin', before: :finisher_hook do |app|
18
+ app.reloader.to_prepare do
19
+ Foreman::Plugin.register :foreman_leapp do
20
+ requires_foreman '>= 3.13'
21
+ register_gettext
22
+
23
+ apipie_documented_controllers ["#{ForemanLeapp::Engine.root}/app/controllers/api/v2/*.rb"]
24
+ extend_template_helpers ForemanLeapp::TemplateHelper
25
+
26
+ extend_page 'job_invocations/show' do |cx|
27
+ cx.add_pagelet :main_tabs,
28
+ partial: 'job_invocations/leapp_preupgrade_report',
29
+ name: _('Leapp preupgrade report'),
30
+ id: 'leapp_preupgrade_report',
31
+ onlyif: proc { |subject|
32
+ ::Helpers::JobHelper.correct_feature?(subject, 'leapp_preupgrade') ||
33
+ ::Helpers::JobHelper.correct_feature?(subject, 'leapp_remediation_plan')
34
+ }
35
+ end
36
+
37
+ security_block :foreman_leapp do
38
+ permission :view_job_invocations, { :preupgrade_reports => %i[index show job_invocation],
39
+ 'api/v2/preupgrade_reports' => %i[index show job_invocation] },
40
+ :resource_type => 'JobInvocation'
41
+ end
42
+
43
+ describe_host do
44
+ multiple_actions_provider :leapp_hosts_multiple_actions
45
+ end
54
46
  end
55
47
  end
56
48
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ForemanLeapp
4
- VERSION = '2.0.1'
4
+ VERSION = '2.0.3'
5
5
  end
@@ -4,7 +4,7 @@ require 'test_plugin_helper'
4
4
 
5
5
  module Helpers
6
6
  class JobHelperTest < ActionView::TestCase
7
- let(:helper) { ::JobHelper }
7
+ let(:helper) { ::Helpers::JobHelper }
8
8
 
9
9
  let(:job_template) do
10
10
  FactoryBot.create(:job_template, template: 'echo "1"', job_category: 'leapp',
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: foreman_leapp
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.1
4
+ version: 2.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Foreman Leapp team
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-10-07 00:00:00.000000000 Z
11
+ date: 2024-12-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: foreman_remote_execution
@@ -68,8 +68,8 @@ files:
68
68
  - app/assets/javascripts/foreman_leapp/locale/ja/foreman_leapp.js
69
69
  - app/assets/javascripts/foreman_leapp/locale/ka/foreman_leapp.js
70
70
  - app/assets/javascripts/foreman_leapp/locale/zh_CN/foreman_leapp.js
71
- - app/controllers/api/v2/concerns/api_authorizer.rb
72
71
  - app/controllers/api/v2/preupgrade_reports_controller.rb
72
+ - app/controllers/concerns/api/v2/api_authorizer.rb
73
73
  - app/controllers/preupgrade_reports_controller.rb
74
74
  - app/helpers/foreman_leapp/hosts_helper.rb
75
75
  - app/helpers/foreman_leapp/template_helper.rb
@@ -213,7 +213,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
213
213
  - !ruby/object:Gem::Version
214
214
  version: '0'
215
215
  requirements: []
216
- rubygems_version: 3.2.33
216
+ rubygems_version: 3.5.23
217
217
  signing_key:
218
218
  specification_version: 4
219
219
  summary: A Foreman plugin for Leapp utility.
@@ -1,27 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module ApiAuthorizer
4
- extend ActiveSupport::Concern
5
-
6
- included do
7
- before_action :hosts_permission
8
- end
9
-
10
- private
11
-
12
- def hosts_permission
13
- return if User.current.can?('view_hosts')
14
-
15
- render_error 'access_denied', status: :forbidden,
16
- locals: { details: N_('Missing one of the required permissions: view_hosts'),
17
- missing_permissions: 'view_hosts' }
18
- end
19
-
20
- def resource_scope(_options = {})
21
- @resource_scope ||= begin
22
- scope = PreupgradeReport.joins(:host).merge(Host.authorized(:view_hosts, Host))
23
- scope = scope.where(job_invocation_id: params[:id]) if action_name == 'job_invocation'
24
- scope
25
- end
26
- end
27
- end