prevent the creation of users with empty string email addresses
This commit is contained in:
@@ -24,6 +24,7 @@ class User < ActiveRecord::Base
|
|||||||
validates_confirmation_of :password
|
validates_confirmation_of :password
|
||||||
validates_presence_of :email, :if => lambda {|rec| rec.new_record? && Danbooru.config.enable_email_verification?}
|
validates_presence_of :email, :if => lambda {|rec| rec.new_record? && Danbooru.config.enable_email_verification?}
|
||||||
validate :validate_ip_addr_is_not_banned, :on => :create
|
validate :validate_ip_addr_is_not_banned, :on => :create
|
||||||
|
before_validation :convert_blank_email_to_null
|
||||||
before_save :encrypt_password
|
before_save :encrypt_password
|
||||||
after_save :update_cache
|
after_save :update_cache
|
||||||
before_create :promote_to_admin_if_first_user
|
before_create :promote_to_admin_if_first_user
|
||||||
@@ -218,7 +219,7 @@ class User < ActiveRecord::Base
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
module EmailVerificationMethods
|
module EmailMethods
|
||||||
def is_verified?
|
def is_verified?
|
||||||
email_verification_key.blank?
|
email_verification_key.blank?
|
||||||
end
|
end
|
||||||
@@ -234,6 +235,12 @@ class User < ActiveRecord::Base
|
|||||||
raise User::Error.new("Verification key does not match")
|
raise User::Error.new("Verification key does not match")
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def convert_blank_email_to_null
|
||||||
|
if email.blank?
|
||||||
|
self.email = nil
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
module BlacklistMethods
|
module BlacklistMethods
|
||||||
@@ -332,7 +339,7 @@ class User < ActiveRecord::Base
|
|||||||
extend AuthenticationMethods
|
extend AuthenticationMethods
|
||||||
include FavoriteMethods
|
include FavoriteMethods
|
||||||
include LevelMethods
|
include LevelMethods
|
||||||
include EmailVerificationMethods
|
include EmailMethods
|
||||||
include BlacklistMethods
|
include BlacklistMethods
|
||||||
include ForumMethods
|
include ForumMethods
|
||||||
include LimitMethods
|
include LimitMethods
|
||||||
|
|||||||
10
db/seeds.rb
10
db/seeds.rb
@@ -45,7 +45,7 @@ end
|
|||||||
if Comment.count == 0
|
if Comment.count == 0
|
||||||
puts "Creating comments"
|
puts "Creating comments"
|
||||||
Post.all.each do |post|
|
Post.all.each do |post|
|
||||||
20.times do
|
rand(30).times do
|
||||||
Comment.create(:post_id => post.id, :body => rand(1_000_000).to_s)
|
Comment.create(:post_id => post.id, :body => rand(1_000_000).to_s)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@@ -56,8 +56,12 @@ end
|
|||||||
if Note.count == 0
|
if Note.count == 0
|
||||||
puts "Creating notes"
|
puts "Creating notes"
|
||||||
Post.all.each do |post|
|
Post.all.each do |post|
|
||||||
3.times do
|
rand(10).times do
|
||||||
Note.create(:post_id => post.id, :x => 0, :y => 0, :width => 100, :height => 100, :body => rand(1_000_000).to_s)
|
note = Note.create(:post_id => post.id, :x => 0, :y => 0, :width => 100, :height => 100, :body => rand(1_000_000).to_s)
|
||||||
|
|
||||||
|
rand(30).times do |i|
|
||||||
|
note.update_attributes(:body => (i * i).to_s)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
|
|||||||
Reference in New Issue
Block a user