rails_apps_pages 0.5.12 → 0.5.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.textile +4 -0
- data/lib/generators/pages/roles/roles_generator.rb +26 -0
- data/lib/generators/pages/roles/templates/devise/users_controller.rb +45 -0
- data/lib/generators/pages/roles/templates/omniauth/users_controller.rb +49 -0
- data/lib/generators/pages/roles/templates/users/_user.html.erb +12 -0
- data/lib/rails_apps_pages/version.rb +1 -1
- metadata +6 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1a6bcd591d8fe575d8a0c3dc2ebea666aab98fcc
|
4
|
+
data.tar.gz: 558cef9f9c54be2a00ffee11aa2d8ae0155d6b86
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f8b8ee24b49731e914653f39f291720f89994c7c870b97bb74855b5604ba7cd20dbd680785da381742e4bdef6fca168ffd62143a48cea70ef2ac28a435559591
|
7
|
+
data.tar.gz: 0233597a6b80694b65cbf4ddb09aa86dfeaeb0c425d79e7d4e0e69519a313008b864197daf10de5ccdb825a07bec2d4ee8d7b4a8de5a70d01144df029cc15bbe
|
data/CHANGELOG.textile
CHANGED
@@ -0,0 +1,26 @@
|
|
1
|
+
require 'rails/generators'
|
2
|
+
|
3
|
+
module Pages
|
4
|
+
module Generators
|
5
|
+
class RolesGenerator < ::Rails::Generators::Base
|
6
|
+
source_root File.expand_path("../templates", __FILE__)
|
7
|
+
|
8
|
+
desc "Simple role-based authorization. A User model with roles must be available."
|
9
|
+
|
10
|
+
def add_users_partial
|
11
|
+
copy_file 'users/_user.html.erb', 'app/views/users/_user.html.erb'
|
12
|
+
end
|
13
|
+
|
14
|
+
def add_if_devise
|
15
|
+
return unless File.exists?('config/initializers/devise.rb')
|
16
|
+
copy_file 'devise/users_controller.rb', 'app/controllers/users_controller.rb'
|
17
|
+
end
|
18
|
+
|
19
|
+
def add_if_omniauth
|
20
|
+
return unless File.exists?('config/initializers/omniauth.rb')
|
21
|
+
copy_file 'omniauth/users_controller.rb', 'app/controllers/users_controller.rb'
|
22
|
+
end
|
23
|
+
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,45 @@
|
|
1
|
+
class UsersController < ApplicationController
|
2
|
+
before_filter :authenticate_user!
|
3
|
+
before_filter :admin_only, :except => :show
|
4
|
+
|
5
|
+
def index
|
6
|
+
@users = User.all
|
7
|
+
end
|
8
|
+
|
9
|
+
def show
|
10
|
+
@user = User.find(params[:id])
|
11
|
+
unless current_user.admin?
|
12
|
+
unless @user == current_user
|
13
|
+
redirect_to :back, :alert => "Access denied."
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
def update
|
19
|
+
@user = User.find(params[:id])
|
20
|
+
if @user.update_attributes(secure_params)
|
21
|
+
redirect_to users_path, :notice => "User updated."
|
22
|
+
else
|
23
|
+
redirect_to users_path, :alert => "Unable to update user."
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
def destroy
|
28
|
+
user = User.find(params[:id])
|
29
|
+
user.destroy
|
30
|
+
redirect_to users_path, :notice => "User deleted."
|
31
|
+
end
|
32
|
+
|
33
|
+
private
|
34
|
+
|
35
|
+
def admin_only
|
36
|
+
unless current_user.admin?
|
37
|
+
redirect_to :back, :alert => "Access denied."
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
def secure_params
|
42
|
+
params.require(:user).permit(:role)
|
43
|
+
end
|
44
|
+
|
45
|
+
end
|
@@ -0,0 +1,49 @@
|
|
1
|
+
class UsersController < ApplicationController
|
2
|
+
before_filter :authenticate_user!
|
3
|
+
before_filter :admin_only, :except => :show
|
4
|
+
|
5
|
+
def index
|
6
|
+
@users = User.all
|
7
|
+
end
|
8
|
+
|
9
|
+
def show
|
10
|
+
@user = User.find(params[:id])
|
11
|
+
unless current_user.admin?
|
12
|
+
unless @user == current_user
|
13
|
+
redirect_to :back, :alert => "Access denied."
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
def update
|
19
|
+
@user = User.find(params[:id])
|
20
|
+
if @user.update_attributes(secure_params)
|
21
|
+
redirect_to :back, :notice => "User updated."
|
22
|
+
else
|
23
|
+
redirect_to :back, :alert => "Unable to update user."
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
def destroy
|
28
|
+
user = User.find(params[:id])
|
29
|
+
user.destroy
|
30
|
+
redirect_to users_path, :notice => "User deleted."
|
31
|
+
end
|
32
|
+
|
33
|
+
private
|
34
|
+
|
35
|
+
def admin_only
|
36
|
+
unless current_user.admin?
|
37
|
+
redirect_to :back, :alert => "Access denied."
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
def secure_params
|
42
|
+
if @user == current_user
|
43
|
+
params.require(:user).permit(:email)
|
44
|
+
elsif current_user.admin?
|
45
|
+
params.require(:user).permit(:role)
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
<td>
|
2
|
+
<%= link_to user.email, user %>
|
3
|
+
</td>
|
4
|
+
<td>
|
5
|
+
<%= form_for(user) do |f| %>
|
6
|
+
<%= f.select(:role, User.roles.keys.map {|role| [role.titleize,role]}) %>
|
7
|
+
<%= f.submit 'Change Role', :class => 'button-xs' %>
|
8
|
+
<% end %>
|
9
|
+
</td>
|
10
|
+
<td>
|
11
|
+
<%= link_to("Delete user", user_path(user), :data => { :confirm => "Are you sure?" }, :method => :delete, :class => 'button-xs') unless user == current_user %>
|
12
|
+
</td>
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rails_apps_pages
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.13
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Daniel Kehoe
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-08-
|
11
|
+
date: 2014-08-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -74,6 +74,10 @@ files:
|
|
74
74
|
- lib/generators/pages/home/templates/home_page_spec.rb
|
75
75
|
- lib/generators/pages/home/templates/index.html.erb
|
76
76
|
- lib/generators/pages/home/templates/visitors_controller.rb
|
77
|
+
- lib/generators/pages/roles/roles_generator.rb
|
78
|
+
- lib/generators/pages/roles/templates/devise/users_controller.rb
|
79
|
+
- lib/generators/pages/roles/templates/omniauth/users_controller.rb
|
80
|
+
- lib/generators/pages/roles/templates/users/_user.html.erb
|
77
81
|
- lib/generators/pages/users/templates/devise/devise_permitted_parameters.rb
|
78
82
|
- lib/generators/pages/users/templates/devise/users_controller.rb
|
79
83
|
- lib/generators/pages/users/templates/omniauth/_user.html.erb
|