Module: EnjuCirculation::EnjuBasket::InstanceMethods

Defined in:
lib/enju_circulation/basket.rb

Instance Method Summary collapse

Instance Method Details

#basket_checkout(librarian) ⇒ Object



18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/enju_circulation/basket.rb', line 18

def basket_checkout(librarian)
  return nil if checked_items.size == 0
  Item.transaction do
    checked_items.each do |checked_item|
      checkout = user.checkouts.new
      checkout.librarian = librarian
      checkout.item = checked_item.item
      checkout.basket = self
      checkout.library = librarian.profile.library
      checkout.shelf = checked_item.item.shelf
      checkout.due_date = checked_item.due_date
      checked_item.item.checkout!(user)
      checkout.save!
    end
    CheckedItem.destroy_all(basket_id: id)
  end
end