From c3bb4a89e484edb924a067ed5d7f9f2202f4cf5f Mon Sep 17 00:00:00 2001
From: Laurent Destailleur <eldy@destailleur.fr>
Date: Thu, 8 Sep 2016 17:53:04 +0200
Subject: [PATCH] Fix late satus on contract service line

---
 htdocs/contrat/card.php     | 12 ++++++++++--
 htdocs/contrat/services.php |  7 ++++++-
 2 files changed, 16 insertions(+), 3 deletions(-)

diff --git a/htdocs/contrat/card.php b/htdocs/contrat/card.php
index f6d299f94e0..ef257c348aa 100644
--- a/htdocs/contrat/card.php
+++ b/htdocs/contrat/card.php
@@ -1567,7 +1567,11 @@ else
                         {
                             print dol_print_date($db->jdate($objp->date_debut));
                             // Warning si date prevu passee et pas en service
-                            if ($objp->statut == 0 && $db->jdate($objp->date_debut) < ($now - $conf->contrat->services->inactifs->warning_delay)) { print " ".img_warning($langs->trans("Late")); }
+                            if ($objp->statut == 0 && $db->jdate($objp->date_debut) < ($now - $conf->contrat->services->inactifs->warning_delay)) { 
+                    		    $warning_delay=$conf->contrat->services->inactifs->warning_delay / 3600 / 24;
+                                $textlate = $langs->trans("Late").' = '.$langs->trans("DateReference").' > '.$langs->trans("DateToday").' '.(ceil($warning_delay) >= 0 ? '+' : '').ceil($warning_delay).' '.$langs->trans("days");
+                    		    print " ".img_warning($textlate);
+                            }
                         }
                         else print $langs->trans("Unknown");
                         print ' &nbsp;-&nbsp; ';
@@ -1575,7 +1579,11 @@ else
                         if ($objp->date_fin)
                         {
                             print dol_print_date($db->jdate($objp->date_fin));
-                            if ($objp->statut == 4 && $db->jdate($objp->date_fin) < ($now - $conf->contrat->services->expires->warning_delay)) { print " ".img_warning($langs->trans("Late")); }
+                            if ($objp->statut == 4 && $db->jdate($objp->date_fin) < ($now - $conf->contrat->services->expires->warning_delay)) { 
+                    		    $warning_delay=$conf->contrat->services->expires->warning_delay / 3600 / 24;
+                                $textlate = $langs->trans("Late").' = '.$langs->trans("DateReference").' > '.$langs->trans("DateToday").' '.(ceil($warning_delay) >= 0 ? '+' : '').ceil($warning_delay).' '.$langs->trans("days");
+                    		    print " ".img_warning($textlate);
+                            }
                         }
                         else print $langs->trans("Unknown");
 
diff --git a/htdocs/contrat/services.php b/htdocs/contrat/services.php
index d2de41391de..8e37e392603 100644
--- a/htdocs/contrat/services.php
+++ b/htdocs/contrat/services.php
@@ -361,7 +361,12 @@ if ($resql)
 		if (($mode == "" || $mode == -1) || $mode < 5) 
 		{
 		    print '<td align="center">'.($obj->date_fin_validite?dol_print_date($db->jdate($obj->date_fin_validite)):'&nbsp;');
-    		if ($obj->date_fin_validite && $db->jdate($obj->date_fin_validite) < ($now - $conf->contrat->services->expires->warning_delay) && $obj->statut < 5) print img_warning($langs->trans("Late"));
+    		if ($obj->date_fin_validite && $db->jdate($obj->date_fin_validite) < ($now - $conf->contrat->services->expires->warning_delay) && $obj->statut < 5) 
+    		{
+    		    $warning_delay=$conf->contrat->services->expires->warning_delay / 3600 / 24;
+                $textlate = $langs->trans("Late").' = '.$langs->trans("DateReference").' > '.$langs->trans("DateToday").' '.(ceil($warning_delay) >= 0 ? '+' : '').ceil($warning_delay).' '.$langs->trans("days");
+    		    print img_warning($textlate);
+    		}
     		else print '&nbsp;&nbsp;&nbsp;&nbsp;';
 		}
 		if (($mode == "" || $mode == -1) || $mode >= 5) print '<td align="center">'.dol_print_date($db->jdate($obj->date_cloture));
-- 
GitLab