email_activation.rb
687 Bytes
class EmailActivation < Task
  validates_presence_of :requestor_id, :target_id
  alias :environment :target
  alias :person :requestor
  def validate_on_create
    if !self.requestor.nil? && self.requestor.user.email_activation_pending?
      self.errors.add_to_base(_('You have already requested activation of your mailbox.'))
    end
  end
  def description
    _("'%{user} wants to activate email '%{email}'") % { :user => person.name, :email => person.email_addresses.join(', ') }
  end
  def perform
    person.user.enable_email!
  end
  # :nodoc:
  def after_finish
    User::Mailer.deliver_activation_email_notify(person.user)
  end
  def sends_email?
    false
  end
end