Don't allow banned ip addresses to make changes

Previously banned ip addresses couldn't make new accounts, but if they
get an account somehow the ip ban wouldn't prevent them from making
edits.
This commit is contained in:
Toks
2015-10-22 20:14:43 -04:00
parent c2f487067e
commit b708f5ea03
3 changed files with 9 additions and 1 deletions

View File

@@ -118,7 +118,7 @@ protected
%w(member banned builder gold platinum janitor moderator admin).each do |level|
define_method("#{level}_only") do
if !CurrentUser.user.is_banned? && CurrentUser.user.__send__("is_#{level}?")
if !CurrentUser.user.is_banned_or_ip_banned? && CurrentUser.user.__send__("is_#{level}?")
true
else
access_denied()

View File

@@ -40,6 +40,10 @@ class AnonymousUser
false
end
def is_banned_or_ip_banned?
false
end
def has_mail?
false
end

View File

@@ -75,6 +75,10 @@ class User < ActiveRecord::Base
accepts_nested_attributes_for :dmail_filter
module BanMethods
def is_banned_or_ip_banned?
return is_banned? || IpBan.is_banned?(CurrentUser.ip_addr)
end
def validate_ip_addr_is_not_banned
if IpBan.is_banned?(CurrentUser.ip_addr)
self.errors[:base] << "IP address is banned"