From 03f9a8fbbe0e0735dd186aa2badf4307c67964a0 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sun, 11 Jun 2006 23:21:59 +0000 Subject: [PATCH] Fix: Corrige pb de jointure --- htdocs/comm/index.php | 2 +- htdocs/contrat/services.php | 27 +++++++++++++++++++-------- 2 files changed, 20 insertions(+), 9 deletions(-) diff --git a/htdocs/comm/index.php b/htdocs/comm/index.php index c16fe5c81e1..5aade483d3c 100644 --- a/htdocs/comm/index.php +++ b/htdocs/comm/index.php @@ -509,7 +509,7 @@ if ($conf->contrat->enabled && 0) // \todo A REFAIRE DEPUIS NOUVEAU CONTRAT $obj = $db->fetch_object(); print "rowid."\">".img_object($langs->trans("ShowContract","contract"))." ".$obj->ref.""; print "idp\">".img_object($langs->trans("ShowCompany","company"))." ".$obj->nom."\n"; - print "".$staticcontrat->LibStatut($obj->enservice,3)."\n"; + print "".$staticcontrat->LibStatut($obj->statu,3)."\n"; $var=!$var; $i++; } diff --git a/htdocs/contrat/services.php b/htdocs/contrat/services.php index 82be9524038..7701211e187 100644 --- a/htdocs/contrat/services.php +++ b/htdocs/contrat/services.php @@ -68,19 +68,21 @@ $staticcontratligne=new ContratLigne($db); llxHeader(); -$sql = "SELECT s.nom, c.rowid as cid, s.idp as sidp, cd.rowid, cd.label, cd.statut, p.rowid as pid,"; +$sql = "SELECT s.idp as sidp, s.nom, c.rowid as cid,"; +$sql.= " cd.rowid, cd.description, cd.statut, p.rowid as pid, p.label as label,"; if (!$user->rights->commercial->client->voir && !$socid) $sql .= " sc.fk_soc, sc.fk_user,"; $sql.= " ".$db->pdate("cd.date_ouverture_prevue")." as date_ouverture_prevue,"; $sql.= " ".$db->pdate("cd.date_ouverture")." as date_ouverture,"; $sql.= " ".$db->pdate("cd.date_fin_validite")." as date_fin_validite,"; $sql.= " ".$db->pdate("cd.date_cloture")." as date_cloture"; -$sql.= " FROM ".MAIN_DB_PREFIX."contrat as c"; -$sql.= " , ".MAIN_DB_PREFIX."societe as s, ".MAIN_DB_PREFIX."product as p"; -$sql.= " , ".MAIN_DB_PREFIX."contratdet as cd"; +$sql.= " FROM ".MAIN_DB_PREFIX."contrat as c,"; +$sql.= " ".MAIN_DB_PREFIX."societe as s,"; +$sql.= " ".MAIN_DB_PREFIX."contratdet as cd"; if (!$user->rights->commercial->client->voir && !$socid) $sql .= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; +$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."product as p ON cd.fk_product = p.rowid"; $sql.= " WHERE c.statut > 0"; $sql.= " AND c.rowid = cd.fk_contrat"; -$sql.= " AND c.fk_soc = s.idp AND cd.fk_product = p.rowid"; +$sql.= " AND c.fk_soc = s.idp"; if (!$user->rights->commercial->client->voir && !$socid) $sql .= " AND s.idp = sc.fk_soc AND sc.fk_user = " .$user->id; if ($mode == "0") $sql.= " AND cd.statut = 0"; if ($mode == "4") $sql.= " AND cd.statut = 4"; @@ -88,7 +90,7 @@ if ($mode == "5") $sql.= " AND cd.statut = 5"; if ($filter == "expired") $sql.= " AND date_fin_validite < sysdate()"; if ($search_nom) $sql.= " AND s.nom like '%".addslashes($search_nom)."%'"; if ($search_contract) $sql.= " AND c.rowid = '".addslashes($search_contract)."'"; -if ($search_service) $sql.= " AND (p.ref like '%".addslashes($search_service)."%' OR p.label like '%".addslashes($search_service)."%')"; +if ($search_service) $sql.= " AND (p.ref like '%".addslashes($search_service)."%' OR p.description like '%".addslashes($search_service)."%')"; if ($socid > 0) $sql.= " AND s.idp = ".$socid; $sql .= " ORDER BY $sortfield $sortorder"; $sql .= $db->plimit($limit + 1 ,$offset); @@ -112,7 +114,7 @@ if ($resql) print ''; print_liste_field_titre($langs->trans("Contract"),"services.php", "c.rowid","$param","","",$sortfield); - print_liste_field_titre($langs->trans("Service"),"services.php", "p.label","$param","","",$sortfield); + print_liste_field_titre($langs->trans("Service"),"services.php", "p.description","$param","","",$sortfield); print_liste_field_titre($langs->trans("Company"),"services.php", "s.nom","$param","","",$sortfield); // Date debut if ($mode == "0") print_liste_field_titre($langs->trans("DateStartPlannedShort"),"services.php", "cd.date_ouverture_prevue","$param",'',' align="center"',$sortfield); @@ -151,7 +153,16 @@ if ($resql) $var=!$var; print ""; print ''.img_object($langs->trans("ShowContract"),"contract").' '.$obj->cid.''; - print ''.img_object($langs->trans("ShowService"),"service").' '.dolibarr_trunc($obj->label,20).''; + print ''; + if ($obj->pid) + { + print ''.img_object($langs->trans("ShowService"),"service").' '.dolibarr_trunc($obj->label,20).''; + } + else + { + print dolibarr_trunc($obj->description,20); + } + print ''; print ''.img_object($langs->trans("ShowCompany"),"company").' '.dolibarr_trunc($obj->nom,44).''; // Date debut if ($mode == "0") {