adminsite 3.0.0 → 3.1.0

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
  SHA1:
3
- metadata.gz: 11c32678a8ab293d0703a6fdc62aa286020c03d6
4
- data.tar.gz: c35eeb7d4e9826bff2a4abae767b43c489b279d4
3
+ metadata.gz: a77aace1878bec05464bc819f93f016b2cb264b9
4
+ data.tar.gz: 9e2923bfc266f94420be21a62b2156fa00839d59
5
5
  SHA512:
6
- metadata.gz: 90ce2e5e69b13b7cbcdbd112a64c23b06af461e76d98fd661349c0053c2110f485e9534869cb7e6e3ce20bd51adccf11f1d8eebcf4f35c915c5c5bd39980d49d
7
- data.tar.gz: db55ffd765b8f17913496be694d79a9c87a94667037775e9b45f0069e4949861198e7549f8f143c062af49e91cba2fed98f45e5bababe7ced1e7919ab474dc69
6
+ metadata.gz: a3816534c56c82ef0af32a78355dec3a651ea556b6d4ec4610c247886962b47e45b96d37e5ffa007f0c0a6247a4487e76769d79814493f5f6fb9ae6ee26fa386
7
+ data.tar.gz: bde740774f9938548bfb0923736e864a18935503a7a2ba601f118f5395d85e3dfcd6f42b8b8208962d4242bbbeae02cacae0be172b723249e92c14bcaeb12978
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- adminsite (3.0.0)
4
+ adminsite (3.1.0)
5
5
  actionpack-page_caching
6
6
  cancancan (~> 1.10)
7
7
  codemirror-rails (>= 4.8)
@@ -213,6 +213,3 @@ DEPENDENCIES
213
213
  rspec
214
214
  shoulda
215
215
  simplecov (>= 0.10.0)
216
-
217
- BUNDLED WITH
218
- 1.10.6
@@ -63,6 +63,10 @@ class Adminsite::Admin::ResourcesController < Adminsite::Admin::CrudController
63
63
  self.class.resource_class
64
64
  end
65
65
 
66
+ def authorize_resource_class
67
+ resource_class
68
+ end
69
+
66
70
  def resource_class_underscore
67
71
  @resource_class_underscore ||= resource_class.to_s.underscore.gsub('/','_')
68
72
  end
@@ -8,7 +8,7 @@ class Adminsite::AdminApplicationController < ActionController::Base
8
8
  before_filter :authenticate_adminsite_admin_user!
9
9
 
10
10
  include ::CanCan::ControllerAdditions
11
- authorize_resource class: lambda { |context| context.resource_class }
11
+ authorize_resource class: lambda { |context| context.authorize_resource_class }
12
12
  # check_authorization
13
13
 
14
14
  rescue_from CanCan::AccessDenied do |exception|
@@ -21,7 +21,7 @@ class Adminsite::AdminApplicationController < ActionController::Base
21
21
  super(action, subject, *args)
22
22
  end
23
23
 
24
- def resource_class
24
+ def authorize_resource_class
25
25
  self
26
26
  end
27
27
 
@@ -2,4 +2,9 @@ class Adminsite::AdminUserSessionsController < Devise::SessionsController
2
2
  skip_filter :verify_authenticity_token, only: [:destroy]
3
3
 
4
4
  layout 'adminsite/admin'
5
+
6
+ def authorize_resource_class
7
+ self
8
+ end
9
+
5
10
  end
@@ -85,15 +85,30 @@ module Admin::AdminsiteApplicationHelper
85
85
  end
86
86
 
87
87
  def menu_item(label, url, child_controller_names = [], klasses = nil, method = nil, admin_menu = label)
88
- link = link_to(label, "#{url}?admin_menu=#{admin_menu}", method: method, )
89
- result = raw "<li class='#{html_classes(url, nil, klasses, admin_menu, label )}'>#{link}</li>"
88
+ result = ''
89
+ child_menus = []
90
+
91
+ child_controller_names_authorized = child_controller_names.select do |child_controller_name|
92
+ controller_class_name = "#{child_controller_name}_controller".classify
93
+ controller_class = eval("defined?(Adminsite::" + "#{controller_class_name}) ? Adminsite::#{controller_class_name} : Adminsite::Admin::#{controller_class_name}".classify)
94
+ can?(:read, controller_class.new.authorize_resource_class)
95
+ end
90
96
 
91
97
  if current_url?(url, label) || ( child_controller_active?(child_controller_names) && current_admin_menu == admin_menu)
92
- child_controller_names.each do |child_controller_name|
93
- child_menu = content_menu_item(child_controller_name, admin_menu, nil, nil )
94
- content_for(:content_menu, child_menu)
98
+ child_controller_names_authorized.each do |child_controller_name|
99
+ child_menus << content_menu_item(child_controller_name, admin_menu, nil, nil )
95
100
  end
96
101
  end
102
+ child_menus = child_menus.compact
103
+
104
+ if child_controller_names_authorized.count > 0
105
+ html_options = {method: method}
106
+ html_options[:title] = current_adminsite_admin_user.email if klasses == 'log_out'
107
+ link = link_to(label, "#{url}?admin_menu=#{admin_menu}", html_options)
108
+ result = raw "<li class='#{html_classes(url, nil, klasses, admin_menu, label )}'>#{link}</li>"
109
+
110
+ content_for(:content_menu, child_menus.join("\n").html_safe )
111
+ end
97
112
  result
