radmin 0.2.0 → 0.3.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (39) hide show
  1. data/.rvmrc +1 -0
  2. data/app/controllers/radmin/dashboards_controller.rb +2 -0
  3. data/app/controllers/radmin/passwords_controller.rb +4 -0
  4. data/app/controllers/{admin → radmin}/sessions_controller.rb +3 -3
  5. data/app/controllers/{admin → radmin}/settings_controller.rb +2 -16
  6. data/app/controllers/{admin → radmin}/users_controller.rb +4 -16
  7. data/app/controllers/radmin_controller.rb +13 -0
  8. data/app/helpers/{admin_helper.rb → radmin_helper.rb} +5 -1
  9. data/app/views/layouts/{admin.html.haml → radmin.html.haml} +1 -1
  10. data/app/views/radmin/dashboards/_dashboard.html.haml +2 -0
  11. data/app/views/radmin/dashboards/show.html.haml +2 -0
  12. data/app/views/{admin → radmin}/passwords/edit.html.haml +0 -2
  13. data/app/views/{admin → radmin}/passwords/new.html.haml +0 -1
  14. data/app/views/{admin → radmin}/sessions/new.html.haml +0 -0
  15. data/app/views/{admin → radmin}/settings/_form.html.haml +0 -0
  16. data/app/views/{admin → radmin}/settings/edit.html.haml +0 -0
  17. data/app/views/{admin → radmin}/settings/index.html.haml +5 -4
  18. data/app/views/{admin → radmin}/settings/new.html.haml +0 -0
  19. data/app/views/{admin → radmin}/users/_form.html.haml +1 -4
  20. data/app/views/{admin → radmin}/users/edit.html.haml +0 -0
  21. data/app/views/{admin → radmin}/users/index.html.haml +5 -4
  22. data/app/views/{admin → radmin}/users/new.html.haml +0 -0
  23. data/config/authorization.rb +10 -0
  24. data/config/routes.rb +4 -4
  25. data/lib/generators/radmin/install_generator.rb +0 -4
  26. data/lib/radmin.rb +6 -3
  27. data/lib/radmin/admin_ui.rb +13 -13
  28. data/lib/radmin/authorization.rb +47 -0
  29. data/lib/radmin/engine.rb +10 -2
  30. data/lib/radmin/version.rb +1 -1
  31. data/radmin.gemspec +3 -3
  32. data/spec/dummy/config/locales/devise.en.yml +50 -0
  33. metadata +100 -107
  34. data/app/controllers/admin/accounts_controller.rb +0 -16
  35. data/app/controllers/admin/passwords_controller.rb +0 -4
  36. data/app/controllers/admin_controller.rb +0 -15
  37. data/app/views/admin/accounts/edit.html.haml +0 -11
  38. data/lib/generators/radmin/templates/authorization_rules.rb +0 -17
  39. data/spec/dummy/config/authorization_rules.rb +0 -17
data/.rvmrc ADDED
@@ -0,0 +1 @@
1
+ rvm use 1.9.2-p290@radmin --create
@@ -0,0 +1,2 @@
1
+ class Radmin::DashboardsController < RadminController
2
+ end
@@ -0,0 +1,4 @@
1
+ class Radmin::PasswordsController < Devise::PasswordsController
2
+ helper :radmin
3
+ layout "radmin"
4
+ end
@@ -1,6 +1,6 @@
1
- class Admin::SessionsController < Devise::SessionsController
2
- helper :admin
3
- layout "admin"
1
+ class Radmin::SessionsController < Devise::SessionsController
2
+ helper :radmin
3
+ layout "radmin"
4
4
 
5
5
  protected
6
6
  def after_sign_in_path_for(resource_or_scope)
@@ -1,15 +1,6 @@
1
- class Admin::SettingsController < AdminController
2
- before_filter :find_setting, :only => [:edit,:update,:destroy]
3
- filter_access_to [:index,:new,:create,:edit,:update,:destroy]
1
+ class Radmin::SettingsController < RadminController
2
+ load_and_authorize_resource :class => "Radmin::Setting"
4
3
 
5
- def index
6
- @settings = Radmin::Setting.all
7
- end
8
-
9
- def new
10
- @setting = Radmin::Setting.new
11
- end
12
-
13
4
  def create
14
5
  Radmin::Setting["#{params[:setting]['key']}"] = params[:setting]['value']
15
6
  flash[:notice] = Radmin::I18n.t(:setting_sucessfully_created, :default => "Setting sucessfully created.")
@@ -32,9 +23,4 @@ class Admin::SettingsController < AdminController
32
23
  flash[:notice] = Radmin::I18n.t(:setting_sucessfully_deleted, :default => "Setting sucessfully deleted.")
33
24
  redirect_to admin_settings_url
34
25
  end
35
-
36
- protected
37
- def find_setting
38
- @setting = Radmin::Setting.find(params[:id])
39
- end
40
26
  end
