From 565d6eec8977968147abdac34a8b897a22500cb5 Mon Sep 17 00:00:00 2001 From: braisab Date: Thu, 11 Aug 2022 20:38:57 +0200 Subject: [PATCH] [IMP]pms_api_rest: added avail plan rule id to avail plan rule service and datamodele --- .../datamodels/pms_availability_plan_rule.py | 1 + pms_api_rest/datamodels/pms_pricelist_item.py | 1 + .../services/pms_availability_plan_service.py | 22 +++++++------------ .../services/pms_pricelist_service.py | 6 ++--- 4 files changed, 13 insertions(+), 17 deletions(-) diff --git a/pms_api_rest/datamodels/pms_availability_plan_rule.py b/pms_api_rest/datamodels/pms_availability_plan_rule.py index 183e213a5..632ba300d 100644 --- a/pms_api_rest/datamodels/pms_availability_plan_rule.py +++ b/pms_api_rest/datamodels/pms_availability_plan_rule.py @@ -26,6 +26,7 @@ class PmsAvailabilityPlanRuleInfo(Datamodel): quota = fields.Integer(required=False, allow_none=True) maxAvailability = fields.Integer(required=False, allow_none=True) pmsPropertyId = fields.Integer(required=False, allow_none=True) + availabilityPlanId = fields.Integer(required=False, allow_none=True) class PmsAvailabilityPlanRulesInfo(Datamodel): diff --git a/pms_api_rest/datamodels/pms_pricelist_item.py b/pms_api_rest/datamodels/pms_pricelist_item.py index 3f4944e86..b729daded 100644 --- a/pms_api_rest/datamodels/pms_pricelist_item.py +++ b/pms_api_rest/datamodels/pms_pricelist_item.py @@ -20,6 +20,7 @@ class PmsPricelistItemInfo(Datamodel): pricelistId = fields.Integer(required=False, allow_none=True) pmsPropertyId = fields.Integer(required=False, allow_none=True) + class PmsPricelistItemsInfo(Datamodel): _name = "pms.pricelist.items.info" pricelistItems = fields.List(NestedModel("pms.pricelist.item.info")) diff --git a/pms_api_rest/services/pms_availability_plan_service.py b/pms_api_rest/services/pms_availability_plan_service.py index be4f506b1..9e53f9b13 100644 --- a/pms_api_rest/services/pms_availability_plan_service.py +++ b/pms_api_rest/services/pms_availability_plan_service.py @@ -158,34 +158,28 @@ class PmsAvailabilityPlanService(Component): ): for avail_plan_rule in pms_avail_plan_rules_info.availabilityPlanRules: vals = dict() - date = datetime.strptime( - avail_plan_rule.date[:10], "%Y-%m-%d" - ) + timedelta(days=1) + date = datetime.strptime(avail_plan_rule.date[:10], "%Y-%m-%d") + timedelta( + days=1 + ) if avail_plan_rule.minStay: vals.update({"min_stay": avail_plan_rule.minStay}) if avail_plan_rule.minStayArrival: - vals.update( - {"min_stay_arrival": avail_plan_rule.minStayArrival} - ) + vals.update({"min_stay_arrival": avail_plan_rule.minStayArrival}) if avail_plan_rule.maxStay: vals.update({"max_stay": avail_plan_rule.maxStay}) if avail_plan_rule.maxStayArrival: - vals.update( - {"max_stay_arrival": avail_plan_rule.maxStayArrival} - ) + vals.update({"max_stay_arrival": avail_plan_rule.maxStayArrival}) if avail_plan_rule.closed: vals.update({"closed": avail_plan_rule.closed}) if avail_plan_rule.closedDeparture: - vals.update( - {"closed_departure": avail_plan_rule.closedDeparture} - ) + vals.update({"closed_departure": avail_plan_rule.closedDeparture}) if avail_plan_rule.closedArrival: vals.update({"closed_arrival": avail_plan_rule.closedArrival}) if avail_plan_rule.quota: vals.update({"quota": avail_plan_rule.quota}) avail_rule = self.env["pms.availability.plan.rule"].search( [ - ("availability_plan_id", "=", availability_plan_id), + ("availability_plan_id", "=", avail_plan_rule.availabilityPlanId), ("pms_property_id", "=", avail_plan_rule.pmsPropertyId), ("room_type_id", "=", avail_plan_rule.roomTypeId), ("date", "=", date), @@ -199,7 +193,7 @@ class PmsAvailabilityPlanService(Component): "room_type_id": avail_plan_rule.roomTypeId, "date": date, "pms_property_id": avail_plan_rule.pmsPropertyId, - "availability_plan_id": availability_plan_id, + "availability_plan_id": avail_plan_rule.availabilityPlanId, } ) self.env["pms.availability.plan.rule"].create(vals) diff --git a/pms_api_rest/services/pms_pricelist_service.py b/pms_api_rest/services/pms_pricelist_service.py index efbfcd993..5a7be8ca1 100644 --- a/pms_api_rest/services/pms_pricelist_service.py +++ b/pms_api_rest/services/pms_pricelist_service.py @@ -166,11 +166,11 @@ class PmsPricelistService(Component): ) product_pricelist_item = self.env["product.pricelist.item"].search( [ - ("pricelist_id", "=", pricelist_id), + ("pricelist_id", "=", pms_pricelist_item.pricelistId), ("product_id", "=", product_id.id), ("pms_property_ids", "in", pms_pricelist_item.pmsPropertyId), ("date_start_consumption", "=", date), - ("date_end_consumption", "=", date), + ("date_end_consumption", "=", date), ] ) if product_pricelist_item: @@ -189,6 +189,6 @@ class PmsPricelistService(Component): "date_end_consumption": date, "compute_price": "fixed", "fixed_price": pms_pricelist_item.price, - "pricelist_id": pricelist_id, + "pricelist_id": pms_pricelist_item.pricelistId, } )