User blocking improved. Admin area styled

This commit is contained in:
Dmitriy Zaporozhets 2012-04-16 23:33:03 +03:00
parent c0df0cd70c
commit c9def945d4
13 changed files with 231 additions and 109 deletions

View file

@ -4,7 +4,9 @@ class Admin::UsersController < ApplicationController
before_filter :authenticate_admin!
def index
@admin_users = User.page(params[:page])
@admin_users = User.scoped
@admin_users = @admin_users.filter(params[:filter])
@admin_users = @admin_users.order("updated_at DESC").page(params[:page])
end
def show
@ -38,13 +40,31 @@ class Admin::UsersController < ApplicationController
@admin_user = User.find(params[:id])
end
def block
@admin_user = User.find(params[:id])
if @admin_user.block
redirect_to :back, alert: "Successfully blocked"
else
redirect_to :back, alert: "Error occured. User was not blocked"
end
end
def unblock
@admin_user = User.find(params[:id])
if @admin_user.update_attribute(:blocked, false)
redirect_to :back, alert: "Successfully unblocked"
else
redirect_to :back, alert: "Error occured. User was not unblocked"
end
end
def create
admin = params[:user].delete("admin")
blocked = params[:user].delete("blocked")
@admin_user = User.new(params[:user])
@admin_user.admin = (admin && admin.to_i > 0)
@admin_user.blocked = blocked
respond_to do |format|
if @admin_user.save
@ -59,7 +79,6 @@ class Admin::UsersController < ApplicationController
def update
admin = params[:user].delete("admin")
blocked = params[:user].delete("blocked")
if params[:user][:password].blank?
params[:user].delete(:password)
@ -68,7 +87,6 @@ class Admin::UsersController < ApplicationController
@admin_user = User.find(params[:id])
@admin_user.admin = (admin && admin.to_i > 0)
@admin_user.blocked = blocked
respond_to do |format|
if @admin_user.update_attributes(params[:user])

View file

@ -1,5 +1,6 @@
class ApplicationController < ActionController::Base
before_filter :authenticate_user!
before_filter :reject_blocked!
before_filter :set_current_user_for_mailer
protect_from_forgery
helper_method :abilities, :can?
@ -16,6 +17,14 @@ class ApplicationController < ActionController::Base
protected
def reject_blocked!
if current_user && current_user.blocked
sign_out current_user
flash[:alert] = "Your account was blocked"
redirect_to new_user_session_path
end
end
def after_sign_in_path_for resource
if resource.is_a?(User) && resource.respond_to?(:blocked) && resource.blocked
sign_out resource