some New and some old

Added some new stuff (mainly the fix for the "new" ranks suffixes) and
removed some uneeded bits.
Also changed the gemfile so it will work on Windows too.
This commit is contained in:
Jonas Folvik
2016-01-11 18:21:21 +01:00
parent d9b971ab34
commit c35a36a5c5
9 changed files with 138 additions and 125 deletions

View File

@@ -17,9 +17,9 @@ class ApplicationController < ActionController::Base
helper_method :superadmin?
helper_method :donor?
helper_method :retired?
helper_method :developer?
helper_method :trainingmod?
helper_method :lead_mod?
helper_method :mit?
helper_method :dev?
helper_method :lead?
helper_method :confirmed?
@@ -79,16 +79,16 @@ class ApplicationController < ActionController::Base
!!(current_user && current_user.retired?)
end
def developer?
!!(current_user && current_user.developer?)
def mit?
!!(current_user && current_user.mit?)
end
def trainingmod?
!!(current_user && current_user.trainingmod?)
def dev?
!!(current_user && current_user.dev?)
end
def lead_mod?
!!(current_user && current_user.lead_mod?)
def lead?
!!(current_user && current_user.lead?)
end
def confirmed?

View File

@@ -12,6 +12,14 @@ class UsersController < ApplicationController
@users = User.joins(:role).where("roles.value >= ?", Role.get(:mod).to_i)
elsif params[:role].downcase == "donor"
@users = User.joins(:role).where(donor: true)
elsif params[:role].downcase == "retired"
@users = User.joins(:role).where(retired: true)
elsif params[:role].downcase == "mit"
@users = User.joins(:role).where(mit: true)
elsif params[:role].downcase == "dev"
@users = User.joins(:role).where(dev: true)
elsif params[:role].downcase == "lead"
@users = User.joins(:role).where(lead: true)
else
if role = Role.get(params[:role])
@users = User.joins(:role).where(role: role)
@@ -140,7 +148,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, :confirmed, :donor, :retired, :dev, :mit, :lead])
else
userdata = user_params([:name, :skype, :skype_public, :youtube, :twitter, :about])
end

View File

@@ -21,8 +21,6 @@ class User < ActiveRecord::Base
validates :email, uniqueness: {case_sensitive: false}, format: {with: /\A.+@(.+\..{2,}|\[[0-9a-f:.]+\])\z/i, message: "That doesn't look like an email address."}
validates :ign, uniqueness: {case_sensitive: false}, format: {with: /\A[a-z\d_]+\z/i, message: "Username is invalid (a-z, 0-9, _)."}
validate :account_exists?, :if => lambda {|user| user.ign_changed? }
has_many :blogposts
has_many :comments
@@ -39,16 +37,16 @@ class User < ActiveRecord::Base
!!self.retired
end
def developer?
!!self.developer
def dev?
!!self.dev
end
def trainingmod?
!!self.trainingmod
def mit?
!!self.mit
end
def lead_mod?
!!self.lead_mod
def lead?
!!self.lead
end
def confirmed?
@@ -129,32 +127,6 @@ class User < ActiveRecord::Base
end
end
# def haspaid?
# begin
# response = open("https://sessionserver.mojang.com/session/minecraft/profile/#{CGI.escape(self.uuid)}", read_timeout: 0.5)
# if response.status[0] == "200"
# session_profile = JSON.load(response.read)
# # unpaid accounts are called 'demo' accounts
# return session_profile["demo"] == true
# elsif response.status[0] == "204"
# # user doesn't exist
# return false
# else
# Rails.logger.error "---"
# Rails.logger.error "ERROR: unexpected response code while checking '#{self.uuid}' for premium account"
# Rails.logger.error "code: #{reponse.status}, body: '#{reponse.read}'"
# Rails.logger.error "---"
# end
# rescue => e
# Rails.logger.error "---"
# Rails.logger.error "ERROR: failed to check for premium account for '#{self.uuid}'. Minecraft servers down?"
# Rails.logger.error e.message
# Rails.logger.error "---"
# end
# # mojang servers have trouble
# return true
# end
# def correct_case?(ign)
# begin
# http = Net::HTTP.start("skins.minecraft.net")
@@ -220,13 +192,6 @@ class User < ActiveRecord::Base
self.name ||= self.ign
end
def account_exists?
profile = self.get_profile
if !profile || profile["demo"] == true
errors.add(:ign, "'#{self.ign}' is not a paid account!")
end
end
def strip_whitespaces
self.name.strip! if self.name
self.ign.strip! if self.ign

View File

@@ -50,21 +50,22 @@
<tr>
<td>Developer</td>
<td>
<%= f.select :developer, [["No", false], ["Yes", true]], {}, { disabled: !can_edit? } %>
<%= f.select :dev, [["No", false], ["Yes", true]], {}, { disabled: !can_edit? } %>
</td>
</tr>
<tr>
<td>TrainingMod</td>
<td>Mod In Training</td>
<td>
<%= f.select :trainingmod, [["No", false], ["Yes", true]], {}, { disabled: !can_edit? } %>
<%= f.select :mit, [["No", false], ["Yes", true]], {}, { disabled: !can_edit? } %>
</td>
</tr>
<tr>
<td>Lead Mod</td>
<td>
<%= f.select :lead_mod, [["No", false], ["Yes", true]], {}, { disabled: !can_edit? } %>
<%= f.select :lead, [["No", false], ["Yes", true]], {}, { disabled: !can_edit? } %>
</td>
</tr>
<% end %>
<tr>
<td>Skype username</td>