diff --git a/pms_api_rest/datamodels/pms_notification.py b/pms_api_rest/datamodels/pms_notification.py index 9582c219c..19b85e7e6 100644 --- a/pms_api_rest/datamodels/pms_notification.py +++ b/pms_api_rest/datamodels/pms_notification.py @@ -6,6 +6,7 @@ from odoo.addons.datamodel.core import Datamodel class PmsNotificationSearch(Datamodel): _name = "pms.notification.search" fromTimestamp = fields.String(required=False) + pmsPropertyId = fields.Integer(required=False) class PmsNotificationInfo(Datamodel): @@ -16,3 +17,4 @@ class PmsNotificationInfo(Datamodel): folioName = fields.String(required=False) partnerName = fields.String(required=False) saleChannelName = fields.String(required=False, allow_none=True) + numReservationsToAssign = fields.Integer(required=False) diff --git a/pms_api_rest/services/pms_notification_service.py b/pms_api_rest/services/pms_notification_service.py index 81af342de..8f42a8118 100644 --- a/pms_api_rest/services/pms_notification_service.py +++ b/pms_api_rest/services/pms_notification_service.py @@ -1,5 +1,6 @@ import datetime +from odoo import fields from odoo.addons.base_rest import restapi from odoo.addons.base_rest_datamodel.restapi import Datamodel from odoo.addons.component.core import Component @@ -11,6 +12,33 @@ class PmsNotificationService(Component): _usage = "notifications" _collection = "pms.services" + @restapi.method( + [ + ( + [ + "/reservations-to-assign", + ], + "GET", + ) + ], + input_param=Datamodel("pms.notification.search", is_list=False), + output_param=Datamodel("pms.notification.info", is_list=False), + auth="jwt_api_pms", + cors="*", + ) + def get_reservations_to_assign_notifications(self, pms_notification_search): + num_reservation_ids_to_assign = self.env["pms.reservation"].search_count( + [ + ("pms_property_id", "=", pms_notification_search.pmsPropertyId), + ("checkin", ">=", fields.Date.today()), + ("to_assign", "=", True), + ], + ) + PmsNotificationInfo = self.env.datamodels["pms.notification.info"] + return PmsNotificationInfo( + numReservationsToAssign=num_reservation_ids_to_assign + ) + @restapi.method( [ (