[RFC]pms_api_rest: refactor in datamodels and services

This commit is contained in:
Sara
2022-07-11 17:02:27 +02:00
committed by Darío Lodeiros
parent 98975a5e92
commit f661b67a4a
35 changed files with 171 additions and 146 deletions

View File

@@ -23,7 +23,7 @@ from . import pms_pricelist_item
from . import pms_availability_plan
from . import pms_availability_plan_rule
from . import pms_id_categories
from . import pms_id_category
from . import res_country
from . import res_partner_category
from . import res_city_zip

View File

@@ -7,4 +7,4 @@ class PmsAccountJournalInfo(Datamodel):
_name = "pms.account.journal.info"
id = fields.Integer(required=False, allow_none=True)
name = fields.String(required=False, allow_none=True)
allowedPmsPayments = fields.Boolean(required=False, allow_none=True)
allowedPayments = fields.Boolean(required=False, allow_none=True)

View File

@@ -12,3 +12,4 @@ class PmsAgencyInfo(Datamodel):
_name = "pms.agency.info"
id = fields.Integer(required=True, allow_none=False)
name = fields.String(required=True, allow_none=False)
image = fields.String(required=False, allow_none=True)

View File

@@ -13,4 +13,5 @@ class PmsAmenityInfo(Datamodel):
_name = "pms.amenity.info"
id = fields.Integer(required=True, allow_none=False)
name = fields.String(required=True, allow_none=False)
amenityTypeId = fields.Integer(required=True, allow_none=False)
defaultCode = fields.String(required=False, allow_none=True)
amenityTypeId = fields.Integer(required=False, allow_none=True)

View File

@@ -5,7 +5,7 @@ from odoo.addons.datamodel.core import Datamodel
class PmsBoardServiceLineSearchParam(Datamodel):
_name = "pms.board.service.line.search.param"
pmsBoarServiceId = fields.Integer(required=True, allow_none=False)
boardServiceId = fields.Integer(required=True, allow_none=False)
class PmsBoardServiceLineInfo(Datamodel):

View File

@@ -30,5 +30,6 @@ class PmsFolioShortInfo(Datamodel):
partnerPhone = fields.String(required=False, allow_none=True)
partnerEmail = fields.String(required=False, allow_none=True)
amountTotal = fields.Float(required=False, allow_none=True)
paymentState = fields.String(required=False, allow_none=True)
paymentStateCode = fields.String(required=False, allow_none=True)
paymentStateDescription = fields.String(required=False, allow_none=True)
reservations = fields.List(fields.Dict(required=False, allow_none=True))

View File

@@ -3,7 +3,7 @@ from marshmallow import fields
from odoo.addons.datamodel.core import Datamodel
class PmsIdCategoriesInfo(Datamodel):
_name = "pms.id.categories.info"
class PmsIdCategoryInfo(Datamodel):
_name = "pms.id.category.info"
id = fields.Integer(required=False, allow_none=True)
documentType = fields.String(required=False, allow_none=True)

View File

@@ -8,5 +8,4 @@ class PmsPaymentInfo(Datamodel):
id = fields.Integer(required=False, allow_none=True)
amount = fields.Float(required=False, allow_none=True)
journalId = fields.Integer(required=False, allow_none=True)
journalName = fields.String(required=False, allow_none=True)
date = fields.String(required=False, allow_none=True)

View File

@@ -7,4 +7,6 @@ class PmsPricelistInfo(Datamodel):
_name = "pms.pricelist.info"
id = fields.Integer(required=False, allow_none=True)
name = fields.String(required=False, allow_none=True)
cancelationRuleId = fields.Integer(required=False, allow_none=True)
defaultAvailabilityPlanId = fields.Integer(required=False, allow_none=True)
pmsPropertyIds = fields.List(fields.Integer(required=False, allow_none=True))

View File

@@ -14,7 +14,6 @@ class PmsPropertyInfo(Datamodel):
name = fields.String(required=False, allow_none=True)
company = fields.String(required=False, allow_none=True)
defaultPricelistId = fields.Integer(required=False, allow_none=True)
defaultAvailabilityPlanId = fields.Integer(required=False, allow_none=True)
colorOptionConfig = fields.String(required=False, allow_none=True)
preReservationColor = fields.String(required=False, allow_none=True)
confirmedReservationColor = fields.String(required=False, allow_none=True)

View File

