mirror of
https://github.com/OCA/pms.git
synced 2025-01-29 00:17:45 +02:00
[IMP]pms_api_rest: added price in room_type service and datamodel
This commit is contained in:
@@ -13,13 +13,6 @@ class PmsPricelistItemSearchParam(Datamodel):
|
||||
class PmsPricelistItemInfo(Datamodel):
|
||||
_name = "pms.pricelist.item.info"
|
||||
pricelistItemId = fields.Integer(required=False, allow_none=True)
|
||||
availabilityRuleId = fields.Integer(required=False, allow_none=True)
|
||||
minStay = fields.Integer(required=False, allow_none=True)
|
||||
minStayArrival = fields.Integer(required=False, allow_none=True)
|
||||
maxStay = fields.Integer(required=False, allow_none=True)
|
||||
maxStayArrival = fields.Integer(required=False, allow_none=True)
|
||||
closed = fields.Boolean(required=False, allow_none=True)
|
||||
closedDeparture = fields.Boolean(required=False, allow_none=True)
|
||||
closedArrival = fields.Boolean(required=False, allow_none=True)
|
||||
price = fields.Float(required=False, allow_none=True)
|
||||
roomTypeId = fields.Integer(required=False, allow_none=True)
|
||||
date = fields.String(required=False, allow_none=True)
|
||||
|
||||
@@ -16,3 +16,4 @@ class PmsRoomTypeInfo(Datamodel):
|
||||
name = fields.String(required=False, allow_none=True)
|
||||
pms_property_ids = fields.List(fields.Integer(), required=False)
|
||||
defaultCode = fields.String(required=False, allow_none=True)
|
||||
price = fields.Float(required=False, allow_none=True)
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
import re
|
||||
from datetime import datetime, timedelta
|
||||
|
||||
from odoo.exceptions import MissingError
|
||||
@@ -119,24 +120,7 @@ class PmsPricelistService(Component):
|
||||
]
|
||||
)
|
||||
|
||||
rule = self.env["pms.availability.plan.rule"].search(
|
||||
[
|
||||
("date", "=", date),
|
||||
(
|
||||
"availability_plan_id",
|
||||
"=",
|
||||
record_pricelist_id.availability_plan_id.id,
|
||||
),
|
||||
("room_type_id", "=", room_type.id),
|
||||
(
|
||||
"pms_property_id",
|
||||
"=",
|
||||
pricelist_item_search_param.pms_property_id,
|
||||
),
|
||||
]
|
||||
)
|
||||
|
||||
if item or rule:
|
||||
if item:
|
||||
pricelist_info = PmsPricelistItemInfo(
|
||||
roomTypeId=room_type.id,
|
||||
date=str(
|
||||
@@ -146,17 +130,8 @@ class PmsPricelistService(Component):
|
||||
|
||||
if item:
|
||||
pricelist_info.pricelistItemId = item.id
|
||||
|
||||
if rule:
|
||||
|
||||
pricelist_info.availabilityRuleId = rule.id
|
||||
pricelist_info.minStay = rule.min_stay
|
||||
pricelist_info.minStayArrival = rule.min_stay_arrival
|
||||
pricelist_info.maxStay = rule.max_stay
|
||||
pricelist_info.maxStayArrival = rule.max_stay_arrival
|
||||
pricelist_info.closed = rule.closed
|
||||
pricelist_info.closedDeparture = rule.closed_departure
|
||||
pricelist_info.closedArrival = rule.closed_arrival
|
||||
price = re.findall("[+-]?\d+\.\d+", item.price)
|
||||
pricelist_info.price = float(price[0])
|
||||
|
||||
result.append(pricelist_info)
|
||||
|
||||
|
||||
@@ -59,6 +59,7 @@ class PmsRoomTypeService(Component):
|
||||
name=room.name,
|
||||
pms_property_ids=room.pms_property_ids.mapped("id"),
|
||||
defaultCode=room.default_code,
|
||||
price=room.list_price,
|
||||
)
|
||||
)
|
||||
return result_rooms
|
||||
|
||||
Reference in New Issue
Block a user