1
0
mirror of https://github.com/LaCasemate/fab-manager.git synced 2025-02-19 13:54:25 +01:00

show correct seats nb in canceled reservation

This commit is contained in:
Sylvain 2019-11-25 10:45:54 +01:00
parent bbd613f2a5
commit 1182822d8b
3 changed files with 6 additions and 4 deletions

View File

@ -166,7 +166,7 @@
</div>
</div>
<div ng-show="isCancelled(reservation)" class="well well-disabled">
<div class="text-italic text-sm">{{ 'canceled_reservation_SEATS' | translate:{SEATS:reservation.nb_reserve_places} }}</div>
<div class="text-italic text-sm">{{ 'canceled_reservation_SEATS' | translate:{SEATS:reservation.total_booked_seats} }}</div>
</div>
</div>

View File

@ -243,12 +243,14 @@ class Reservation < ActiveRecord::Base
true
end
def total_booked_seats
# @param canceled if true, count the number of seats for this reservation, including canceled seats
def total_booked_seats(canceled: false)
# cases:
# - machine/training/space reservation => 1 slot = 1 seat (currently not covered by this function)
# - event reservation => seats = nb_reserve_place (normal price) + tickets.booked (other prices)
return 0 if slots.first.canceled_at && !canceled
total = nb_reserve_places
total = 0 if slots.first.canceled_at
total += tickets.map(&:booked).map(&:to_i).reduce(:+) if tickets.count.positive?
total

View File

@ -18,7 +18,7 @@ json.tickets reservation.tickets do |t|
end
end
end
json.total_booked_seats reservation.total_booked_seats
json.total_booked_seats reservation.total_booked_seats(canceled: true)
json.created_at reservation.created_at.iso8601
json.reservable_id reservation.reservable_id
json.reservable_type reservation.reservable_type