Sha256: 7153b2d90d67311c7d7f6506e971108b8d1e96037a8720b71b9eb05f1f0f6d1a

Contents?: true

Size: 926 Bytes

Versions: 4

Compression:

Stored size: 926 Bytes

Contents

# Default implementation of User.  This class is intended to be modified by extensions (ex. spree_auth_devise)
module Spree
  class LegacyUser < ActiveRecord::Base
    self.table_name = 'spree_users'
    attr_accessible :email, :password, :password_confirmation

    has_many :orders, :foreign_key => :user_id
    belongs_to :ship_address, :class_name => 'Spree::Address'
    belongs_to :bill_address, :class_name => 'Spree::Address'

    scope :registered

    before_destroy :check_completed_orders

    class DestroyWithOrdersError < StandardError; end

    def anonymous?
      false
    end

    # Creates an anonymous user
    def self.anonymous!
      create
    end

    def has_spree_role?(role)
      true
    end

    attr_accessor :password
    attr_accessor :password_confirmation

    private

      def check_completed_orders
        raise DestroyWithOrdersError if orders.complete.present?
      end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
spree_core-1.3.5 app/models/spree/legacy_user.rb
spree_core-1.3.4 app/models/spree/legacy_user.rb
spree_core-1.3.3 app/models/spree/legacy_user.rb
spree_core-1.3.2 app/models/spree/legacy_user.rb