From 75906451ed2929364fbacbeae568b76dafc3ad03 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Thu, 27 May 2004 22:01:33 +0000 Subject: [PATCH] =?UTF-8?q?New:=20Met=20en=20=E9vidence=20les=20contrats?= =?UTF-8?q?=20expir=E9s.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- htdocs/contrat/fiche.php | 35 +++++++++++++++++++++++++---------- htdocs/contrat/index.php | 18 ++++++++++++------ 2 files changed, 37 insertions(+), 16 deletions(-) diff --git a/htdocs/contrat/fiche.php b/htdocs/contrat/fiche.php index 6def3aadce9..617e9a28036 100644 --- a/htdocs/contrat/fiche.php +++ b/htdocs/contrat/fiche.php @@ -171,16 +171,31 @@ else print 'Société'.$contrat->societe->nom_url.''; } - print 'Statut'; - if ($contrat->enservice) - { - print "En service"; - } - else - { - print "Ce contrat n'est pas en service"; - } - print "\n"; + // Affiche statut contrat + $now=mktime(); + if ($contrat->enservice == 1) + { + if (! $contrat->date_fin_validite || $contrat->date_fin_validite >= $now) { + $class = "normal"; + $statut="En service"; + } + else { + $class = "error"; + $statut="En service, expiré"; + } + } + elseif($contrat->enservice == 2) + { + $class = "normal"; + $statut= "Cloturé"; + } + else + { + $class = "warning"; + $statut= "Ce contrat n'est pas en service"; + } + print "Statut$statut\n"; + if ($request == 'miseenservice') { // Si contrat lié à une ligne de facture, on recherche date debut et fin de la ligne diff --git a/htdocs/contrat/index.php b/htdocs/contrat/index.php index 0fbc13e0757..b45c42bcc4f 100644 --- a/htdocs/contrat/index.php +++ b/htdocs/contrat/index.php @@ -49,7 +49,7 @@ if ($sortorder == "") $sortorder="DESC"; } -$sql = "SELECT c.rowid as cid, c.enservice, c.fin_validite, p.label, p.rowid as pid, s.nom, s.idp as sidp"; +$sql = "SELECT c.rowid as cid, c.enservice, ".$db->pdate("c.fin_validite")." as fin_validite, p.label, p.rowid as pid, s.nom, s.idp as sidp"; $sql .= " FROM ".MAIN_DB_PREFIX."contrat as c, ".MAIN_DB_PREFIX."societe as s, ".MAIN_DB_PREFIX."product as p"; $sql .= " WHERE c.fk_soc = s.idp AND c.fk_product = p.rowid"; if ($socid > 0) @@ -80,11 +80,12 @@ if ( $db->query($sql) ) print_liste_field_titre("Statut",$PHP_SELF, "c.enservice"); print ''; print ''; - print_liste_field_titre("Fin",$PHP_SELF, "c.fin_validite"); + print_liste_field_titre("Date Fin",$PHP_SELF, "c.fin_validite"); print ''; print "\n"; $var=True; + $now=mktime(); while ($i < min($num,$limit)) { $obj = $db->fetch_object( $i); @@ -97,8 +98,14 @@ if ( $db->query($sql) ) // Affiche statut contrat if ($obj->enservice == 1) { - $class = "impayee"; - $statut="En service"; + if (! $obj->fin_validite || $obj->fin_validite >= $now) { + $class = "normal"; + $statut="En service"; + } + else { + $class = "error"; + $statut="En service, expiré"; + } } elseif($obj->enservice == 2) { @@ -115,8 +122,7 @@ if ( $db->query($sql) ) print ""; if ($obj->enservice > 0) { - $time=strtotime($obj->fin_validite); - print dolibarr_print_date($time); + print dolibarr_print_date($obj->fin_validite); } else { print " ";