Sha256: 4e8684160a974ebc1c2601ae9968ada4105c58de5e920a82670098ab17d89918

Contents?: true

Size: 1.28 KB

Versions: 8

Compression:

Stored size: 1.28 KB

Contents

class AdminUser < ActiveRecord::Base

  devise :database_authenticatable,
         :recoverable, :rememberable, :trackable,
         :validatable, :lockable

  has_and_belongs_to_many :virtual_domains, :join_table => :users_domains

  attr_accessible :name, :email, :password, :password_confirmation, :virtual_domain_ids

  validates :email,
    :presence   => true,
    :uniqueness => true,
    :format     => { :with => /\A([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})\Z/i }
  #validates :password,
  #  :presence   => true,
  #  :unless     => 'selfpassword.empty?'

  before_create :be_super!, :if => 'AdminUser.first.nil?'

  def be_super!
    self.super = true
  end

  def domains
    vd = self.super == true ? VirtualDomain.all : self.virtual_domains
    vd.each do |domain|
      VirtualUser.drop_domain_from_email_each(domain.virtual_users)
    end
    vd
  end

  def domain(id)
    (self.super == true ? VirtualDomain : self.virtual_domains).find(id)
  end

  def build_domain(params)
    domain = self.virtual_domains.build
    domain[:name] = params[:name]
    domain
  end


  def change_data(params)
    success = if not params[:password].blank?
      update_with_password(params)
    else
      params.delete(:password)
      update_without_password(params)
    end
    return success
  end

end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
rmails-0.2.1 app/models/admin_user.rb
rmails-0.2.0 app/models/admin_user.rb
rmails-0.1.6 app/models/admin_user.rb
rmails-0.1.5 app/models/admin_user.rb
rmails-0.1.4 app/models/admin_user.rb
rmails-0.1.3 app/models/admin_user.rb
rmails-0.1.2 app/models/admin_user.rb
rmails-0.1.1 app/models/admin_user.rb