[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):
_name = "pms.folio.search.param"
id = fields.Integer(required=False, allow_none=False)
name = fields.String(required=False, allow_none=False)
date_from = fields.String(required=False, allow_none=True)
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),
)
def get_folios(self, folio_search_param):
domain = []
if folio_search_param.name:
domain.append(("name", "like", folio_search_param.name))
if folio_search_param.id:
domain.append(("id", "=", folio_search_param.id))
domain = list()
domain.append(("checkin", ">=", folio_search_param.date_from))
domain.append(("checkout", "<", folio_search_param.date_to))
result_folios = []
reservations_result = (
self.env["pms.reservation"].sudo().search(domain).mapped("folio_id").ids
)
PmsFolioInfo = self.env.datamodels["pms.folio.info"]
for folio in (
self.env["pms.folio"]
.sudo()
.search(
domain,
[("id", "in", reservations_result)],
)
):
reservations = []