Sha256: d481a45ee6dbb2e66af2b33e850a6daf3bce7febdbe633cea5731ca90e875c4f

Contents?: true

Size: 1.18 KB

Versions: 33

Compression:

Stored size: 1.18 KB

Contents

module Mtdevise
  class Account < ActiveRecord::Base
  
    # Relationships
    belongs_to :owner, :class_name => "Mtdevise::User"
    has_many :members, :class_name => "Mtdevise::Member"
    has_many :users, :through => :members
    
    accepts_nested_attributes_for :owner
    
    # Form Validations
    validates :subdomain,
      presence: true,
      uniqueness: true,
      format: { with: /\A[\w\-]+\Z/i, message: 'is not allowed. Please choose another subdomain.'},
      exclusion: { in: %w(admin), message: 'is not allowed. Please choose another subdomain.'}
    
    validates :name,
    presence: true,
      uniqueness: {scope: :owner_id}
    
    validates :firstname,
      presence: true
    
    validates :lastname,
      presence: true
    
    validates :username,
      presence: true,
      uniqueness: true
    
    before_validation do
      self.subdomain = subdomain.to_s.downcase
      self.username = username.to_s.downcase
    end
    
    # Define Account/Owner for User
    def self.create_with_owner(params={})
      account = new(params)
      if account.save
        account.users << account.owner
        account.owner.confirm
      end
      account
    end
  
  end
end

Version data entries

33 entries across 33 versions & 1 rubygems

Version Path
mtdevise-16.1.0 app/models/mtdevise/account.rb
mtdevise-16.0.0 app/models/mtdevise/account.rb
mtdevise-15.2.0 app/models/mtdevise/account.rb
mtdevise-15.1.0 app/models/mtdevise/account.rb
mtdevise-15.0.0 app/models/mtdevise/account.rb
mtdevise-14.0.0 app/models/mtdevise/account.rb
mtdevise-13.0.0 app/models/mtdevise/account.rb
mtdevise-12.0.1 app/models/mtdevise/account.rb
mtdevise-12.0.0 app/models/mtdevise/account.rb
mtdevise-11.0.0 app/models/mtdevise/account.rb
mtdevise-10.0.0 app/models/mtdevise/account.rb
mtdevise-9.0.0 app/models/mtdevise/account.rb
mtdevise-8.0.0 app/models/mtdevise/account.rb
mtdevise-7.1.0 app/models/mtdevise/account.rb
mtdevise-7.0.1 app/models/mtdevise/account.rb
mtdevise-7.0.0 app/models/mtdevise/account.rb
mtdevise-6.2.0 app/models/mtdevise/account.rb
mtdevise-6.1.2 app/models/mtdevise/account.rb
mtdevise-6.1.1 app/models/mtdevise/account.rb
mtdevise-6.1.0 app/models/mtdevise/account.rb