Fix: Select of target on supplier category

This commit is contained in:
Laurent Destailleur 2011-11-30 11:55:13 +01:00
parent 92a79b8cd5
commit 8ef3a40800

View File

@ -56,20 +56,35 @@ class mailing_thirdparties extends MailingTargets
$cibles = array(); $cibles = array();
// CHANGE THIS
// Select the third parties from category // Select the third parties from category
$sql = "SELECT s.rowid as id, s.email as email, s.nom as name, null as fk_contact, null as firstname,"; if (empty($_POST['filter']))
if ($_POST['filter']) $sql.= " llx_categorie.label as label"; {
else $sql.=" null as label"; $sql = "SELECT s.rowid as id, s.email as email, s.nom as name, null as fk_contact, null as firstname, null as label";
$sql.= " FROM llx_societe as s"; $sql.= " FROM ".MAIN_DB_PREFIX."societe as s";
if ($_POST['filter']) $sql.= " LEFT JOIN llx_categorie_societe ON llx_categorie_societe.fk_societe=s.rowid";
if ($_POST['filter']) $sql.= " LEFT JOIN llx_categorie ON llx_categorie.rowid = llx_categorie_societe.fk_categorie";
$sql.= " WHERE s.email != ''"; $sql.= " WHERE s.email != ''";
$sql.= " AND s.entity = ".$conf->entity; $sql.= " AND s.entity = ".$conf->entity;
if ($_POST['filter']) $sql.= " AND llx_categorie.rowid='".$_POST['filter']."'"; }
$sql.= " ORDER BY s.email"; else
{
$sql = "SELECT s.rowid as id, s.email as email, s.nom as name, null as fk_contact, null as firstname, c.label as label";
$sql.= " FROM ".MAIN_DB_PREFIX."societe as s, ".MAIN_DB_PREFIX."categorie_societe as cs, ".MAIN_DB_PREFIX."categorie as c";
$sql.= " WHERE s.email != ''";
$sql.= " AND s.entity = ".$conf->entity;
$sql.= " AND cs.fk_societe = s.rowid";
$sql.= " AND c.rowid = cs.fk_categorie";
$sql.= " AND c.rowid='".$this->db->escape($_POST['filter'])."'";
$sql.= " UNION ";
$sql.= "SELECT s.rowid as id, s.email as email, s.nom as name, null as fk_contact, null as firstname, c.label as label";
$sql.= " FROM ".MAIN_DB_PREFIX."societe as s, ".MAIN_DB_PREFIX."categorie_fournisseur as cs, ".MAIN_DB_PREFIX."categorie as c";
$sql.= " WHERE s.email != ''";
$sql.= " AND s.entity = ".$conf->entity;
$sql.= " AND cs.fk_societe = s.rowid";
$sql.= " AND c.rowid = cs.fk_categorie";
$sql.= " AND c.rowid='".$this->db->escape($_POST['filter'])."'";
}
$sql.= " ORDER BY email";
// Stocke destinataires dans cibles // Stock recipients emails into targets table
$result=$this->db->query($sql); $result=$this->db->query($sql);
if ($result) if ($result)
{ {