[IMP] Add folio services

This commit is contained in:
Sara Lago
2021-08-31 11:21:20 +02:00
committed by Darío Lodeiros
parent a706b7a308
commit 308c35f878
9 changed files with 322 additions and 27 deletions

View File

@@ -69,6 +69,8 @@ class PmsReservationService(Component):
else "",
checkinsRatio=reservation.checkins_ratio,
outstanding=reservation.folio_id.pending_amount,
pricelist=reservation.pricelist_id.name,
folioId=reservation.folio_id.id,
pwaActionButtons=json.loads(reservation.pwa_action_buttons)
if reservation.pwa_action_buttons
else {},
@@ -105,13 +107,14 @@ class PmsReservationService(Component):
"GET",
)
],
output_param=Datamodel("pms.reservation.short.info"),
auth="public",
)
def get_reservation(self, reservation_id):
reservation = (
self.env["pms.reservation"].sudo().search([("id", "=", reservation_id)])
)
res = []
res = False
if not reservation:
pass
else:
@@ -145,8 +148,70 @@ class PmsReservationService(Component):
else "",
checkinsRatio=reservation.checkins_ratio,
outstanding=reservation.folio_id.pending_amount,
pwaActionButtons=json.loads(reservation.pwa_action_buttons)
if reservation.pwa_action_buttons
else {},
pricelist=reservation.pricelist_id.name,
folioId=reservation.folio_id.id,
pwaActionButtons={},
)
return res
@restapi.method(
[
(
[
"/folio/<int:id>",
],
"GET",
)
],
output_param=Datamodel("pms.reservation.short.info", is_list=True),
auth="public",
)
def get_reservations(self, folio_id):
folio = (
self.env["pms.folio"].sudo().search([("id", "=", folio_id)])
)
res = []
if not folio.reservation_ids:
pass
else:
PmsReservationShortInfo = self.env.datamodels["pms.reservation.short.info"]
for reservation in folio.reservation_ids:
res.append(
PmsReservationShortInfo(
id=reservation.id,
partner=reservation.partner_id.name,
checkin=str(reservation.checkin),
checkout=str(reservation.checkout),
preferredRoomId=reservation.preferred_room_id.name
if reservation.preferred_room_id
else "",
roomTypeId=reservation.room_type_id.name
if reservation.room_type_id
else "",
name=reservation.name,
partnerRequests=reservation.partner_requests
if reservation.partner_requests
else "",
state=dict(reservation.fields_get(["state"])["state"]["selection"])[
reservation.state
],
priceTotal=reservation.price_total,
adults=reservation.adults,
channelTypeId=reservation.channel_type_id
if reservation.channel_type_id
else "",
agencyId=reservation.agency_id if reservation.agency_id else "",
boardServiceId=reservation.board_service_room_id.pms_board_service_id.name
if reservation.board_service_room_id
else "",
checkinsRatio=reservation.checkins_ratio,
outstanding=reservation.folio_id.pending_amount,
pricelist=reservation.pricelist_id.name,
folioId=reservation.folio_id.id,
pwaActionButtons=json.loads(reservation.pwa_action_buttons)
if reservation.pwa_action_buttons
else {},
)
)
return res