From 2feda5ed72b09056a20789766c6e751770952168 Mon Sep 17 00:00:00 2001 From: braisab Date: Wed, 11 May 2022 17:14:46 +0200 Subject: [PATCH] [IMP]pms_api_rest: added price in room_type service and datamodel --- pms_api_rest/datamodels/pms_pricelist_item.py | 9 +---- pms_api_rest/datamodels/pms_room_type.py | 1 + .../services/pms_pricelist_service.py | 33 +++---------------- .../services/pms_room_type_services.py | 1 + 4 files changed, 7 insertions(+), 37 deletions(-) diff --git a/pms_api_rest/datamodels/pms_pricelist_item.py b/pms_api_rest/datamodels/pms_pricelist_item.py index 351ed7ac5..83fb08357 100644 --- a/pms_api_rest/datamodels/pms_pricelist_item.py +++ b/pms_api_rest/datamodels/pms_pricelist_item.py @@ -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) diff --git a/pms_api_rest/datamodels/pms_room_type.py b/pms_api_rest/datamodels/pms_room_type.py index 46112cf52..eb4045ad1 100644 --- a/pms_api_rest/datamodels/pms_room_type.py +++ b/pms_api_rest/datamodels/pms_room_type.py @@ -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) diff --git a/pms_api_rest/services/pms_pricelist_service.py b/pms_api_rest/services/pms_pricelist_service.py index 19ad1a2b4..73b39f492 100644 --- a/pms_api_rest/services/pms_pricelist_service.py +++ b/pms_api_rest/services/pms_pricelist_service.py @@ -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) diff --git a/pms_api_rest/services/pms_room_type_services.py b/pms_api_rest/services/pms_room_type_services.py index 6a2c9085b..448d74789 100644 --- a/pms_api_rest/services/pms_room_type_services.py +++ b/pms_api_rest/services/pms_room_type_services.py @@ -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