@@ -6,17 +6,18 @@ from odoo.addons.datamodel.core import Datamodel
class PmsReservationShortInfo(Datamodel):
_name = "pms.reservation.short.info"
id = fields.Integer(required=False, allow_none=True)
boardServiceName = fields.String(required=False, allow_none=True)
boardServiceId = fields.Integer(required=False, allow_none=True)
checkin = fields.String(required=False, allow_none=True)
checkout = fields.String(required=False, allow_none=True)
roomTypeName = fields.String(required=False, allow_none=True)
preferredRoomShortName = fields.String(required=False, allow_none=True)
roomTypeId = fields.Integer(required=False, allow_none=True)
preferredRoomId = fields.Integer(required=False, allow_none=True)
adults = fields.Integer(required=False, allow_none=True)
state = fields.String(required=False, allow_none=True)
stateCode = fields.String(required=False, allow_none=True)
stateDescription = fields.String(required=False, allow_none=True)
children = fields.Integer(required=False, allow_none=True)
readyForCheckin = fields.Boolean(required=False, allow_none=True)
allowedCheckout = fields.Boolean(required=False, allow_none=True)
isSplitted = fields.Boolean(required=False, allow_none=True)
splitted = fields.Boolean(required=False, allow_none=True)
priceTotal = fields.Float(required=False, allow_none=True)
servicesCount = fields.Integer(required=False, allow_none=True)
@@ -26,6 +27,7 @@ class PmsReservationInfo(Datamodel):
id = fields.Integer(required=False, allow_none=True)
name = fields.String(required=False, allow_none=True)
folioId = fields.Integer(required=False, allow_none=True)
folioSequence = fields.Integer(required=False, allow_none=True)
partnerName = fields.String(required=False, allow_none=True)
boardServiceId = fields.Integer(required=False, allow_none=True)
saleChannelId = fields.Integer(required=False, allow_none=True)
@@ -42,7 +44,8 @@ class PmsReservationInfo(Datamodel):
adults = fields.Integer(required=False, allow_none=True)
overbooking = fields.Boolean(required=False, allow_none=True)
externalReference = fields.String(required=False, allow_none=True)
state = fields.String(required=False, allow_none=True)
stateCode = fields.String(required=False, allow_none=True)
stateDescription = fields.String(required=False, allow_none=True)
children = fields.Integer(required=False, allow_none=True)
readyForCheckin = fields.Boolean(required=False, allow_none=True)
allowedCheckout = fields.Boolean(required=False, allow_none=True)

View File

@@ -7,7 +7,7 @@ class PmsServiceLineInfo(Datamodel):
_name = "pms.service.line.info"
id = fields.Integer(required=False, allow_none=True)
isBoardService = fields.Boolean(required=False, allow_none=True)
productId = fields.Integer(required=False,allow_none=True)
productId = fields.Integer(required=False, allow_none=True)
date = fields.String(required=False, allow_none=True)
priceUnit = fields.Float(required=False, allow_none=True)
priceTotal = fields.Float(required=False, allow_none=True)

View File

@@ -10,13 +10,13 @@ from . import pms_property_service
from . import pms_login_service
from . import pms_pricelist_service
from . import pms_availability_plan_service
from . import pms_id_categories_service
from . import pms_id_category_service
from . import res_country_service
from . import res_partner_category_service
from . import res_city_zip_service
from . import pms_room_type_class_service
from . import pms_ubication_service
from . import pms_extra_beds_service
from . import pms_extra_bed_service
from . import pms_amenity_service
from . import pms_amenity_type_service

View File

@@ -39,6 +39,9 @@ class PmsAgencyService(Component):
PmsAgencyInfo(
id=agency.id,
name=agency.name,
image=agency.image_1024.decode("utf-8")
if agency.image_1024
else None,
)
)
return result_agencies
@@ -66,7 +69,8 @@ class PmsAgencyService(Component):
PmsAgencieInfo = self.env.datamodels["pms.agency.info"]
return PmsAgencieInfo(
id=agency.id,
name=agency.name,
name=agency.name if agency.name else None,
image=agency.image_1024.decode("utf-8") if agency.image_1024 else None,
)
else:
raise MissingError(_("Agency not found"))

View File

