Don't try to import invalid websites

This commit is contained in:
Gerhard Schlager 2016-02-21 17:38:04 +01:00
parent e8d837269b
commit eb166e78b6
2 changed files with 5 additions and 3 deletions

View File

@ -1,8 +1,10 @@
class UserProfile < ActiveRecord::Base
belongs_to :user, inverse_of: :user_profile
WEBSITE_REGEXP = /(^$)|(^(http|https):\/\/[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,9}(([0-9]{1,5})?\/.*)?$)/ix
validates :bio_raw, length: { maximum: 3000 }
validates :website, format: { with: /(^$)|(^(http|https):\/\/[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,9}(([0-9]{1,5})?\/.*)?$)/ix }, allow_blank: true
validates :website, format: { with: WEBSITE_REGEXP }, allow_blank: true
validates :user, presence: true
before_save :cook
after_save :trigger_badges

View File

@ -306,8 +306,8 @@ class ImportScripts::Base
User.transaction do
u.save!
if bio_raw.present? || website.present? || location.present?
u.user_profile.bio_raw = bio_raw if bio_raw.present?
u.user_profile.website = website if website.present?
u.user_profile.bio_raw = bio_raw[0..2999] if bio_raw.present?
u.user_profile.website = website unless website.blank? || website !~ UserProfile::WEBSITE_REGEXP
u.user_profile.location = location if location.present?
u.user_profile.save!
end