98
113
  end
99
114
 
@@ -9,16 +9,17 @@ module Adminsite
9
9
  when :admin
10
10
  can :manage, :all
11
11
  when :editor
12
- can :read, Adminsite::Page
13
- can :read, Adminsite::PageLayout
14
- can :read, Adminsite::FileAsset
15
- can :read, Adminsite::AdminUser
16
- can :read, Adminsite::AdminUserRole
12
+ can :read, Adminsite::Page
13
+ can :read, Adminsite::PageLayout
14
+ can :read, Adminsite::FileAsset
15
+ can :read, Adminsite::AdminUser
16
+ can :read, Adminsite::AdminUserRole
17
17
  when :customer
18
18
  # can :read, Adminsite::Page
19
19
  # can :read, Adminsite::PageLayout
20
20
  # can :read, Adminsite::FileAsset
21
21
  end
22
+ can :manage, Adminsite::AdminUserSessionsController
22
23
  end
23
24
  end
24
25
  end
@@ -2,5 +2,5 @@
2
2
  %ul
3
3
  = yield :admin_menu
4
4
  %ul
5
- = menu_item 'Log out', destroy_adminsite_admin_user_session_path, [], 'log_out', :delete
5
+ = menu_item 'Log out', destroy_adminsite_admin_user_session_path, ['admin_user_sessions'], 'log_out', :delete
6
6
  .clearfix
@@ -1,3 +1,3 @@
1
1
  module Adminsite
2
- VERSION = "3.0.0" unless defined?(Adminsite::VERSION)
2
+ VERSION = "3.1.0" unless defined?(Adminsite::VERSION)
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: adminsite
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.0
4
+ version: 3.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Robin Wunderlin
@@ -247,7 +247,6 @@ files:
247
247
  - README.markdown
248
248
  - Rakefile
249
249
  - USAGE
250
- - adminsite.gemspec
251
250
  - app/admin_configs/adminsite/adminsite_admin_user_admin_config.rb
252
251
  - app/admin_configs/adminsite/adminsite_admin_user_role_admin_config.rb
253
252
  - app/admin_configs/adminsite/adminsite_file_asset_admin_config.rb
@@ -396,7 +395,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
396
395
  version: '0'
397
396
  requirements: []
398
397
  rubyforge_project:
399
- rubygems_version: 2.4.5.1
398
+ rubygems_version: 2.2.2
400
399
  signing_key:
401
400
  specification_version: 4
402
401
  summary: Basic Admin Backend interface for Ruby on Rails
data/adminsite.gemspec DELETED
@@ -1,50 +0,0 @@
1
- $:.push File.expand_path("../lib", __FILE__)
2
-
3
- # Maintain your gem's version:
4
- require "adminsite/version"
5
-
6
- Gem::Specification.new do |s|
7
- s.name = "adminsite"
8
- s.version = Adminsite::VERSION
9
- s.authors = ["Robin Wunderlin"]
10
- s.email = "robin@wunderlin.dk"
11
- s.homepage = "http://www.rhg.dk"
12
- s.summary = "Basic Admin Backend interface for Ruby on Rails"
13
- s.description = "Basic Admin Backend interface for Ruby on Rails"
14
-
15
- s.files = Dir["[A-Z]*", "{app,config,db,public,lib,generators}/**/*"]+ ["LICENSE", "Rakefile", "README.markdown"]
16
- s.extra_rdoc_files = [
17
- "README.markdown"
18
- ]
19
-
20
- s.required_ruby_version = '>= 2.0.0'
21
- s.require_paths = ["lib"]
22
-
23
- # s.date = "#{Time.now.to_date}"
24
- s.post_install_message = File.open('USAGE').read
25
-
26
- s.add_runtime_dependency(%q<rails>, [">= 4.1"])
27
- s.add_runtime_dependency(%q<actionpack-page_caching>, [">= 0"])
28
- s.add_runtime_dependency(%q<jquery-rails>, [">= 0"])
29
-
30
- s.add_runtime_dependency(%q<domainatrix>, [">= 0"])
31
-
32
- s.add_runtime_dependency(%q<devise>, ["~> 3.4"])
33
- s.add_runtime_dependency(%q<cancancan>, ["~> 1.10"])
34
- s.add_runtime_dependency(%q<kaminari>, [">= 0.15.0"])
35
- s.add_runtime_dependency(%q<ransack>, [">= 1.3"])
36
-
37
- s.add_runtime_dependency(%q<haml>, [">= 0"])
38
- s.add_runtime_dependency(%q<formtastic>, [">= 3.1.3"])
39
-
40
- s.add_runtime_dependency(%q<sass-rails>, [">= 0"])
41
-
42
- s.add_dependency "codemirror-rails", '>= 4.8'
43
- s.add_runtime_dependency(%q<liquid>, [">= 0"])
44
-
45
- s.add_runtime_dependency(%q<paperclip>, [">= 0"])
46
-
47
- s.add_development_dependency("bundler", ">= 1.5")
48
- s.add_development_dependency("rake")
49
- end
50
-