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.rb17
1 files changed, 13 insertions, 4 deletions
diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb
index 5dc0e80..27e89af 100644
--- a/app/controllers/users_controller.rb
+++ b/app/controllers/users_controller.rb
@@ -10,8 +10,6 @@ class UsersController < ApplicationController
if params[:role]
if params[:role].downcase == "staff"
@users = User.joins(:role).where("roles.value >= ?", Role.get(:mod).to_i)
- elsif params[:role].downcase == "donor"
- @users = User.joins(:role).where(donor: true)
else
if role = Role.get(params[:role])
@users = User.joins(:role).where(role: role)
@@ -21,10 +19,18 @@ class UsersController < ApplicationController
return
end
end
+ elsif params[:badge]
+ if badge = Badge.get(params[:badge])
+ @users = User.joins(:badge).where(badge: badge)
+ else
+ flash[:alert] = "badge '#{params[:badge]}' does not exist!"
+ redirect_to users_path
+ return
+ end
else
@users = User.joins(:role).where.not(id: User.first.id) #Remove first user
end
- @users = @users.order("roles.value desc", "confirmed desc", :name)
+ @users = @users.order("roles.value desc", "confirmed desc", :name) unless params[:badge]
@count = @users.size
@users = @users.page(params[:page]).per(100)
end
@@ -151,7 +157,7 @@ class UsersController < ApplicationController
def update
if (mod? && current_user.role >= @user.role ) || (@user.is?(current_user) && confirmed?)
if mod?
- userdata = user_params([:name, :skype, :skype_public, :youtube, :twitter, :about, :role, :confirmed, :donor])
+ userdata = user_params([:name, :skype, :skype_public, :youtube, :twitter, :about, :role, :badge, :confirmed])
else
userdata = user_params([:name, :skype, :skype_public, :youtube, :twitter, :about])
end
@@ -164,6 +170,9 @@ class UsersController < ApplicationController
userdata.delete(:role)
end
end
+ if userdata[:badge]
+ userdata[:badge] = Badge.get(userdata[:badge])
+ end
if @user.youtube != userdata[:youtube]
youtube = get_youtube(userdata[:youtube])
userdata[:youtube] = youtube[:channel]