mirror of
https://github.com/OCA/pms.git
synced 2025-01-29 00:17:45 +02:00
[FIX] ps-api-rest: filter parterns by name
This commit is contained in:
committed by
Darío Lodeiros
parent
1f9f4939a4
commit
564c61bc6a
@@ -28,39 +28,29 @@ class PmsPartnerService(Component):
|
|||||||
)
|
)
|
||||||
def get_partners(self, pms_partner_search_params):
|
def get_partners(self, pms_partner_search_params):
|
||||||
result_partners = []
|
result_partners = []
|
||||||
domain_fields = []
|
domain = []
|
||||||
|
|
||||||
if pms_partner_search_params.name:
|
if pms_partner_search_params.name:
|
||||||
domain_fields.append(("name", "ilike", pms_partner_search_params.name))
|
domain.append(("name", "ilike", pms_partner_search_params.name))
|
||||||
if pms_partner_search_params.housed:
|
if pms_partner_search_params.housed:
|
||||||
partners_housed = (
|
partners_housed = (
|
||||||
self.env["pms.checkin.partner"]
|
self.env["pms.checkin.partner"]
|
||||||
.search([("state", "=", "onboard")])
|
.search([("state", "=", "onboard")])
|
||||||
.mapped("partner_id")
|
.mapped("partner_id")
|
||||||
)
|
)
|
||||||
domain_fields.append(("id", "in", partners_housed.ids))
|
domain.append(("id", "in", partners_housed.ids))
|
||||||
domain_filter = list()
|
|
||||||
if pms_partner_search_params.filter:
|
if pms_partner_search_params.filter:
|
||||||
for search in pms_partner_search_params.filter.split(" "):
|
domain.append(("display_name", "ilike", pms_partner_search_params.filter))
|
||||||
subdomains = [
|
|
||||||
[("name", "ilike", search)],
|
|
||||||
[("firstname", "ilike", search)],
|
|
||||||
[("lastname", "ilike", search)],
|
|
||||||
]
|
|
||||||
domain_filter.append(expression.OR(subdomains))
|
|
||||||
if pms_partner_search_params.vatNumber:
|
if pms_partner_search_params.vatNumber:
|
||||||
domain_fields = [
|
domain.append([
|
||||||
"|",
|
"|",
|
||||||
("vat", "ilike", pms_partner_search_params.vatNumber),
|
("vat", "ilike", pms_partner_search_params.vatNumber),
|
||||||
("aeat_identification", "ilike", pms_partner_search_params.vatNumber),
|
("aeat_identification", "ilike", pms_partner_search_params.vatNumber),
|
||||||
]
|
])
|
||||||
if domain_filter:
|
|
||||||
domain = expression.AND([domain_fields, domain_filter[0]])
|
|
||||||
else:
|
|
||||||
domain = domain_fields
|
|
||||||
PmsPartnerResults = self.env.datamodels["pms.partner.results"]
|
PmsPartnerResults = self.env.datamodels["pms.partner.results"]
|
||||||
PmsPartnerInfo = self.env.datamodels["pms.partner.info"]
|
PmsPartnerInfo = self.env.datamodels["pms.partner.info"]
|
||||||
total_partners = self.env["res.partner"].search_count(domain)
|
total_partners = self.env["res.partner"].search_count(domain)
|
||||||
|
|
||||||
for partner in self.env["res.partner"].search(
|
for partner in self.env["res.partner"].search(
|
||||||
domain,
|
domain,
|
||||||
order=pms_partner_search_params.orderBy,
|
order=pms_partner_search_params.orderBy,
|
||||||
|
|||||||
Reference in New Issue
Block a user