Skip to content

Commit

Permalink
replace reserved_by_user? method with user_reservation method
Browse files Browse the repository at this point in the history
  • Loading branch information
nabeta committed Jan 19, 2025
1 parent 560a37b commit 25c9b4c
Showing 1 changed file with 11 additions and 12 deletions.
23 changes: 11 additions & 12 deletions app/models/concerns/enju_circulation/enju_item.rb
Original file line number Diff line number Diff line change
Expand Up @@ -80,11 +80,8 @@ def rented?
rent?
end

def reserved_by_user?(user)
if manifestation.next_reservation
return true if manifestation.next_reservation.user == user
end
false
def user_reservation(user)
user.reserves.waiting.order("reserves.created_at").find_by(manifestation: manifestation)
end

def available_for_checkout?
Expand All @@ -96,14 +93,16 @@ def available_for_checkout?
end

def checkout!(user)
if reserved_by_user?(user)
manifestation.next_reservation.update(checked_out_at: Time.zone.now)
manifestation.next_reservation.transition_to!(:completed)
manifestation.reload
end
Item.transaction do
if user_reservation(user)
unless user_reservation.state_machine.in_state?(:completed)
user_reservation.checked_out_at = Time.zone.now
user_reservation.state_machine.transition_to!(:completed)
end
end

reload
update!(circulation_status: CirculationStatus.find_by(name: 'On Loan'))
update!(circulation_status: CirculationStatus.find_by(name: 'On Loan'))
end
end

def checkin!
Expand Down

0 comments on commit 25c9b4c

Please sign in to comment.