@@ -72,8 +72,10 @@ class PmsAmenityService(Component):
return PmsAmenityInfo(
id=amenity.id,
name=amenity.name,
defaultCode=amenity.default_code,
pmsAmenityTypeId=amenity.pms_amenity_type_id.id,
defaultCode=amenity.default_code if amenity.default_code else None,
amenityTypeId=amenity.pms_amenity_type_id.id
if amenity.pms_amenity_type_id
else None,
)
else:
raise MissingError(_("Amenity not found"))

View File

@@ -86,7 +86,9 @@ class PmsAvailabilityPlanService(Component):
)
if not record_availability_plan_id:
raise MissingError
PmsAvailabilityPlanInfo = self.env.datamodels["pms.availability.plan.rule.info"]
PmsAvailabilityPlanRuleInfo = self.env.datamodels[
"pms.availability.plan.rule.info"
]
rooms = self.env["pms.room"].search(
[
(
@@ -121,7 +123,7 @@ class PmsAvailabilityPlanService(Component):
]
)
if rule:
availability_plan_rule_info = PmsAvailabilityPlanInfo(
availability_plan_rule_info = PmsAvailabilityPlanRuleInfo(
roomTypeId=room_type.id,
date=datetime.combine(date, datetime.min.time()).isoformat(),
availabilityRuleId=rule.id,

View File

@@ -9,7 +9,7 @@ from odoo.addons.component.core import Component
class PmsBoardServiceService(Component):
_inherit = "base.rest.service"
_name = "pms.board.service.line.service"
_usage = "board-service-line"
_usage = "board-service-lines"
_collection = "pms.services"
@restapi.method(
@@ -27,12 +27,12 @@ class PmsBoardServiceService(Component):
)
def get_board_service_lines(self, board_service_lines_search_param):
domain = []
if board_service_lines_search_param.pmsBoardServiceId:
if board_service_lines_search_param.boardServiceId:
domain.append(
(
"pms_board_service_room_type_id",
"=",
board_service_lines_search_param.pmsBoardServiceId,
board_service_lines_search_param.boardServiceId,
)
)

View File

@@ -9,7 +9,7 @@ from odoo.addons.component.core import Component
class PmsBoardServiceService(Component):
_inherit = "base.rest.service"
_name = "pms.board.service.service"
_usage = "board-service"
_usage = "board-services"
_collection = "pms.services"
@restapi.method(

View File

@@ -7,7 +7,7 @@ from odoo.addons.component.core import Component
class PmsCalendarService(Component):
_inherit = "base.rest.service"
_name = "pms.private.services"
_name = "pms.private.service"
_usage = "calendar"
_collection = "pms.services"

View File

@@ -9,7 +9,7 @@ from odoo.addons.component.core import Component
class PmsCancelationRuleService(Component):
_inherit = "base.rest.service"
_name = "pms.cancelation.rule.service"
_usage = "cancelation-rule"
_usage = "cancelation-rules"
_collection = "pms.services"
@restapi.method(

View File

@@ -3,7 +3,7 @@ from odoo.addons.base_rest_datamodel.restapi import Datamodel
from odoo.addons.component.core import Component
class PmsExtraBedsService(Component):
class PmsExtraBedService(Component):
_inherit = "base.rest.service"
_name = "pms.extra.beds.service"
_usage = "extra-beds"

View File

@@ -123,20 +123,23 @@ class PmsFolioService(Component):
"checkout": datetime.combine(
reservation.checkout, datetime.min.time()
).isoformat(),
"preferredRoomShortName": reservation.preferred_room_id.short_name
"preferredRoomId": reservation.preferred_room_id.id
if reservation.preferred_room_id
else None,
"roomTypeId": reservation.room_type_id.id
if reservation.room_type_id
else None,
"adults": reservation.adults,
"pricelistName": reservation.pricelist_id.name,
"saleChannel": reservation.channel_type_id.name
"pricelistId": reservation.pricelist_id.id
if reservation.pricelist_id
else None,
"saleChannelId": reservation.channel_type_id.id
if reservation.channel_type_id
else None,
"agency": reservation.agency_id.name
"agencyId": reservation.agency_id.id
if reservation.agency_id
else None,
"agencyImage": reservation.agency_id.image_1024.decode("utf-8")
if reservation.agency_id and reservation.agency_id.image_1024
else None,
"splitted": reservation.splitted,
}
)
result_folios.append(
@@ -147,13 +150,12 @@ class PmsFolioService(Component):
partnerEmail=folio.email if folio.email else None,
amountTotal=folio.amount_total,
reservations=[] if not reservations else reservations,
paymentState=dict(
paymentStateCode=folio.payment_state,
paymentStateDescription=dict(
folio.fields_get(["payment_state"])["payment_state"][
"selection"
]
)[folio.payment_state]
if folio.payment_state
else None,
)[folio.payment_state],
)
)
return result_folios
@@ -174,7 +176,8 @@ class PmsFolioService(Component):
def get_folio_payments(self, folio_id, pms_search_param):
domain = list()
domain.append(("id", "=", folio_id))
domain.append(("pms_property_id", "=", pms_search_param.pmsPropertyId))
if pms_search_param.pmsPropertyId:
domain.append(("pms_property_id", "=", pms_search_param.pmsPropertyId))
folio = self.env["pms.folio"].search(domain)
payments = []
PmsPaymentInfo = self.env.datamodels["pms.payment.info"]
@@ -191,9 +194,10 @@ class PmsFolioService(Component):
PmsPaymentInfo(
id=payment.id,
amount=payment.amount,
journalId=payment.journal_id,
journalName=payment.journal_id.name,
date=str(payment.date),
journalId=payment.journal_id.id,
date=datetime.combine(
payment.date, datetime.min.time()
).isoformat(),
)
)
if folio.payment_ids:
@@ -203,9 +207,10 @@ class PmsFolioService(Component):
PmsPaymentInfo(
id=payment.id,
amount=payment.amount,
journalId=payment.journal_id,
journalName=payment.journal_id.name,
date=str(payment.date),
journalId=payment.journal_id.id,
date=datetime.combine(
payment.date, datetime.min.time()
).isoformat(),
)
)
return payments
@@ -234,25 +239,32 @@ class PmsFolioService(Component):
reservations.append(
PmsReservationShortInfo(
id=reservation.id,
boardServiceName=reservation.board_service_room_id.pms_board_service_id.name
or None,
boardServiceId=reservation.board_service_room_id.id
if reservation.board_service_room_id
else None,
checkin=datetime.combine(
reservation.checkin, datetime.min.time()
).isoformat(),
checkout=datetime.combine(
reservation.checkout, datetime.min.time()
).isoformat(),
roomTypeName=reservation.room_type_id.name or None,
preferredRoomShortName=reservation.preferred_room_id.short_name
or None,
roomTypeId=reservation.room_type_id.id
if reservation.room_type_id
else None,
preferredRoomId=reservation.preferred_room_id.id
if reservation.preferred_room_id
else None,
adults=reservation.adults,
state=dict(
stateCode=reservation.state,
stateDescription=dict(
reservation.fields_get(["state"])["state"]["selection"]
)[reservation.state],
children=reservation.children or None,
children=reservation.children
if reservation.children
else None,
readyForCheckin=reservation.ready_for_checkin,
allowedCheckout=reservation.allowed_checkout,
isSplitted=reservation.splitted,
splitted=reservation.splitted,
priceTotal=reservation.price_room_services_set,
servicesCount=len(
reservation.service_ids.filtered(

View File

@@ -3,10 +3,10 @@ from odoo.addons.base_rest_datamodel.restapi import Datamodel
from odoo.addons.component.core import Component
class PmsIdCategoriesService(Component):
class PmsIdCategoryService(Component):
_inherit = "base.rest.service"
_name = "pms.id.categories.services"
_usage = "id_categories"
_name = "pms.id.category.service"
_usage = "id-categories"
_collection = "pms.services"
@restapi.method(
@@ -18,15 +18,15 @@ class PmsIdCategoriesService(Component):
"GET",
)
],
output_param=Datamodel("pms.id.categories.info", is_list=True),
output_param=Datamodel("pms.id.category.info", is_list=True),
auth="jwt_api_pms",
)
def get_id_categories(self):
result_id_categories = []
PmsIdCategoriesInfo = self.env.datamodels["pms.id.categories.info"]
PmsIdCategoryInfo = self.env.datamodels["pms.id.category.info"]
for id_category in self.env["res.partner.id_category"].search([]):
result_id_categories.append(
PmsIdCategoriesInfo(
PmsIdCategoryInfo(
id=id_category.id,
documentType=id_category.name,
)

View File

@@ -32,7 +32,7 @@ class PmsPartnerService(Component):
result_partners.append(
PmsPartnerInfo(
id=partner.id,
name=partner.name,
name=partner.name if partner.name else None,
)
)
return result_partners
@@ -72,51 +72,51 @@ class PmsPartnerService(Component):
# id=doc_number.partner_id.id,
name=doc_number.partner_id.name
if doc_number.partner_id.name
else "",
else None,
firstname=doc_number.partner_id.firstname
if doc_number.partner_id.firstname
else "",
else None,
lastname=doc_number.partner_id.lastname
if doc_number.partner_id.lastname
else "",
else None,
lastname2=doc_number.partner_id.lastname2
if doc_number.partner_id.lastname2
else "",
else None,
email=doc_number.partner_id.email
if doc_number.partner_id.email
else "",
else None,
mobile=doc_number.partner_id.mobile
if doc_number.partner_id.mobile
else "",
else None,
documentType=doc_type.id,
documentNumber=doc_number.name,
documentExpeditionDate=document_expedition_date
if doc_number.valid_from
else "",
else None,
documentSupportNumber=doc_number.support_number
if doc_number.support_number
else "",
else None,
gender=doc_number.partner_id.gender
if doc_number.partner_id.gender
else "",
else None,
birthdate=birthdate_date
if doc_number.partner_id.birthdate_date
else "",
else None,
residenceStreet=doc_number.partner_id.residence_street
if doc_number.partner_id.residence_street
else "",
else None,
zip=doc_number.partner_id.residence_zip
if doc_number.partner_id.residence_zip
else "",
else None,
residenceCity=doc_number.partner_id.residence_city
if doc_number.partner_id.residence_city
else "",
else None,
nationality=doc_number.partner_id.nationality_id.id
if doc_number.partner_id.nationality_id
else -1,
else None,
countryState=doc_number.partner_id.residence_state_id.id
if doc_number.partner_id.residence_state_id
else -1,
else None,
)
)
return partners

View File

@@ -60,6 +60,10 @@ class PmsPricelistService(Component):
PmsPricelistInfo(
id=pricelist.id,
name=pricelist.name,
cancellationPolicyId=pricelist.cancelation_rule_id.id
if pricelist.cancelation_rule_id
else None,
defaultAvailabilityPlanId=pricelist.availability_plan_id.id,
pmsPropertyIds=pricelist.pms_property_ids.mapped("id"),
)
)

View File

@@ -32,9 +32,7 @@ class PmsPropertyService(Component):
PmsPropertyInfo(
id=prop.id,
name=prop.name,
company=prop.company_id.name,
defaultPricelistId=prop.default_pricelist_id.id,
defaultAvailabilityPlanId=prop.default_pricelist_id.availability_plan_id.id,
colorOptionConfig=prop.color_option_config,
preReservationColor=prop.pre_reservation_color,
confirmedReservationColor=prop.confirmed_reservation_color,
@@ -66,7 +64,6 @@ class PmsPropertyService(Component):
)
def get_property(self, property_id):
pms_property = self.env["pms.property"].search([("id", "=", property_id)])
default_avail = pms_property.default_pricelist_id.availability_plan_id.id
res = []
PmsPropertyInfo = self.env.datamodels["pms.property.info"]
if not pms_property:
@@ -77,7 +74,6 @@ class PmsPropertyService(Component):
name=pms_property.name,
company=pms_property.company_id.name,
defaultPricelistId=pms_property.default_pricelist_id.id,
defaultAvailabilityPlanId=default_avail,
colorOptionConfig=pms_property.color_option_config,
preReservationColor=pms_property.pre_reservation_color,
confirmedReservationColor=pms_property.confirmed_reservation_color,
@@ -120,7 +116,7 @@ class PmsPropertyService(Component):
PmsAccountJournalInfo(
id=payment_method.id,
name=payment_method.name,
allowedPmsPayments=payment_method.allowed_pms_payments,
allowedPayments=payment_method.allowed_pms_payments,
)
)
return res

View File

@@ -38,20 +38,6 @@ class PmsReservationService(Component):
if not reservation:
pass
else:
# services = []
# for service in reservation.service_ids:
# if service.is_board_service:
# services.append(
# {
# "id": service.id,
# "name": service.name,
# "quantity": service.product_qty,
# "priceTotal": service.price_total,
# "priceSubtotal": service.price_subtotal,
# "priceTaxes": service.price_tax,
# "discount": service.discount,
# }
# )
# messages = []
# import re
@@ -69,10 +55,15 @@ class PmsReservationService(Component):
id=reservation.id,
name=reservation.name,
folioId=reservation.folio_id.id,
folioSequence=reservation.folio_sequence,
partnerName=reservation.partner_name,
boardServiceId=reservation.board_service_room_id.id or None,
saleChannelId=reservation.channel_type_id.id or None,
agencyId=reservation.agency_id.id or None,
boardServiceId=reservation.board_service_room_id.id
if reservation.board_service_room_id
else None,
saleChannelId=reservation.channel_type_id.id
if reservation.channel_type_id
else None,
agencyId=reservation.agency_id.id if reservation.agency_id else None,
checkin=datetime.combine(
reservation.checkin, datetime.min.time()
).isoformat(),
@@ -81,16 +72,25 @@ class PmsReservationService(Component):
).isoformat(),
arrivalHour=reservation.arrival_hour,
departureHour=reservation.departure_hour,
roomTypeId=reservation.room_type_id.id or None,
preferredRoomId=reservation.preferred_room_id.id or None,
pricelistId=reservation.pricelist_id.id,
adults=reservation.adults,
roomTypeId=reservation.room_type_id.id
if reservation.room_type_id
else None,
preferredRoomId=reservation.preferred_room_id.id
if reservation.preferred_room_id
else None,
pricelistId=reservation.pricelist_id.id
if reservation.pricelist_id
else None,
adults=reservation.adults if reservation.adults else None,
overbooking=reservation.overbooking,
externalReference=reservation.external_reference or None,
state=dict(reservation.fields_get(["state"])["state"]["selection"])[
reservation.state
],
children=reservation.children or None,
externalReference=reservation.external_reference
if reservation.external_reference
else None,
stateCode=reservation.state,
stateDescription=dict(
reservation.fields_get(["state"])["state"]["selection"]
)[reservation.state],
children=reservation.children if reservation.children else None,
readyForCheckin=reservation.ready_for_checkin,
allowedCheckout=reservation.allowed_checkout,
isSplitted=reservation.splitted,
@@ -101,13 +101,13 @@ class PmsReservationService(Component):
segmentationId=reservation.segmentation_ids[0].id
if reservation.segmentation_ids
else None,
cancellationPolicyId=reservation.pricelist_id.cancelation_rule_id.id
or None,
toAssign=reservation.to_assign,
reservationType=reservation.reservation_type,
priceTotal=reservation.price_room_services_set,
discount=reservation.discount,
commissionAmount=reservation.commission_amount or None,
commissionAmount=reservation.commission_amount
if reservation.commission_amount
else None,
priceOnlyServices=reservation.price_services,
priceOnlyRoom=reservation.price_total,
)
@@ -338,46 +338,46 @@ class PmsReservationService(Component):
name=checkin_partner.name if checkin_partner.name else "",
firstname=checkin_partner.firstname
if checkin_partner.firstname
else "",
else None,
lastname=checkin_partner.lastname
if checkin_partner.lastname
else "",
else None,
lastname2=checkin_partner.lastname2
if checkin_partner.lastname2
else "",
else None,
email=checkin_partner.email if checkin_partner.email else "",
mobile=checkin_partner.mobile if checkin_partner.mobile else "",
documentType=checkin_partner.document_type.id
if checkin_partner.document_type
else -1,
else None,
documentNumber=checkin_partner.document_number
if checkin_partner.document_number
else "",
else None,
documentExpeditionDate=document_expedition_date
if checkin_partner.document_expedition_date
else "",
else None,
documentSupportNumber=checkin_partner.support_number
if checkin_partner.support_number
else "",
else None,
gender=checkin_partner.gender if checkin_partner.gender else "",
birthdate=birthdate_date
if checkin_partner.birthdate_date
else "",
else None,
residenceStreet=checkin_partner.residence_street
if checkin_partner.residence_street
else "",
else None,
zip=checkin_partner.residence_zip
if checkin_partner.residence_zip
else "",
else None,
residenceCity=checkin_partner.residence_city
if checkin_partner.residence_city
else "",
else None,
nationality=checkin_partner.residence_country_id.id
if checkin_partner.residence_country_id
else -1,
else None,
countryState=checkin_partner.residence_state_id.id
if checkin_partner.residence_state_id
else -1,
else None,
checkinPartnerState=checkin_partner.state,
)
)

