[IMP] pms-api-rest: filter folios by date

This commit is contained in:
miguelpadin
2021-12-28 23:30:19 +01:00
committed by Darío Lodeiros
parent 25f96a0fc3
commit 823aeb8305
2 changed files with 11 additions and 8 deletions

View File

@@ -6,5 +6,5 @@ from odoo.addons.datamodel.core import Datamodel
class PmsFolioSearchParam(Datamodel): class PmsFolioSearchParam(Datamodel):
_name = "pms.folio.search.param" _name = "pms.folio.search.param"
id = fields.Integer(required=False, allow_none=False) date_from = fields.String(required=False, allow_none=True)
name = fields.String(required=False, allow_none=False) date_to = fields.String(required=False, allow_none=True)

View File

@@ -24,18 +24,21 @@ class PmsFolioService(Component):
output_param=Datamodel("pms.folio.info", is_list=True), output_param=Datamodel("pms.folio.info", is_list=True),
) )
def get_folios(self, folio_search_param): def get_folios(self, folio_search_param):
domain = [] domain = list()
if folio_search_param.name: domain.append(("checkin", ">=", folio_search_param.date_from))
domain.append(("name", "like", folio_search_param.name)) domain.append(("checkout", "<", folio_search_param.date_to))
if folio_search_param.id:
domain.append(("id", "=", folio_search_param.id))
result_folios = [] result_folios = []
reservations_result = (
self.env["pms.reservation"].sudo().search(domain).mapped("folio_id").ids
)
PmsFolioInfo = self.env.datamodels["pms.folio.info"] PmsFolioInfo = self.env.datamodels["pms.folio.info"]
for folio in ( for folio in (
self.env["pms.folio"] self.env["pms.folio"]
.sudo() .sudo()
.search( .search(
domain, [("id", "in", reservations_result)],
) )
): ):
reservations = [] reservations = []