Commit 925183ed7a8eb392e008764483f59c319e22a59c
1 parent
83f24de3
Exists in
master
and in
4 other branches
Add an AdminController base class for Admin controllers
Handles stuff that's shared across admin controllers.
Showing
9 changed files
with
27 additions
and
44 deletions
Show diff stats
app/controllers/admin/dashboard_controller.rb
1 | -class Admin::DashboardController < ApplicationController | |
2 | - layout "admin" | |
3 | - before_filter :authenticate_user! | |
4 | - before_filter :authenticate_admin! | |
5 | - | |
1 | +class Admin::DashboardController < AdminController | |
6 | 2 | def index |
7 | 3 | @workers = Resque.workers |
8 | 4 | @pending_jobs = Resque.size(:post_receive) | ... | ... |
app/controllers/admin/hooks_controller.rb
1 | -class Admin::HooksController < ApplicationController | |
2 | - layout "admin" | |
3 | - before_filter :authenticate_user! | |
4 | - before_filter :authenticate_admin! | |
5 | - | |
1 | +class Admin::HooksController < AdminController | |
6 | 2 | def index |
7 | 3 | @hooks = SystemHook.all |
8 | 4 | @hook = SystemHook.new |
... | ... | @@ -15,7 +11,7 @@ class Admin::HooksController < ApplicationController |
15 | 11 | redirect_to admin_hooks_path, notice: 'Hook was successfully created.' |
16 | 12 | else |
17 | 13 | @hooks = SystemHook.all |
18 | - render :index | |
14 | + render :index | |
19 | 15 | end |
20 | 16 | end |
21 | 17 | ... | ... |
app/controllers/admin/logs_controller.rb
app/controllers/admin/projects_controller.rb
1 | -class Admin::ProjectsController < ApplicationController | |
2 | - layout "admin" | |
3 | - before_filter :authenticate_user! | |
4 | - before_filter :authenticate_admin! | |
1 | +class Admin::ProjectsController < AdminController | |
5 | 2 | before_filter :admin_project, only: [:edit, :show, :update, :destroy, :team_update] |
6 | 3 | |
7 | 4 | def index |
... | ... | @@ -43,7 +40,7 @@ class Admin::ProjectsController < ApplicationController |
43 | 40 | def update |
44 | 41 | owner_id = params[:project].delete(:owner_id) |
45 | 42 | |
46 | - if owner_id | |
43 | + if owner_id | |
47 | 44 | @admin_project.owner = User.find(owner_id) |
48 | 45 | end |
49 | 46 | |
... | ... | @@ -60,7 +57,7 @@ class Admin::ProjectsController < ApplicationController |
60 | 57 | redirect_to admin_projects_url, notice: 'Project was successfully deleted.' |
61 | 58 | end |
62 | 59 | |
63 | - private | |
60 | + private | |
64 | 61 | |
65 | 62 | def admin_project |
66 | 63 | @admin_project = Project.find_by_code(params[:id]) | ... | ... |
app/controllers/admin/resque_controller.rb
app/controllers/admin/team_members_controller.rb
1 | -class Admin::TeamMembersController < ApplicationController | |
2 | - layout "admin" | |
3 | - before_filter :authenticate_user! | |
4 | - before_filter :authenticate_admin! | |
5 | - | |
1 | +class Admin::TeamMembersController < AdminController | |
6 | 2 | def edit |
7 | 3 | @admin_team_member = UsersProject.find(params[:id]) |
8 | 4 | end | ... | ... |
app/controllers/admin/users_controller.rb
1 | -class Admin::UsersController < ApplicationController | |
2 | - layout "admin" | |
3 | - before_filter :authenticate_user! | |
4 | - before_filter :authenticate_admin! | |
5 | - | |
1 | +class Admin::UsersController < AdminController | |
6 | 2 | def index |
7 | 3 | @admin_users = User.scoped |
8 | 4 | @admin_users = @admin_users.filter(params[:filter]) |
... | ... | @@ -24,7 +20,7 @@ class Admin::UsersController < ApplicationController |
24 | 20 | @admin_user = User.find(params[:id]) |
25 | 21 | |
26 | 22 | UsersProject.user_bulk_import( |
27 | - @admin_user, | |
23 | + @admin_user, | |
28 | 24 | params[:project_ids], |
29 | 25 | params[:project_access] |
30 | 26 | ) |
... | ... | @@ -41,22 +37,22 @@ class Admin::UsersController < ApplicationController |
41 | 37 | @admin_user = User.find(params[:id]) |
42 | 38 | end |
43 | 39 | |
44 | - def block | |
40 | + def block | |
45 | 41 | @admin_user = User.find(params[:id]) |
46 | 42 | |
47 | 43 | if @admin_user.block |
48 | 44 | redirect_to :back, alert: "Successfully blocked" |
49 | - else | |
45 | + else | |
50 | 46 | redirect_to :back, alert: "Error occured. User was not blocked" |
51 | 47 | end |
52 | 48 | end |
53 | 49 | |
54 | - def unblock | |
50 | + def unblock | |
55 | 51 | @admin_user = User.find(params[:id]) |
56 | 52 | |
57 | 53 | if @admin_user.update_attribute(:blocked, false) |
58 | 54 | redirect_to :back, alert: "Successfully unblocked" |
59 | - else | |
55 | + else | |
60 | 56 | redirect_to :back, alert: "Error occured. User was not unblocked" |
61 | 57 | end |
62 | 58 | end | ... | ... |
... | ... | @@ -0,0 +1,11 @@ |
1 | +# Provides a base class for Admin controllers to subclass | |
2 | +# | |
3 | +# Automatically sets the layout and ensures an administrator is logged in | |
4 | +class AdminController < ApplicationController | |
5 | + layout 'admin' | |
6 | + before_filter :authenticate_admin! | |
7 | + | |
8 | + def authenticate_admin! | |
9 | + return render_404 unless current_user.is_admin? | |
10 | + end | |
11 | +end | ... | ... |
app/controllers/application_controller.rb
... | ... | @@ -84,10 +84,6 @@ class ApplicationController < ActionController::Base |
84 | 84 | abilities << Ability |
85 | 85 | end |
86 | 86 | |
87 | - def authenticate_admin! | |
88 | - return render_404 unless current_user.is_admin? | |
89 | - end | |
90 | - | |
91 | 87 | def authorize_project!(action) |
92 | 88 | return access_denied! unless can?(current_user, action, project) |
93 | 89 | end | ... | ... |