Sha256: 9175591e44d688b05a03ee6bfac11bc567265168108245c44956eab2a6b9435c
Contents?: true
Size: 1.15 KB
Versions: 2
Compression:
Stored size: 1.15 KB
Contents
class Invitation < ActiveRecord::Base acts_as_activity :user belongs_to :user after_save :send_invite validates_presence_of :user validates_presence_of :email_addresses validates_length_of :email_addresses, :minimum => 6 validates_length_of :email_addresses, :maximum => 1500 validates_each :email_addresses do |record, attr, email_addresses | invalid_emails = [] email_addresses = email_addresses || '' emails = email_addresses.split(",").collect{|email| email.strip }.uniq emails.each{ |email| unless email =~ /[\w._%-]+@[\w.-]+.[a-zA-Z]{2,4}/ invalid_emails << email end } unless invalid_emails.empty? record.errors.add(:email_addresses, " included invalid addresses: <ul>"+invalid_emails.collect{|email| '<li>'+email+'</li>' }.join+"</ul>") record.email_addresses = (emails - invalid_emails).join(', ') end end attr_accessible :email_addresses, :message def send_invite emails = self.email_addresses.split(",").collect{|email| email.strip }.uniq emails.each{|email| UserNotifier.signup_invitation(email, self.user, self.message).deliver } end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
community_engine-2.3.2 | app/models/invitation.rb |
community_engine-2.3.1 | app/models/invitation.rb |