1
0
mirror of https://github.com/LaCasemate/fab-manager.git synced 2024-12-04 15:24:23 +01:00
fab-manager/app/views/api/reservations/_reservation.json.jbuilder

47 lines
1.7 KiB
Ruby

# frozen_string_literal: true
json.id reservation.id
json.user_id reservation.statistic_profile.user_id
json.user_full_name reservation.user&.profile&.full_name
json.message reservation.message
json.slots_reservations_attributes reservation.slots_reservations do |sr|
json.id sr.id
json.canceled_at sr.canceled_at&.iso8601
json.is_valid sr.is_valid
json.slot_id sr.slot_id
json.slot_attributes do
json.id sr.slot_id
json.start_at sr.slot.start_at.iso8601
json.end_at sr.slot.end_at.iso8601
json.availability_id sr.slot.availability_id
end
end
json.nb_reserve_places reservation.nb_reserve_places
json.tickets_attributes reservation.tickets do |t|
json.extract! t, :booked, :created_at
json.event_price_category do
json.extract! t.event_price_category, :id, :price_category_id
json.price_category do
json.extract! t.event_price_category.price_category, :id, :name
end
end
end
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
json.reservable do
json.id reservation.reservable.id
json.name reservation.reservable.name
end
json.booking_users_attributes reservation.booking_users.order(booked_type: :desc) do |bu|
json.id bu.id
json.name bu.name
json.event_price_category_id bu.event_price_category_id
json.booked_id bu.booked_id
json.booked_type bu.booked_type
json.age ((Time.zone.now - bu.booked.birthday.to_time) / 1.year.seconds).floor if bu.booked_type == 'Child'
end
json.is_valid reservation.slots_reservations[0].is_valid
json.is_paid reservation.slots_reservations[0].is_confirm