From 6ca3d3335f4f01b8873bd9462aaa2cacec8a75a8 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Mon, 27 Oct 2008 19:19:51 +0000 Subject: [PATCH] Fix: Status of contract is now status of servics --- htdocs/contrat/liste.php | 17 ++++----- htdocs/product/stats/contrat.php | 59 +++++++++++++++++++------------- 2 files changed, 45 insertions(+), 31 deletions(-) diff --git a/htdocs/contrat/liste.php b/htdocs/contrat/liste.php index 025777f214c..a96f0d8ba19 100644 --- a/htdocs/contrat/liste.php +++ b/htdocs/contrat/liste.php @@ -18,11 +18,11 @@ */ /** - \file htdocs/contrat/liste.php - \ingroup contrat - \brief Page liste des contrats - \version $Id$ -*/ + * \file htdocs/contrat/liste.php + * \ingroup contrat + * \brief Page liste des contrats + * \version $Id$ + */ require("./pre.inc.php"); require_once (DOL_DOCUMENT_ROOT."/contrat/contrat.class.php"); @@ -57,7 +57,7 @@ $staticcontratligne=new ContratLigne($db); /* - * Affichage page + * View */ llxHeader(); @@ -67,7 +67,8 @@ $sql.= ' sum('.$db->ifsql("cd.statut=0",1,0).') as nb_initial,'; $sql.= ' sum('.$db->ifsql("cd.statut=4 AND cd.date_fin_validite > ".$db->idate(mktime()),1,0).') as nb_running,'; $sql.= ' sum('.$db->ifsql("cd.statut=4 AND (cd.date_fin_validite IS NULL OR cd.date_fin_validite <= ".$db->idate(mktime()).")",1,0).') as nb_late,'; $sql.= ' sum('.$db->ifsql("cd.statut=5",1,0).') as nb_closed,'; -$sql.= " c.rowid as cid, c.ref, c.datec, c.date_contrat, c.statut, s.nom, s.rowid as socid"; +$sql.= " c.rowid as cid, c.ref, c.datec, c.date_contrat, c.statut,"; +$sql.= " s.nom, s.rowid as socid"; if (!$user->rights->societe->client->voir && !$socid) $sql .= ", sc.fk_soc, sc.fk_user"; $sql.= " FROM ".MAIN_DB_PREFIX."societe as s,"; if (!$user->rights->societe->client->voir && !$socid) $sql .= " ".MAIN_DB_PREFIX."societe_commerciaux as sc,"; @@ -81,7 +82,7 @@ if ($sall) $sql.= " AND (s.nom like '%".addslashes($sall)."%' OR cd.l if ($socid > 0) $sql.= " AND s.rowid = ".$socid; $sql.= " GROUP BY c.rowid, c.datec, c.statut, s.nom, s.rowid"; $sql.= " ORDER BY $sortfield $sortorder"; -$sql.= $db->plimit($limit + 1 ,$offset); +$sql.= $db->plimit($conf->liste_limit + 1 ,$offset); $resql=$db->query($sql); if ($resql) diff --git a/htdocs/product/stats/contrat.php b/htdocs/product/stats/contrat.php index ca3471078d8..0e16787d6ea 100644 --- a/htdocs/product/stats/contrat.php +++ b/htdocs/product/stats/contrat.php @@ -19,11 +19,11 @@ */ /** - \file htdocs/product/stats/contrat.php - \ingroup product, service, contrat - \brief Page des stats des contrats pour un produit - \version $Id$ -*/ + * \file htdocs/product/stats/contrat.php + * \ingroup product, service, contrat + * \brief Page des stats des contrats pour un produit + * \version $Id$ + */ require("./pre.inc.php"); require_once(DOL_DOCUMENT_ROOT."/lib/product.lib.php"); @@ -60,9 +60,12 @@ else /* - * Affiche fiche - * + * View */ + +$staticcontrat=new Contrat($db); +$staticcontratligne=new ContratLigne($db); + $html = new Form($db); if ($_GET["id"] || $_GET["ref"]) @@ -123,19 +126,23 @@ if ($_GET["id"] || $_GET["ref"]) print ''; - $sql = "SELECT distinct(s.nom), s.rowid as socid, s.code_client, c.rowid, "; - $sql.= " ".$db->pdate("c.datec")." as date, c.statut as statut, c.rowid as contratid"; - if (!$user->rights->societe->client->voir && !$socid) $sql .= ", sc.fk_soc, sc.fk_user "; - $sql.= " FROM ".MAIN_DB_PREFIX."societe as s,".MAIN_DB_PREFIX."contrat as c, ".MAIN_DB_PREFIX."contratdet as d"; - if (!$user->rights->societe->client->voir && !$socid) $sql .= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; - $sql.= " WHERE c.fk_soc = s.rowid"; - $sql.= " AND d.fk_contrat = c.rowid AND d.fk_product =".$product->id; - if (!$user->rights->societe->client->voir && !$socid) $sql .= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id; - if ($socid) - { - $sql .= " AND c.fk_soc = $socid"; - } - $sql.= " ORDER BY $sortfield $sortorder "; + $sql = "SELECT"; + $sql.= ' sum('.$db->ifsql("cd.statut=0",1,0).') as nb_initial,'; + $sql.= ' sum('.$db->ifsql("cd.statut=4 AND cd.date_fin_validite > ".$db->idate(mktime()),1,0).') as nb_running,'; + $sql.= ' sum('.$db->ifsql("cd.statut=4 AND (cd.date_fin_validite IS NULL OR cd.date_fin_validite <= ".$db->idate(mktime()).")",1,0).') as nb_late,'; + $sql.= ' sum('.$db->ifsql("cd.statut=5",1,0).') as nb_closed,'; + $sql.= " ".$db->pdate("c.datec")." as date, c.statut as statut, c.rowid as rowid,"; + $sql.= " s.nom, s.rowid as socid, s.code_client"; + if (!$user->rights->societe->client->voir && !$socid) $sql .= ", sc.fk_soc, sc.fk_user"; + $sql.= " FROM ".MAIN_DB_PREFIX."societe as s,"; + if (!$user->rights->societe->client->voir && !$socid) $sql .= " ".MAIN_DB_PREFIX."societe_commerciaux as sc,"; + $sql.= " ".MAIN_DB_PREFIX."contrat as c, ".MAIN_DB_PREFIX."contratdet as cd"; + $sql.= " WHERE c.rowid = cd.fk_contrat AND c.fk_soc = s.rowid"; + if (!$user->rights->societe->client->voir && !$socid) $sql .= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id; + $sql.= " AND cd.fk_product =".$product->id; + if ($socid > 0) $sql.= " AND s.rowid = ".$socid; + $sql.= " GROUP BY c.rowid, c.datec, c.statut, s.nom, s.rowid"; + $sql.= " ORDER BY $sortfield $sortorder"; $sql.= $db->plimit($conf->liste_limit +1, $offset); $result = $db->query($sql); @@ -154,7 +161,9 @@ if ($_GET["id"] || $_GET["ref"]) print_liste_field_titre($langs->trans("CustomerCode"),$_SERVER["PHP_SELF"],"s.code_client","","&id=".$_GET["id"],'',$sortfield,$sortorder); print_liste_field_titre($langs->trans("DateCreation"),$_SERVER["PHP_SELF"],"c.datec","","&id=".$_GET["id"],'align="center"',$sortfield,$sortorder); //print_liste_field_titre($langs->trans("AmountHT"),$_SERVER["PHP_SELF"],"c.amount","","&id=".$_GET["id"],'align="right"',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("Status"),$_SERVER["PHP_SELF"],"c.fk_statut","","&id=".$_GET["id"],'align="right"',$sortfield,$sortorder); + print ''.$staticcontratligne->LibStatut(0,3).''; + print ''.$staticcontratligne->LibStatut(4,3).''; + print ''.$staticcontratligne->LibStatut(5,3).''; print "\n"; $contratstatic=new Contrat($db); @@ -168,7 +177,7 @@ if ($_GET["id"] || $_GET["ref"]) $var=!$var; print ""; - print ''.img_object($langs->trans("ShowContract"),"contract").' '; + print ''.img_object($langs->trans("ShowContract"),"contract").' '; print $objp->rowid; print "\n"; print ''.img_object($langs->trans("ShowCompany"),"company").' '.dolibarr_trunc($objp->nom,44).''; @@ -176,7 +185,11 @@ if ($_GET["id"] || $_GET["ref"]) print ""; print dolibarr_print_date($objp->date).""; //print "".price($objp->total_ht)."\n"; - print ''.$contratstatic->LibStatut($objp->statut,5).''; + //print ''; + print ''.($objp->nb_initial>0?$objp->nb_initial:'').''; + print ''.($objp->nb_running+$objp->nb_late>0?$objp->nb_running+$objp->nb_late:'').''; + print ''.($objp->nb_closed>0?$objp->nb_closed:'').''; + //$contratstatic->LibStatut($objp->statut,5).''; print "\n"; $i++; }