Added badge system

This commit is contained in:
MrYummy
2017-05-28 17:39:06 -04:00
parent 992406a20b
commit 1b4a270038
11 changed files with 124 additions and 29 deletions

View File

@@ -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]