Sha256: 576c0d6f3c7dc5c77e9b46cb0beebb250498057c11de7684bbc25f5f3f7ccaed

Contents?: true

Size: 615 Bytes

Versions: 6

Compression:

Stored size: 615 Bytes

Contents

module EnjuCirculation
  module EnjuWithdraw
    extend ActiveSupport::Concern

    included do
      before_create :withdraw!
      validate :check_item
    end

    def withdraw!
      circulation_status = CirculationStatus.where(name: 'Removed').first
      item.update_column(:circulation_status_id, circulation_status.id) if circulation_status
      item.use_restriction = UseRestriction.where(name: 'Not For Loan').first
      item.index!
    end

    def check_item
      errors.add(:item_id, :is_rented) if item.try(:rent?)
      errors.add(:item_id, :is_reserved) if item.try(:reserved?)
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
enju_circulation-0.3.11 app/models/concerns/enju_circulation/enju_withdraw.rb
enju_circulation-0.3.10 app/models/concerns/enju_circulation/enju_withdraw.rb
enju_circulation-0.3.9 app/models/concerns/enju_circulation/enju_withdraw.rb
enju_circulation-0.4.0.rc.1 app/models/concerns/enju_circulation/enju_withdraw.rb
enju_circulation-0.3.8 app/models/concerns/enju_circulation/enju_withdraw.rb
enju_circulation-0.3.7 app/models/concerns/enju_circulation/enju_withdraw.rb