View File

@@ -78,7 +78,9 @@ class PmsRoomService(Component):
roomTypeClassId=room.room_type_id.class_id,
ubicationId=room.ubication_id,
extraBedsAllowed=room.extra_beds_allowed,
roomAmenityIds=room.room_amenity_ids.ids,
roomAmenityIds=room.room_amenity_ids.ids
if room.room_amenity_ids
else None,
)
)
return result_rooms

View File

@@ -6,7 +6,7 @@ from odoo.addons.component.core import Component
class PmsRoomTypeClassService(Component):
_inherit = "base.rest.service"
_name = "pms.room.type.class.service"
_usage = "room-type-class"
_usage = "room-type-classes"
_collection = "pms.services"
@restapi.method(

View File

@@ -9,7 +9,7 @@ from odoo.addons.component.core import Component
class PmsSaleChannelService(Component):
_inherit = "base.rest.service"
_name = "pms.sale.channel.service"
_usage = "sale-channel"
_usage = "sale-channels"
_collection = "pms.services"
@restapi.method(
@@ -58,7 +58,7 @@ class PmsSaleChannelService(Component):
result_sale_channels.append(
PmsSaleChannelInfo(
id=sale_channel.id,
name=sale_channel.name,
name=sale_channel.name if sale_channel.name else None,
)
)
return result_sale_channels
@@ -83,7 +83,7 @@ class PmsSaleChannelService(Component):
PmsSaleChannelInfo = self.env.datamodels["pms.sale.channel.info"]
return PmsSaleChannelInfo(
id=sale_channel.id,
name=sale_channel.name,
name=sale_channel.name if sale_channel else None,
)
else:
raise MissingError(_("Sale Channel not found"))

View File

@@ -11,7 +11,7 @@ from odoo.addons.component.core import Component
class PmsServiceService(Component):
_inherit = "base.rest.service"
_name = "pms.reservation.line.service"
_usage = "service"
_usage = "services"
_collection = "pms.services"
@restapi.method(
@@ -27,9 +27,7 @@ class PmsServiceService(Component):
auth="jwt_api_pms",
)
def get_service_lines(self, service_id):
service = self.env["pms.service"].search(
[("id", "=", service_id)]
)
service = self.env["pms.service"].search([("id", "=", service_id)])
if not service:
raise MissingError(_("Service not found"))
result_service_lines = []
@@ -49,4 +47,3 @@ class PmsServiceService(Component):
)
)
return result_service_lines

