Fix search criteria on service lines

This commit is contained in:
Laurent Destailleur 2023-01-19 13:46:54 +01:00
parent 4157263cb8
commit d426598ab5

View File

@ -256,7 +256,7 @@ $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."product as p ON cd.fk_product = p.rowid";
if ($search_product_category > 0) { if ($search_product_category > 0) {
$sql .= ' LEFT JOIN '.MAIN_DB_PREFIX.'categorie_product as cp ON cp.fk_product=cd.fk_product'; $sql .= ' LEFT JOIN '.MAIN_DB_PREFIX.'categorie_product as cp ON cp.fk_product=cd.fk_product';
} }
$sql .= " WHERE c.entity = ".$conf->entity; $sql .= " WHERE c.entity IN (".getEntity($object->element).")";
$sql .= " AND c.rowid = cd.fk_contrat"; $sql .= " AND c.rowid = cd.fk_contrat";
if ($search_product_category > 0) { if ($search_product_category > 0) {
$sql .= " AND cp.fk_categorie = ".((int) $search_product_category); $sql .= " AND cp.fk_categorie = ".((int) $search_product_category);
@ -281,13 +281,13 @@ if ($filter == "notexpired") {
$sql .= " AND cd.date_fin_validite >= '".$db->idate($now)."'"; $sql .= " AND cd.date_fin_validite >= '".$db->idate($now)."'";
} }
if ($search_name) { if ($search_name) {
$sql .= " AND s.nom LIKE '%".$db->escape($search_name)."%'"; $sql .= natural_search("c.ref", $search_name);
} }
if ($search_contract) { if ($search_contract) {
$sql .= " AND c.ref LIKE '%".$db->escape($search_contract)."%' "; $sql .= natural_search("c.ref", $search_contract);
} }
if ($search_service) { if ($search_service) {
$sql .= " AND (p.ref LIKE '%".$db->escape($search_service)."%' OR p.description LIKE '%".$db->escape($search_service)."%' OR cd.description LIKE '%".$db->escape($search_service)."%')"; $sql .= natural_search(array("p.ref", "p.description", "cd.description"), $search_service);
} }
if ($socid > 0) { if ($socid > 0) {
$sql .= " AND s.rowid = ".((int) $socid); $sql .= " AND s.rowid = ".((int) $socid);