Sha256: 5f6098ea8e1ce8e9b04687ed134ac4314d9ab07146e678a9942883dd436189ee

Contents?: true

Size: 1.17 KB

Versions: 2

Compression:

Stored size: 1.17 KB

Contents

class Accept < ActiveRecord::Base
  attr_accessible :item_identifier, :librarian_id, :item_id
  default_scope { order('accepts.id DESC') }
  belongs_to :basket
  belongs_to :item, touch: true
  belongs_to :librarian, class_name: 'User'

  validates_uniqueness_of :item_id, message:  I18n.t('accept.already_accepted')
  validates_presence_of :item_id, message:  I18n.t('accept.item_not_found')
  validates_presence_of :basket_id

  before_save :accept!, on: :create

  attr_accessor :item_identifier

  paginates_per 10

  def accept!
    if defined?(EnjuCirculation)
      circulation_status = CirculationStatus.where(name: 'Available On Shelf').first
      item.update_column(:circulation_status_id, circulation_status.id) if circulation_status
      use_restriction = UseRestriction.where(name: 'Limited Circulation, Normal Loan Period').first
      item.use_restriction = use_restriction if use_restriction
    end
  end
end

# == Schema Information
#
# Table name: accepts
#
#  id           :integer          not null, primary key
#  basket_id    :integer
#  item_id      :integer
#  librarian_id :integer
#  created_at   :datetime         not null
#  updated_at   :datetime         not null
#

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
enju_library-0.1.0.pre38 app/models/accept.rb
enju_library-0.1.0.pre37 app/models/accept.rb