View File

@@ -6,7 +6,7 @@ from odoo.addons.component.core import Component
class PmsUbicationService(Component):
_inherit = "base.rest.service"
_name = "pms.ubication.service"
_usage = "ubication"
_usage = "ubications"
_collection = "pms.services"
@restapi.method(
@@ -47,15 +47,15 @@ class PmsUbicationService(Component):
result_ubications = []
PmsUbicationInfo = self.env.datamodels["pms.ubication.info"]
for room in self.env["pms.ubication"].search(
for ubication in self.env["pms.ubication"].search(
domain,
):
result_ubications.append(
PmsUbicationInfo(
id=room.id,
name=room.name,
pmsPropertyIds=room.pms_property_ids.mapped("id"),
id=ubication.id,
name=ubication.name,
pmsPropertyIds=ubication.pms_property_ids.mapped("id"),
)
)
return result_ubications

View File

@@ -3,10 +3,10 @@ from odoo.addons.base_rest_datamodel.restapi import Datamodel
from odoo.addons.component.core import Component
class PmsIdCategoriesService(Component):
class ResCityZipService(Component):
_inherit = "base.rest.service"
_name = "res.city.zip.services"
_usage = "zip"
_name = "res.city.zip.service"
_usage = "zips"
_collection = "pms.services"
@restapi.method(

View File

@@ -5,7 +5,7 @@ from odoo.addons.component.core import Component
class ResCountryService(Component):
_inherit = "base.rest.service"
_name = "res.country.services"
_name = "res.country.service"
_usage = "countries"
_collection = "pms.services"

View File

@@ -3,9 +3,9 @@ from odoo.addons.base_rest_datamodel.restapi import Datamodel
from odoo.addons.component.core import Component
class PmsIdCategoriesService(Component):
class PmsPartnerCategoriesService(Component):
_inherit = "base.rest.service"
_name = "res.partner.category.services"
_name = "res.partner.category.service"
_usage = "segmentations"
_collection = "pms.services"