foreman_simplify 0.0.5
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +3 -0
- data/Gemfile +4 -0
- data/LICENSE +13 -0
- data/README.md +17 -0
- data/Rakefile +2 -0
- data/app/overrides/disable_audits.rb +7 -0
- data/app/overrides/disable_compute_resources.rb +20 -0
- data/app/overrides/disable_statistics.rb +3 -0
- data/app/overrides/disable_trends.rb +3 -0
- data/app/patches/audits_controller_patch.rb +6 -0
- data/app/patches/compute_resources_controller_patch.rb +7 -0
- data/app/patches/compute_resources_vms_controller_patch.rb +5 -0
- data/app/patches/images_controller_patch.rb +7 -0
- data/app/patches/statistics_controller_patch.rb +3 -0
- data/app/patches/trends_controller_patch.rb +4 -0
- data/config/initializers/patches.rb +9 -0
- data/foreman_simplify.gemspec +19 -0
- data/install/foreman_simplify.rb +2 -0
- data/lib/foreman_simplify.rb +7 -0
- data/lib/foreman_simplify/controller_patches.rb +35 -0
- data/lib/foreman_simplify/engine.rb +4 -0
- data/lib/foreman_simplify/version.rb +5 -0
- metadata +89 -0
data/.gitignore
ADDED
data/Gemfile
ADDED
data/LICENSE
ADDED
@@ -0,0 +1,13 @@
|
|
1
|
+
Copyright 2013 Red Hat, Inc.
|
2
|
+
|
3
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
+
you may not use this file except in compliance with the License.
|
5
|
+
You may obtain a copy of the License at
|
6
|
+
|
7
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
8
|
+
|
9
|
+
Unless required by applicable law or agreed to in writing, software
|
10
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
+
See the License for the specific language governing permissions and
|
13
|
+
limitations under the License.
|
data/README.md
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
## Installation
|
2
|
+
|
3
|
+
Do these steps on the node where you have installed Foreman:
|
4
|
+
|
5
|
+
1. `yum install rubygem-nokogiri`
|
6
|
+
|
7
|
+
1. `gem install deface -v 0.7.2 --ignore-dependencies`
|
8
|
+
|
9
|
+
1. `git clone git://github.com/theforeman/foreman_simplify.git /usr/local/foreman_simplify`
|
10
|
+
|
11
|
+
1. Put this into `/usr/share/foreman/bundler.d/foreman_simplify.rb`:
|
12
|
+
|
13
|
+
```
|
14
|
+
gem 'deface', '0.7.2'
|
15
|
+
gem 'foreman_simplify', :path => '/usr/local/foreman_simplify'
|
16
|
+
```
|
17
|
+
1. Run `bundle` as user `foreman` in the `/usr/share/foreman` directory.
|
data/Rakefile
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
Deface::Override.new(:virtual_path => 'home/_topbar',
|
2
|
+
:name => 'disable_audits',
|
3
|
+
:remove => %q{code[erb-loud]:contains("menu 'audits'")})
|
4
|
+
|
5
|
+
Deface::Override.new(:virtual_path => 'hosts/_overview',
|
6
|
+
:name => 'disable_host_audits_button',
|
7
|
+
:remove => %q{code[erb-loud]:contains('hash_for_host_audits_path')})
|
@@ -0,0 +1,20 @@
|
|
1
|
+
Deface::Override.new(:virtual_path => 'home/_settings',
|
2
|
+
:name => 'disable_compute_resources',
|
3
|
+
:replace => "code[erb-silent]:contains('choices = setting_options')") do
|
4
|
+
<<-END
|
5
|
+
<%
|
6
|
+
previous_item_is_divider = false
|
7
|
+
choices = setting_options.map do |item|
|
8
|
+
if item[0] == :group && item[1] == "Provisioning"
|
9
|
+
item.dup.tap { |i| i[2] = i[2].reject { |subitem| subitem[1] == :compute_resources } }
|
10
|
+
else
|
11
|
+
item
|
12
|
+
end
|
13
|
+
end.reject do |item| # remove double dividers
|
14
|
+
result = previous_item_is_divider && item[0] == :divider
|
15
|
+
previous_item_is_divider = item[0] == :divider
|
16
|
+
result
|
17
|
+
end
|
18
|
+
%>
|
19
|
+
END
|
20
|
+
end
|
@@ -0,0 +1,7 @@
|
|
1
|
+
ForemanSimplify::ControllerPatches.tap do |cp|
|
2
|
+
cp.not_implemented_ui_crud(ComputeResourcesController)
|
3
|
+
ComputeResourcesController.skip_filter :find_by_id
|
4
|
+
|
5
|
+
cp.not_implemented_api_crud(Api::V1::ComputeResourcesController)
|
6
|
+
cp.not_implemented_api_crud(Api::V2::ComputeResourcesController)
|
7
|
+
end
|
@@ -0,0 +1,7 @@
|
|
1
|
+
ForemanSimplify::ControllerPatches.tap do |cp|
|
2
|
+
cp.not_implemented_ui_crud(ImagesController)
|
3
|
+
ImagesController.skip_filter :find_compute_resource, :find_by_name
|
4
|
+
|
5
|
+
cp.not_implemented_api_crud(Api::V1::ImagesController)
|
6
|
+
Api::V1::ImagesController.skip_filter :find_compute_resource
|
7
|
+
end
|
@@ -0,0 +1,9 @@
|
|
1
|
+
# Runs before each request in development (controllers reload each request),
|
2
|
+
# before first request in production (controllers don't reload).
|
3
|
+
# http://apidock.com/rails/ActionDispatch/Callbacks/to_prepare/class
|
4
|
+
ActionDispatch::Callbacks.to_prepare do
|
5
|
+
patch_dir = File.expand_path("#{File.dirname(__FILE__)}/../../app/patches")
|
6
|
+
Dir["#{patch_dir}/**/*.rb"].each do |file_name|
|
7
|
+
load file_name
|
8
|
+
end
|
9
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
require File.expand_path('../lib/foreman_simplify/version', __FILE__)
|
3
|
+
|
4
|
+
Gem::Specification.new do |gem|
|
5
|
+
gem.authors = ["Jiri Stransky"]
|
6
|
+
gem.email = ["jistr@redhat.com"]
|
7
|
+
gem.description = %q{Plugin for Foreman that simplifies the UI}
|
8
|
+
gem.summary = %q{Plugin for Foreman that simplifies the UI}
|
9
|
+
gem.homepage = "https://github.com/theforeman/foreman_simplify"
|
10
|
+
|
11
|
+
gem.files = `git ls-files`.split($\)
|
12
|
+
gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
|
13
|
+
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
14
|
+
gem.name = "foreman_simplify"
|
15
|
+
gem.require_paths = ["lib"]
|
16
|
+
gem.version = ForemanSimplify::VERSION
|
17
|
+
|
18
|
+
gem.add_runtime_dependency "deface"
|
19
|
+
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
module ForemanSimplify::ControllerPatches
|
2
|
+
class << self
|
3
|
+
|
4
|
+
def not_implemented(controller_class, method_names, type = :text)
|
5
|
+
controller_class.class_eval do
|
6
|
+
method_names.each do |method_name|
|
7
|
+
case type
|
8
|
+
when :text
|
9
|
+
define_method(method_name) do
|
10
|
+
render :text => "Not Implemented", :status => :not_implemented
|
11
|
+
end
|
12
|
+
when :json
|
13
|
+
define_method(method_name) do
|
14
|
+
render :json => '{"error":{"message":"Not Implemented"}}', :status => :not_implemented
|
15
|
+
end
|
16
|
+
else
|
17
|
+
raise ArgumentError, "Wrong response type '#{type.to_s}'"
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
def not_implemented_ui_crud(controller_class)
|
24
|
+
not_implemented(controller_class,
|
25
|
+
[:index, :show, :new, :create, :edit, :update, :destroy])
|
26
|
+
end
|
27
|
+
|
28
|
+
def not_implemented_api_crud(controller_class, skip_find_resource = true)
|
29
|
+
not_implemented(controller_class,
|
30
|
+
[:index, :show, :create, :update, :destroy], :json)
|
31
|
+
controller_class.skip_filter :find_resource if skip_find_resource
|
32
|
+
end
|
33
|
+
|
34
|
+
end
|
35
|
+
end
|
metadata
ADDED
@@ -0,0 +1,89 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: foreman_simplify
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.5
|
5
|
+
prerelease:
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- Jiri Stransky
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2013-08-29 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: deface
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '0'
|
22
|
+
type: :runtime
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '0'
|
30
|
+
description: Plugin for Foreman that simplifies the UI
|
31
|
+
email:
|
32
|
+
- jistr@redhat.com
|
33
|
+
executables: []
|
34
|
+
extensions: []
|
35
|
+
extra_rdoc_files: []
|
36
|
+
files:
|
37
|
+
- .gitignore
|
38
|
+
- Gemfile
|
39
|
+
- LICENSE
|
40
|
+
- README.md
|
41
|
+
- Rakefile
|
42
|
+
- app/overrides/disable_audits.rb
|
43
|
+
- app/overrides/disable_compute_resources.rb
|
44
|
+
- app/overrides/disable_statistics.rb
|
45
|
+
- app/overrides/disable_trends.rb
|
46
|
+
- app/patches/audits_controller_patch.rb
|
47
|
+
- app/patches/compute_resources_controller_patch.rb
|
48
|
+
- app/patches/compute_resources_vms_controller_patch.rb
|
49
|
+
- app/patches/images_controller_patch.rb
|
50
|
+
- app/patches/statistics_controller_patch.rb
|
51
|
+
- app/patches/trends_controller_patch.rb
|
52
|
+
- config/initializers/patches.rb
|
53
|
+
- foreman_simplify.gemspec
|
54
|
+
- install/foreman_simplify.rb
|
55
|
+
- lib/foreman_simplify.rb
|
56
|
+
- lib/foreman_simplify/controller_patches.rb
|
57
|
+
- lib/foreman_simplify/engine.rb
|
58
|
+
- lib/foreman_simplify/version.rb
|
59
|
+
homepage: https://github.com/theforeman/foreman_simplify
|
60
|
+
licenses: []
|
61
|
+
post_install_message:
|
62
|
+
rdoc_options: []
|
63
|
+
require_paths:
|
64
|
+
- lib
|
65
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
66
|
+
none: false
|
67
|
+
requirements:
|
68
|
+
- - ! '>='
|
69
|
+
- !ruby/object:Gem::Version
|
70
|
+
version: '0'
|
71
|
+
segments:
|
72
|
+
- 0
|
73
|
+
hash: -4533729617643303341
|
74
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
75
|
+
none: false
|
76
|
+
requirements:
|
77
|
+
- - ! '>='
|
78
|
+
- !ruby/object:Gem::Version
|
79
|
+
version: '0'
|
80
|
+
segments:
|
81
|
+
- 0
|
82
|
+
hash: -4533729617643303341
|
83
|
+
requirements: []
|
84
|
+
rubyforge_project:
|
85
|
+
rubygems_version: 1.8.23
|
86
|
+
signing_key:
|
87
|
+
specification_version: 3
|
88
|
+
summary: Plugin for Foreman that simplifies the UI
|
89
|
+
test_files: []
|