|
@@ -599,7 +599,7 @@ $help_url = '';
|
|
|
// llxHeader('',$title,$help_url);
|
|
|
|
|
|
$sql = 'SELECT';
|
|
|
-if ($sall || $search_product_category > 0 || $search_user > 0) {
|
|
|
+if ($sall || $search_product_category > 0) {
|
|
|
$sql = 'SELECT DISTINCT';
|
|
|
}
|
|
|
$sql .= ' s.rowid as socid, s.nom as name, s.town, s.zip, s.fk_pays, s.client, s.code_client, s.email,';
|
|
@@ -641,10 +641,6 @@ $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."projet as p ON p.rowid = cf.fk_projet";
|
|
|
if ($search_sale > 0 || (!$user->rights->societe->client->voir && !$socid)) {
|
|
|
$sql .= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc";
|
|
|
}
|
|
|
-if ($search_user > 0) {
|
|
|
- $sql .= ", ".MAIN_DB_PREFIX."element_contact as ec";
|
|
|
- $sql .= ", ".MAIN_DB_PREFIX."c_type_contact as tc";
|
|
|
-}
|
|
|
$parameters = array();
|
|
|
$reshook = $hookmanager->executeHooks('printFieldListFrom', $parameters, $object); // Note that $action and $object may have been modified by hook
|
|
|
$sql .= $hookmanager->resPrint;
|
|
@@ -708,7 +704,13 @@ if ($search_sale > 0) {
|
|
|
$sql .= " AND s.rowid = sc.fk_soc AND sc.fk_user = ".((int) $search_sale);
|
|
|
}
|
|
|
if ($search_user > 0) {
|
|
|
- $sql .= " AND ec.fk_c_type_contact = tc.rowid AND tc.element='supplier_order' AND tc.source='internal' AND ec.element_id = cf.rowid AND ec.fk_socpeople = ".((int) $search_user);
|
|
|
+ $sql .= " AND EXISTS (";
|
|
|
+ $sql .= " SELECT ec.rowid ";
|
|
|
+ $sql .= " FROM " . MAIN_DB_PREFIX . "element_contact as ec";
|
|
|
+ $sql .= " INNER JOIN " . MAIN_DB_PREFIX . "c_type_contact as tc ON tc.rowid = ec.fk_c_type_contact";
|
|
|
+ $sql .= " WHERE ec.element_id = cf.rowid AND ec.fk_socpeople = " . ((int) $search_user);
|
|
|
+ $sql .= " AND tc.element = 'order_supplier' AND tc.source = 'internal'";
|
|
|
+ $sql .= ")";
|
|
|
}
|
|
|
if ($search_total_ht != '') {
|
|
|
$sql .= natural_search('cf.total_ht', $search_total_ht, 1);
|