@@ -1,18 +1,11 @@
1
- class Admin::UsersController < AdminController
2
- before_filter :load_user, :only => [:edit,:update,:destroy]
3
- filter_access_to [:index,:new,:create]
4
- filter_access_to [:edit,:update,:destroy], :attribute_check => true, :load_method => lambda { |c| @user = Radmin::User.find(params[:id]) }
1
+ class Radmin::UsersController < RadminController
2
+ load_and_authorize_resource :class => "Radmin::User"
5
3
 
6
- def index
7
- @users = Radmin::User.all(:include => [:roles])
8
- end
9
-
10
- def new
11
- @user = Radmin::User.new
4
+ def index
5
+ @users = @users.includes(:roles)
12
6
  end
13
7
 
14
8
  def create
15
- @user = Radmin::User.new(params[:user])
16
9
  if @user.save
17
10
  redirect_to(admin_users_url, :notice => Radmin::I18n.t(:account_created, :default => "Account created."))
18
11
  else
@@ -35,9 +28,4 @@ class Admin::UsersController < AdminController
35
28
  @user.destroy
36
29
  redirect_to(admin_users_url, :notice => Radmin::I18n.t(:account_deleted, :default => "Account deleted."))
37
30
  end
38
-
39
- protected
40
- def load_user
41
- @user = Radmin::User.find(params[:id])
42
- end
43
31
  end
@@ -0,0 +1,13 @@
1
+ class RadminController < ApplicationController
2
+ helper :radmin
3
+ before_filter :authenticate_admin!
4
+ layout "radmin"
5
+
6
+ rescue_from CanCan::AccessDenied do |exception|
7
+ redirect_to admin_dashboard_url, :alert => exception.message
8
+ end
9
+
10
+ def current_ability
11
+ @current_ability ||= Radmin::Authorization.new(current_admin)
12
+ end
13
+ end
@@ -1,4 +1,4 @@
1
- module AdminHelper
1
+ module RadminHelper
2
2
  def current_url?(options)
3
3
  url = case options
4
4
  when Hash
@@ -42,4 +42,8 @@ module AdminHelper
42
42
  def show_title?
43
43
  @show_title
44
44
  end
45
+
46
+ def has_role?(role)
47
+ current_admin.role_symbols.include?(role.to_sym)
48
+ end
45
49
  end
@@ -24,7 +24,7 @@
24
24
  %span.nodisp
25
25
  #usernav
26
26
  = Radmin::I18n.t(:logged_in_as, :default => "Logged in as")
