mirror of
https://github.com/OCA/pms.git
synced 2025-01-29 00:17:45 +02:00
[IMP] pms-api-rest: filter folios by date
This commit is contained in:
committed by
Darío Lodeiros
parent
25f96a0fc3
commit
823aeb8305
@@ -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)
|
||||||
|
|||||||
@@ -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 = []
|
||||||
|
|||||||
Reference in New Issue
Block a user