summaryrefslogtreecommitdiff
path: root/app/controllers/users_controller.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/controllers/users_controller.rb')
-rw-r--r--app/controllers/users_controller.rb13
1 files changed, 11 insertions, 2 deletions
diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb
index 16f42d3..6b31d22 100644
--- a/app/controllers/users_controller.rb
+++ b/app/controllers/users_controller.rb
@@ -4,7 +4,7 @@ class UsersController < ApplicationController
include MailerHelper
include ERB::Util
- before_filter :set_user, except: [:index, :new, :create, :lost_password, :reset_password, :suggestions]
+ before_filter :set_user, except: [:index, :new, :create, :lost_password, :reset_password, :suggestions, :search_redirect]
def index
if params[:role]
@@ -13,7 +13,7 @@ class UsersController < ApplicationController
else
if role = Role.get(params[:role])
@users = User.joins(:role).where(role: role)
- else
+ elsif params[:search] == nil
flash[:alert] = "role '#{params[:role]}' does not exist!"
redirect_to users_path
return
@@ -30,6 +30,7 @@ class UsersController < ApplicationController
else
@users = User.joins(:role).where.not(id: User.first.id) #Remove first user
end
+ @users = User.search(@users, params[:search]) if params[:search]
@users = @users.order("roles.value desc", "confirmed desc", :name) unless params[:badge]
@count = @users.size
@users = @users.page(params[:page]).per(100)
@@ -339,6 +340,14 @@ class UsersController < ApplicationController
end
end
+ def search_redirect
+ params.each do |key, value|
+ params[key] = nil if params[key] == ""
+ end
+ params_list = Hash[params.except(:commit, :utf8, :authenticity_token)]
+ redirect_to users_path(params_list)
+ end
+
private
def validate_token(uuid, email, token)