27
- = link_to current_admin.email, edit_admin_account_path
27
+ = link_to current_admin.email, edit_admin_user_path(current_admin)
28
28
  (#{link_to Radmin::I18n.t(:logout, :default => "Logout"), destroy_admin_session_path})
29
29
  - else
30
30
  .spacer40
@@ -0,0 +1,2 @@
1
+ %p.intro
2
+ Edit me! (app/views/radmin/dashboards/_dashboard.html.haml)
@@ -0,0 +1,2 @@
1
+ - title Radmin::I18n.t(:dashboard,:default => "Dashboard")
2
+ = render :partial => 'dashboard'
@@ -3,9 +3,7 @@
3
3
  = f.hidden_field :reset_password_token
4
4
  = f.label :password, "New password"
5
5
  = f.password_field :password
6
- = f.error_message_on :password
7
6
  = f.label :password_confirmation, "Confirm new password"
8
7
  = f.password_field :password_confirmation
9
- = f.error_message_on :password_confirmation
10
8
  .buttons
11
9
  = f.submit Radmin::I18n.t(:change_password, :default => "Change Password")
@@ -2,7 +2,6 @@
2
2
  = form_for(resource, :as => resource_name, :url => password_path(resource_name), :html => { :method => :post }) do |f|
3
3
  = f.label :email
4
4
  = f.text_field :email
5
- = f.error_message_on :email
6
5
  .buttons
7
6
  = f.submit Radmin::I18n.t(:send_instructions, :default => "Send Instructions")
8
7
  = link_to t(:login, :default => "Login"), new_session_path(resource_name)
File without changes
File without changes
@@ -1,6 +1,6 @@
1
1
  - title Radmin::I18n.t(:settings,:default => "Application Settings")
2
2
  %span.toolbar
3
- = link_to(Radmin::I18n.t(:new_setting,:default => "New"), new_admin_setting_path) if permitted_to? :create
3
+ = link_to(Radmin::I18n.t(:new_setting,:default => "New"), new_admin_setting_path) if can? :create, Radmin::Setting
4
4
  %p.intro= Radmin::I18n.t(:settings_list_intro,:default => "Application Settings")
5
5
  %table
6
6
  %thead
@@ -13,6 +13,7 @@
13
13
  %td= link_to setting.key, edit_admin_setting_path(setting)
14
14
  %td= setting.value
15
15
  %td.last
16
- = link_to(Radmin::I18n.t(:edit,:default => "Edit"), edit_admin_setting_path(setting), :class => "edit") if permitted_to? :update
17
- |
18
- \#{link_to(Radmin::I18n.t(:delete,:default => "Delete"), admin_setting_path(setting), :confirm => Radmin::I18n.t(:are_you_sure,:default => "Are you sure?"), :method => :delete, :class => "delete") if permitted_to? :destroy}
16
+ = link_to(Radmin::I18n.t(:edit,:default => "Edit"), edit_admin_setting_path(setting), :class => "edit") if can? :update, Radmin::Setting
17
+ - if can? :destroy, Radmin::Setting
18
+ |
19
+ \#{link_to(Radmin::I18n.t(:delete,:default => "Delete"), admin_setting_path(setting), :confirm => Radmin::I18n.t(:are_you_sure,:default => "Are you sure?"), :method => :delete, :class => "delete")}
File without changes
@@ -15,7 +15,4 @@
15
15
  %p.buttons
16
16
  = form.submit Radmin::I18n.t(:save,:default=>"Save")
17
17
  = Radmin::I18n.t(:or,:default=>"or")
18
- - if permitted_to? :index
19
- = link_to Radmin::I18n.t(:cancel,:default=>"Cancel"), admin_users_path
20
- - else
21
- = link_to Radmin::I18n.t(:cancel,:default=>"Cancel"), admin_overview_path
18
+ = link_to Radmin::I18n.t(:cancel,:default=>"Cancel"), admin_users_path
File without changes
@@ -1,6 +1,6 @@
1
1
  - title Radmin::I18n.t(:users,:default => "Users")
2
2
  %span.toolbar
3
- = link_to Radmin::I18n.t(:new_user,:default => "New"), new_admin_user_path if permitted_to? :create
3
+ = link_to Radmin::I18n.t(:new_user,:default => "New"), new_admin_user_path if can? :create, Radmin::User
4
4
  %p.intro= Radmin::I18n.t(:users_list_intro,:default => "Users with access to admin panel.")
5
5
  %table
6
6
  %thead
@@ -13,6 +13,7 @@
13
13
  %td= link_to h(user.email), edit_admin_user_path(user)
14
14
  %td= user.roles.collect {|r| Radmin::I18n.t(r.name.underscore.to_sym,:default=>h(r.name.capitalize))}.join(",")
15
15
  %td.last
16
- = link_to Radmin::I18n.t(:edit,:default => "Edit"), edit_admin_user_path(user), :class => "edit" if permitted_to? :update
17
- |
18
- \#{link_to Radmin::I18n.t(:delete,:default => "Delete"), admin_user_path(user), :confirm => Radmin::I18n.t(:are_you_sure,:default => "Are you sure?"), :method => :delete, :class => "delete" if permitted_to? :destroy}
16
+ = link_to Radmin::I18n.t(:edit,:default => "Edit"), edit_admin_user_path(user), :class => "edit" if can? :update, Radmin::User, :id => user.id
17
+ - if can? :destroy, Radmin::User, :id => user.id
18
+ |
19
+ \#{link_to Radmin::I18n.t(:delete,:default => "Delete"), admin_user_path(user), :confirm => Radmin::I18n.t(:are_you_sure,:default => "Are you sure?"), :method => :delete, :class => "delete"}
File without changes
@@ -0,0 +1,10 @@
1
+ role :guest do
2
+ can :read, Radmin::User, :id => user.id
3
+ can :update, Radmin::User, :id => user.id
4
+ can :read, Radmin::Setting
5
+ end
6
+
7
+ role :admin do
8
+ can :manage, Radmin::User
9
+ can :manage, Radmin::Setting
10
+ end
data/config/routes.rb CHANGED
@@ -1,9 +1,9 @@
1
1
  Rails.application.routes.draw do
2
- devise_for :admins, :class_name => 'Radmin::User', :path => 'admin', :path_names => { :sign_in => 'login', :sign_out => 'logout' }, :controllers => { :sessions => 'admin/sessions', :passwords => 'admin/passwords' }
2
+ devise_for :admins, :class_name => 'Radmin::User', :path => 'admin', :path_names => { :sign_in => 'login', :sign_out => 'logout' }, :controllers => { :sessions => 'radmin/sessions', :passwords => 'radmin/passwords' }
3
3
 
4
- match '/admin', :to => redirect('/admin/account/edit'), :as => :admin
5
- namespace :admin do
6
- resource :account, :only => [:edit,:update]
4
+ match '/admin', :to => redirect('/admin/dashboard'), :as => :admin
5
+ namespace :admin, :module => 'radmin' do
6
+ resource :dashboard, :only => [:show]
7
7
  resources :settings, :except => [:show]
8
8
  resources :users, :except => [:show]
9
9
  end
@@ -22,10 +22,6 @@ module Radmin
22
22
  def copy_assets
23
23
  directory 'assets', 'public', :recursive => true
24
24
  end
25
-
26
- def copy_authorization_file
27
- template "authorization_rules.rb", "config/authorization_rules.rb"
28
- end
29
25
  end
30
26
  end
31
27
  end
data/lib/radmin.rb CHANGED
@@ -1,5 +1,8 @@
1
1
  require 'radmin/engine'
2
-
3
2
  require 'radmin/version'
4
- require 'radmin/admin_ui'
5
- require 'radmin/i18n'
3
+
4
+ module Radmin
5
+ autoload :AdminUI, 'radmin/admin_ui'
6
+ autoload :Authorization, 'radmin/authorization'
7
+ autoload :I18n, 'radmin/i18n'
8
+ end
@@ -75,23 +75,20 @@ module Radmin
75
75
  end
76
76
 
77
77
  def visible?(user)
78
- visible_by_controller?(user)
78
+ params = Rails.application.routes.recognize_path(url, :method => :get)
79
+ if params && params[:controller]
80
+ resource = params[:controller].demodulize.sub("Controller", "").underscore.split('/').last.singularize
81
+ Radmin::Authorization.authorized?(user, params[:action], "Radmin::#{resource.capitalize}".constantize) rescue true
82
+ #ctx = params[:controller].sub('/','_').to_sym
83
+ #Authorization::Engine.instance.permit?(params[:action], :context => ctx, :user => user)
84
+ else
85
+ false
86
+ end
79
87
  end
80
88
 
81
89
  def relative_url
82
90
  File.join('/', url)
83
91
  end
84
-
85
- private
86
- def visible_by_controller?(user)
87
- params = Rails.application.routes.recognize_path(url, :method => :get)
88
- if params && params[:controller]
89
- ctx = params[:controller].sub('/','_').to_sym
90
- Authorization::Engine.instance.permit?(params[:action], :context => ctx, :user => user)
91
- else
92
- false
93
- end
94
- end
95
92
  end
96
93
 
97
94
  class << self
@@ -126,8 +123,11 @@ module Radmin
126
123
 
127
124
  protected
128
125
  def load_default_nav
126
+ general = nav_tab("General")
127
+ general << nav_item("Dashboard", "/admin/dashboard")
128
+ nav << general
129
+
129
130
  settings = nav_tab("Settings")
130
- settings << nav_item("Account", "/admin/account/edit")
131
131
  settings << nav_item("Users", "/admin/users")
132
132
  settings << nav_item("Application", "/admin/settings")
133
133
  nav << settings
@@ -0,0 +1,47 @@
1
+ module Radmin
2
+ class Authorization
3
+ class DSLMethods
4
+ def role(role_name, &block)
5
+ #::Authorization.define_method method_name, &block
6
+ #role_name = role_name.to_sym
7
+ Radmin::Authorization.roles[role_name] ||= []
8
+ Radmin::Authorization.roles[role_name] << block
9
+ end
10
+ end
11
+
12
+ include CanCan::Ability
13
+ attr_accessor :user
14
+ cattr_accessor :roles
15
+ self.roles = {}
16
+
17
+ def initialize(user)
18
+ self.user = user
19
+ run_role(:guest) unless self.user.role_symbols.any?
20
+ self.user.role_symbols.each do |r|
21
+ run_role(r)
22
+ end
23
+ end
24
+
25
+ def includes(*role_names)
26
+ role_names.each do |role_name|
27
+ run_role(role_name.to_sym)
28
+ end
29
+ end
30
+
31
+ def self.authorized?(user, action, subject)
32
+ new(user).authorize!(action.to_sym, subject)
33
+ true
34
+ rescue CanCan::AccessDenied
35
+ false
36
+ end
37
+
38
+ def self.define_rules(file)
39
+ DSLMethods.new.instance_eval(File.read(file)) if File.exist?(file)
40
+ end
41
+
42
+ protected
43
+ def run_role(role_name)
44
+ self.class.roles[role_name].each { |block| instance_eval(&block) } if self.class.roles.include?(role_name)
45
+ end
46
+ end
47
+ end
data/lib/radmin/engine.rb CHANGED
@@ -1,8 +1,16 @@
1
- require 'declarative_authorization'
1
+ require 'cancan'
2
2
  require 'devise'
3
3
  require 'haml-rails'
4
4
 
5
5
  module Radmin
6
- class Engine < Rails::Engine
6
+ class Engine < Rails::Engine
7
+ initializer "radmin.add_authorization_rules" do |app|
8
+ Radmin::Authorization.define_rules(dsl_file)
9
+ end
10
+
11
+ protected
12
+ def dsl_file
13
+ File.expand_path("config/authorization.rb", File.dirname(File.dirname(File.dirname(__FILE__))))
14
+ end
7
15
  end
8
16
  end
@@ -1,3 +1,3 @@
1
1
  module Radmin
2
- VERSION = "0.2.0"
2
+ VERSION = "0.3.1"
3
3
  end
data/radmin.gemspec CHANGED
@@ -19,12 +19,12 @@ Gem::Specification.new do |s|
19
19
  s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
20
20
  s.require_paths = ["lib"]
21
21
 
22
- s.add_dependency "declarative_authorization", "~> 0.5.2"
22
+ s.add_dependency "cancan", "~> 1.6.5"
23
23
  s.add_dependency "devise", "~> 1.3.4"
24
24
  s.add_dependency "haml-rails", "~> 0.3.4"
25
25
 
26
- s.add_development_dependency "rails", "3.0.7"
27
- s.add_development_dependency "rake", "0.8.7"
26
+ s.add_development_dependency "rails", "~> 3.0.7"
27
+ s.add_development_dependency "rake", "~> 0.8.7"
28
28
  s.add_development_dependency "capybara", "~> 0.4.0"
29
29
  s.add_development_dependency "rspec-rails", "~> 2.0.0.beta"
30
30
  s.add_development_dependency "launchy", "~> 0.4.0"
@@ -0,0 +1,50 @@
1
+ # Additional translations at http://github.com/plataformatec/devise/wiki/I18n
2
+
3
+ en:
4
+ errors:
5
+ messages:
6
+ expired: "has expired, please request a new one"
7
+ not_found: "not found"
8
+ already_confirmed: "was already confirmed, please try signing in"
9
+ not_locked: "was not locked"
10
+ not_saved:
11
+ one: "1 error prohibited this %{resource} from being saved:"
12
+ other: "%{count} errors prohibited this %{resource} from being saved:"
13
+
14
+ devise:
15
+ failure:
16
+ already_authenticated: 'You are already signed in.'
17
+ unauthenticated: 'You need to sign in or sign up before continuing.'
18
+ unconfirmed: 'You have to confirm your account before continuing.'
19
+ locked: 'Your account is locked.'
20
+ invalid: 'Invalid email or password.'
21
+ invalid_token: 'Invalid authentication token.'
22
+ timeout: 'Your session expired, please sign in again to continue.'
23
+ inactive: 'Your account was not activated yet.'
24
+ sessions:
25
+ signed_in: 'Signed in successfully.'
26
+ signed_out: 'Signed out successfully.'
27
+ passwords:
28
+ send_instructions: 'You will receive an email with instructions about how to reset your password in a few minutes.'
29
+ updated: 'Your password was changed successfully. You are now signed in.'
30
+ confirmations:
31
+ send_instructions: 'You will receive an email with instructions about how to confirm your account in a few minutes.'
32
+ confirmed: 'Your account was successfully confirmed. You are now signed in.'
33
+ registrations:
34
+ signed_up: 'Welcome! You have signed up successfully.'
35
+ inactive_signed_up: 'You have signed up successfully. However, we could not sign you in because your account is %{reason}.'
36
+ updated: 'You updated your account successfully.'
37
+ destroyed: 'Bye! Your account was successfully cancelled. We hope to see you again soon.'
38
+ unlocks:
39
+ send_instructions: 'You will receive an email with instructions about how to unlock your account in a few minutes.'
40
+ unlocked: 'Your account was successfully unlocked. You are now signed in.'
41
+ omniauth_callbacks:
42
+ success: 'Successfully authorized from %{kind} account.'
43
+ failure: 'Could not authorize you from %{kind} because "%{reason}".'
44
+ mailer:
45
+ confirmation_instructions:
46
+ subject: 'Confirmation instructions'
47
+ reset_password_instructions:
48
+ subject: 'Reset password instructions'
49
+ unlock_instructions:
50
+ subject: 'Unlock Instructions'
metadata CHANGED
@@ -1,157 +1,155 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: radmin
3
- version: !ruby/object:Gem::Version
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.3.1
4
5
  prerelease:
5
- version: 0.2.0
6
6
  platform: ruby
7
- authors:
7
+ authors:
8
8
  - Damian Caruso
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
-
13
- date: 2011-05-24 00:00:00 -03:00
14
- default_executable:
15
- dependencies:
16
- - !ruby/object:Gem::Dependency
17
- name: declarative_authorization
18
- requirement: &id001 !ruby/object:Gem::Requirement
12
+ date: 2011-07-30 00:00:00.000000000Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: cancan
16
+ requirement: &17660220 !ruby/object:Gem::Requirement
19
17
  none: false
20
- requirements:
18
+ requirements:
21
19
  - - ~>
22
- - !ruby/object:Gem::Version
23
- version: 0.5.2
20
+ - !ruby/object:Gem::Version
21
+ version: 1.6.5
24
22
  type: :runtime
25
23
  prerelease: false
26
- version_requirements: *id001
27
- - !ruby/object:Gem::Dependency
24
+ version_requirements: *17660220
25
+ - !ruby/object:Gem::Dependency
28
26
  name: devise
29
- requirement: &id002 !ruby/object:Gem::Requirement
27
+ requirement: &17659260 !ruby/object:Gem::Requirement
30
28
  none: false
31
- requirements:
29
+ requirements:
32
30
  - - ~>
33
- - !ruby/object:Gem::Version
31
+ - !ruby/object:Gem::Version
34
32
  version: 1.3.4
35
33
  type: :runtime
36
34
  prerelease: false
37
- version_requirements: *id002
38
- - !ruby/object:Gem::Dependency
35
+ version_requirements: *17659260
36
+ - !ruby/object:Gem::Dependency
39
37
  name: haml-rails
40
- requirement: &id003 !ruby/object:Gem::Requirement
38
+ requirement: &17658180 !ruby/object:Gem::Requirement
41
39
  none: false
42
- requirements:
40
+ requirements:
43
41
  - - ~>
44
- - !ruby/object:Gem::Version
42
+ - !ruby/object:Gem::Version
45
43
  version: 0.3.4
46
44
  type: :runtime
47
45
  prerelease: false
48
- version_requirements: *id003
49
- - !ruby/object:Gem::Dependency
46
+ version_requirements: *17658180
47
+ - !ruby/object:Gem::Dependency
50
48
  name: rails
51
- requirement: &id004 !ruby/object:Gem::Requirement
49
+ requirement: &17657440 !ruby/object:Gem::Requirement
52
50
  none: false
53
- requirements:
54
- - - "="
55
- - !ruby/object:Gem::Version
51
+ requirements:
52
+ - - ~>
53
+ - !ruby/object:Gem::Version
56
54
  version: 3.0.7
57
55
  type: :development
58
56
  prerelease: false
59
- version_requirements: *id004
60
- - !ruby/object:Gem::Dependency
57
+ version_requirements: *17657440
58
+ - !ruby/object:Gem::Dependency
61
59
  name: rake
62
- requirement: &id005 !ruby/object:Gem::Requirement
60
+ requirement: &17656460 !ruby/object:Gem::Requirement
63
61
  none: false
64
- requirements:
65
- - - "="
66
- - !ruby/object:Gem::Version
62
+ requirements:
63
+ - - ~>
64
+ - !ruby/object:Gem::Version
67
65
  version: 0.8.7
68
66
  type: :development
69
67
  prerelease: false
70
- version_requirements: *id005
71
- - !ruby/object:Gem::Dependency
68
+ version_requirements: *17656460
69
+ - !ruby/object:Gem::Dependency
72
70
  name: capybara
73
- requirement: &id006 !ruby/object:Gem::Requirement
71
+ requirement: &17655560 !ruby/object:Gem::Requirement
74
72
  none: false
75
- requirements:
73
+ requirements:
76
74
  - - ~>
77
- - !ruby/object:Gem::Version
75
+ - !ruby/object:Gem::Version
78
76
  version: 0.4.0
79
77
  type: :development
80
78
  prerelease: false
81
- version_requirements: *id006
82
- - !ruby/object:Gem::Dependency
79
+ version_requirements: *17655560
80
+ - !ruby/object:Gem::Dependency
83
81
  name: rspec-rails
84
- requirement: &id007 !ruby/object:Gem::Requirement
82
+ requirement: &17654760 !ruby/object:Gem::Requirement
85
83
  none: false
86
- requirements:
84
+ requirements:
87
85
  - - ~>
88
- - !ruby/object:Gem::Version
86
+ - !ruby/object:Gem::Version
89
87
  version: 2.0.0.beta
90
88
  type: :development
91
89
  prerelease: false
92
- version_requirements: *id007
93
- - !ruby/object:Gem::Dependency
90
+ version_requirements: *17654760
91
+ - !ruby/object:Gem::Dependency
94
92
  name: launchy
95
- requirement: &id008 !ruby/object:Gem::Requirement
93
+ requirement: &17651240 !ruby/object:Gem::Requirement
96
94
  none: false
97
- requirements:
95
+ requirements:
98
96
  - - ~>
99
- - !ruby/object:Gem::Version
97
+ - !ruby/object:Gem::Version
100
98
  version: 0.4.0
101
99
  type: :development
102
100
  prerelease: false
103
- version_requirements: *id008
104
- - !ruby/object:Gem::Dependency
101
+ version_requirements: *17651240
102
+ - !ruby/object:Gem::Dependency
105
103
  name: sqlite3
106
- requirement: &id009 !ruby/object:Gem::Requirement
104
+ requirement: &17650480 !ruby/object:Gem::Requirement
107
105
  none: false
108
- requirements:
109
- - - ">="
110
- - !ruby/object:Gem::Version
111
- version: "0"
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
112
110
  type: :development
113
111
  prerelease: false
114
- version_requirements: *id009
112
+ version_requirements: *17650480
115
113
  description: A drop in admin panel for existing rails applications
116
- email:
114
+ email:
117
115
  - damian.caruso@gmail.com
118
116
  executables: []
119
-
120
117
  extensions: []
121
-
122
118
  extra_rdoc_files: []
123
-
124
- files:
119
+ files:
125
120
  - .gitignore
126
121
  - .rspec
122
+ - .rvmrc
127
123
  - Gemfile
128
124
  - MIT-LICENSE
129
125
  - README
130
126
  - Rakefile
131
- - app/controllers/admin/accounts_controller.rb
132
- - app/controllers/admin/passwords_controller.rb
133
- - app/controllers/admin/sessions_controller.rb
134
- - app/controllers/admin/settings_controller.rb
135
- - app/controllers/admin/users_controller.rb
136
- - app/controllers/admin_controller.rb
137
- - app/helpers/admin_helper.rb
127
+ - app/controllers/radmin/dashboards_controller.rb
128
+ - app/controllers/radmin/passwords_controller.rb
129
+ - app/controllers/radmin/sessions_controller.rb
130
+ - app/controllers/radmin/settings_controller.rb
131
+ - app/controllers/radmin/users_controller.rb
132
+ - app/controllers/radmin_controller.rb
133
+ - app/helpers/radmin_helper.rb
138
134
  - app/models/radmin/assignment.rb
139
135
  - app/models/radmin/role.rb
140
136
  - app/models/radmin/setting.rb
141
137
  - app/models/radmin/user.rb
142
- - app/views/admin/accounts/edit.html.haml
143
- - app/views/admin/passwords/edit.html.haml
144
- - app/views/admin/passwords/new.html.haml
145
- - app/views/admin/sessions/new.html.haml
146
- - app/views/admin/settings/_form.html.haml
147
- - app/views/admin/settings/edit.html.haml
148
- - app/views/admin/settings/index.html.haml
149
- - app/views/admin/settings/new.html.haml
150
- - app/views/admin/users/_form.html.haml
151
- - app/views/admin/users/edit.html.haml
152
- - app/views/admin/users/index.html.haml
153
- - app/views/admin/users/new.html.haml
154
- - app/views/layouts/admin.html.haml
138
+ - app/views/layouts/radmin.html.haml
139
+ - app/views/radmin/dashboards/_dashboard.html.haml
140
+ - app/views/radmin/dashboards/show.html.haml
141
+ - app/views/radmin/passwords/edit.html.haml
142
+ - app/views/radmin/passwords/new.html.haml
143
+ - app/views/radmin/sessions/new.html.haml
144
+ - app/views/radmin/settings/_form.html.haml
145
+ - app/views/radmin/settings/edit.html.haml
146
+ - app/views/radmin/settings/index.html.haml
147
+ - app/views/radmin/settings/new.html.haml
148
+ - app/views/radmin/users/_form.html.haml
149
+ - app/views/radmin/users/edit.html.haml
150
+ - app/views/radmin/users/index.html.haml
151
+ - app/views/radmin/users/new.html.haml
152
+ - config/authorization.rb
155
153
  - config/routes.rb
156
154
  - lib/generators/radmin/install_generator.rb
157
155
  - lib/generators/radmin/templates/assets/images/admin/topnav_active.gif
@@ -161,13 +159,13 @@ files:
161
159
  - lib/generators/radmin/templates/assets/javascripts/admin/jquery.rails.js
162
160
  - lib/generators/radmin/templates/assets/stylesheets/admin/reset.css
163
161
  - lib/generators/radmin/templates/assets/stylesheets/admin/style.css
164
- - lib/generators/radmin/templates/authorization_rules.rb
165
162
  - lib/generators/radmin/templates/migrations/01_radmin_create_users.rb
166
163
  - lib/generators/radmin/templates/migrations/02_radmin_create_roles.rb
167
164
  - lib/generators/radmin/templates/migrations/03_radmin_create_assignments.rb
168
165
  - lib/generators/radmin/templates/migrations/04_radmin_create_settings.rb
169
166
  - lib/radmin.rb
170
167
  - lib/radmin/admin_ui.rb
168
+ - lib/radmin/authorization.rb
171
169
  - lib/radmin/engine.rb
172
170
  - lib/radmin/i18n.rb
173
171
  - lib/radmin/version.rb
@@ -179,7 +177,6 @@ files:
179
177
  - spec/dummy/app/views/layouts/application.html.erb
180
178
  - spec/dummy/config.ru
181
179
  - spec/dummy/config/application.rb
182
- - spec/dummy/config/authorization_rules.rb
183
180
  - spec/dummy/config/boot.rb
184
181
  - spec/dummy/config/database.yml
185
182
  - spec/dummy/config/environment.rb
@@ -192,6 +189,7 @@ files:
192
189
  - spec/dummy/config/initializers/mime_types.rb
193
190
  - spec/dummy/config/initializers/secret_token.rb
194
191
  - spec/dummy/config/initializers/session_store.rb
192
+ - spec/dummy/config/locales/devise.en.yml
195
193
  - spec/dummy/config/locales/en.yml
196
194
  - spec/dummy/config/routes.rb
197
195
  - spec/dummy/db/migrate/20110524171909_radmin_create_users.rb
@@ -232,39 +230,34 @@ files:
232
230
  - spec/integration/navigation_spec.rb
233
231
  - spec/radmin_spec.rb
234
232
  - spec/spec_helper.rb
235
- has_rdoc: true
236
233
  homepage: http://github.com/cdamian/radmin
237
234
  licenses: []
238
-
239
235
  post_install_message:
240
236
  rdoc_options: []
241
-
242
- require_paths:
237
+ require_paths:
243
238
  - lib
244
- required_ruby_version: !ruby/object:Gem::Requirement
239
+ required_ruby_version: !ruby/object:Gem::Requirement
245
240
  none: false
246
- requirements:
247
- - - ">="
248
- - !ruby/object:Gem::Version
249
- hash: -2558046121998113996
250
- segments:
241
+ requirements:
242
+ - - ! '>='
243
+ - !ruby/object:Gem::Version
244
+ version: '0'
245
+ segments:
251
246
  - 0
252
- version: "0"
253
- required_rubygems_version: !ruby/object:Gem::Requirement
247
+ hash: 1266151900004332354
248
+ required_rubygems_version: !ruby/object:Gem::Requirement
254
249
  none: false
255
- requirements:
256
- - - ">="
257
- - !ruby/object:Gem::Version
258
- hash: -2558046121998113996
259
- segments:
250
+ requirements:
251
+ - - ! '>='
252
+ - !ruby/object:Gem::Version
253
+ version: '0'
254
+ segments:
260
255
  - 0
261
- version: "0"
256
+ hash: 1266151900004332354
262
257
  requirements: []
263
-
264
258
  rubyforge_project: radmin
265
- rubygems_version: 1.6.2
259
+ rubygems_version: 1.8.6
266
260
  signing_key:
267
261
  specification_version: 3
268
262
  summary: A drop in admin panel for existing rails applications
269
263
  test_files: []
270
-
@@ -1,16 +0,0 @@
1
- class Admin::AccountsController < AdminController
2
- def edit
3
- @user = current_admin
4
- end
5
-
6
- def update
7
- @user = current_admin
8
- if @user.update_attributes(params[:user])
9
- flash[:notice] = Radmin::I18n.t(:account_updated, :default => "Account updated.")
10
- redirect_to edit_admin_account_url
11
- else
12
- flash.now[:alert] = Radmin::I18n.t(:account_could_not_be_updated, :default => "Account could not be updated.")
13
- render :action => :edit
14
- end
15
- end
16
- end
@@ -1,4 +0,0 @@
1
- class Admin::PasswordsController < Devise::PasswordsController
2
- helper :admin
3
- layout "admin"
4
- end
@@ -1,15 +0,0 @@
1
- class AdminController < ApplicationController
2
- helper :admin
3
- before_filter :authenticate_admin!
4
- layout "admin"
5
-
6
- protected
7
- def current_user
8
- current_admin
9
- end
10
-
11
- def permission_denied
12
- flash[:alert] = Radmin::I18n.t(:permission_denied,:default => "Sorry, you are not allowed to access that page.")
13
- redirect_to admin_url
14
- end
15
- end
@@ -1,11 +0,0 @@
1
- - title Radmin::I18n.t(:edit_user,:default => "Edit Account")
2
- = form_for @user, :as => :user, :url => admin_account_path do |f|
3
- .col
4
- = f.label :email, Radmin::User.human_attribute_name("email")
5
- = f.text_field :email
6
- = f.label :password, Radmin::I18n.t(:new_password, :default => "New Password")
7
- = f.password_field :password
8
- = f.label :password_confirmation, Radmin::User.human_attribute_name("password_confirmation")
9
- = f.password_field :password_confirmation
10
- %p.buttons
11
- = f.submit Radmin::I18n.t(:save,:default=>"Save")
@@ -1,17 +0,0 @@
1
- authorization do
2
- role :guest do
3
- has_permission_on :admin_accounts, :to => [:show,:edit,:update]
4
- end
5
-
6
- role :admin do
7
- includes :guest
8
- has_permission_on :admin_users, :to => :manage
9
- has_permission_on :admin_settings, :to => :manage
10
- end
11
- end
12
-
13
- privileges do
14
- privilege :manage do
15
- includes :index,:new,:create,:edit,:update,:show,:destroy
16
- end
17
- end
@@ -1,17 +0,0 @@
1
- authorization do
2
- role :guest do
3
- has_permission_on :admin_accounts, :to => [:show,:edit,:update]
4
- end
5
-
6
- role :admin do
7
- includes :guest
8
- has_permission_on :admin_users, :to => :manage
9
- has_permission_on :admin_settings, :to => :manage
10
- end
11
- end
12
-
13
- privileges do
14
- privilege :manage do
15
- includes :index,:new,:create,:edit,:update,:show,:destroy
16
- end
17
- end