From 3c4926c8cf21b8248c3d8a61871b29ac212cffed Mon Sep 17 00:00:00 2001
From: Laurent Destailleur <eldy@users.sourceforge.net>
Date: Mon, 25 Feb 2008 16:48:16 +0000
Subject: [PATCH] Fix: List of services

---
 htdocs/contrat/fiche.php                     |  3 ++-
 htdocs/contrat/liste.php                     | 11 ++++++-----
 htdocs/contrat/services.php                  | 16 +++++++---------
 htdocs/includes/modules/modContrat.class.php | 11 +++++------
 4 files changed, 20 insertions(+), 21 deletions(-)

diff --git a/htdocs/contrat/fiche.php b/htdocs/contrat/fiche.php
index 37977f4ab1f..f3f953a7dfb 100644
--- a/htdocs/contrat/fiche.php
+++ b/htdocs/contrat/fiche.php
@@ -1177,7 +1177,8 @@ else
 
             if ($contrat->statut == 0 && $nbofservices)
             {
-                print '<a class="butAction" href="fiche.php?id='.$id.'&amp;action=valid">'.$langs->trans("Validate").'</a>';
+                if ($user->rights->facture->creer ) print '<a class="butAction" href="fiche.php?id='.$id.'&amp;action=valid">'.$langs->trans("Validate").'</a>';
+				else print '<a class="butActionRefused" href="#" title="'.$langs->trans("NotEnoughPermissions").'">'.$langs->trans("Validate").'</a>';
             }
 
             if ($contrat->statut > 0 && $user->rights->facture->creer)
diff --git a/htdocs/contrat/liste.php b/htdocs/contrat/liste.php
index abc8d988067..89cbf02bbd9 100644
--- a/htdocs/contrat/liste.php
+++ b/htdocs/contrat/liste.php
@@ -49,7 +49,7 @@ if (! $sortorder) $sortorder="DESC";
 
 // Security check
 $contratid = isset($_GET["id"])?$_GET["id"]:'';
-$result = restrictedArea($user, 'contrat',$contratid,'',1);
+$result = restrictedArea($user, 'contrat', $contratid,'',1);
 
 $staticcontrat=new Contrat($db);
 $staticcontratligne=new ContratLigne($db);
@@ -68,8 +68,9 @@ $sql.= ' sum('.$db->ifsql("cd.statut=4 AND (cd.date_fin_validite IS NULL OR cd.d
 $sql.= ' sum('.$db->ifsql("cd.statut=5",1,0).') as nb_closed,';
 $sql.= " c.rowid as cid, c.ref, c.datec, c.statut, s.nom, s.rowid as socid";
 if (!$user->rights->commercial->client->voir && !$socid) $sql .= ", sc.fk_soc, sc.fk_user";
-$sql.= " FROM ".MAIN_DB_PREFIX."societe as s, ".MAIN_DB_PREFIX."contrat as c";
-if (!$user->rights->commercial->client->voir && !$socid) $sql .= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc";
+$sql.= " FROM ".MAIN_DB_PREFIX."societe as s,";
+if (!$user->rights->commercial->client->voir && !$socid) $sql .= " ".MAIN_DB_PREFIX."societe_commerciaux as sc,";
+$sql.= " ".MAIN_DB_PREFIX."contrat as c";
 $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."contratdet as cd ON c.rowid = cd.fk_contrat";
 $sql.= " WHERE c.fk_soc = s.rowid ";
 if (!$user->rights->commercial->client->voir && !$socid) $sql .= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id;
@@ -106,10 +107,10 @@ if ($resql)
     print '<form method="POST" action="liste.php">';
     print '<tr class="liste_titre">';
     print '<td class="liste_titre">';
-    print '<input type="text" class="flat" size="3" name="search_contract" value="'.stripslashes($search_contract).'">';
+    print '<input type="text" class="flat" size="3" name="search_contract" value="'.$search_contract.'">';
     print '</td>';
     print '<td class="liste_titre" valign="right">';
-    print '<input type="text" class="flat" size="24" name="search_nom" value="'.stripslashes($search_nom).'">';
+    print '<input type="text" class="flat" size="24" name="search_nom" value="'.$search_nom.'">';
     print '</td>';
     print '<td class="liste_titre">&nbsp;</td>';
     print '<td class="liste_titre">&nbsp;</td>';
diff --git a/htdocs/contrat/services.php b/htdocs/contrat/services.php
index 56870248601..71fbab96d4a 100644
--- a/htdocs/contrat/services.php
+++ b/htdocs/contrat/services.php
@@ -1,6 +1,6 @@
 <?php
 /* Copyright (C) 2001-2004 Rodolphe Quiedeville <rodolphe@quiedeville.org>
- * Copyright (C) 2004-2006 Laurent Destailleur  <eldy@users.sourceforge.net>
+ * Copyright (C) 2004-2008 Laurent Destailleur  <eldy@users.sourceforge.net>
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -15,16 +15,13 @@
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- *
- * $Id$
- * $Source$
  */
 
 /**
 	    \file       htdocs/contrat/services.php
         \ingroup    contrat
 		\brief      Page liste des contrats en service
-		\version    $Revision$
+		\version    $Id$
 */
 
 require("./pre.inc.php");
@@ -65,7 +62,6 @@ $staticcontratligne=new ContratLigne($db);
  */
 llxHeader();
 
-
 $sql = "SELECT s.rowid as socid, 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,";
@@ -75,11 +71,11 @@ $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,";
+if (!$user->rights->commercial->client->voir && !$socid) $sql .= " ".MAIN_DB_PREFIX."societe_commerciaux as sc,";
 $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.= " WHERE";
+$sql.= " c.rowid = cd.fk_contrat";
 $sql.= " AND c.fk_soc = s.rowid";
 if (!$user->rights->commercial->client->voir && !$socid) $sql .= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id;
 if ($mode == "0") $sql.= " AND cd.statut = 0";
@@ -93,6 +89,8 @@ if ($socid > 0)       $sql.= " AND s.rowid = ".$socid;
 $sql .= " ORDER BY $sortfield $sortorder";
 $sql .= $db->plimit($limit + 1 ,$offset);
 
+//print $sql;
+dolibarr_syslog("contrat/services.php sql=".$sql);
 $resql=$db->query($sql);
 if ($resql)
 {
diff --git a/htdocs/includes/modules/modContrat.class.php b/htdocs/includes/modules/modContrat.class.php
index fd7c75722e7..884934dddfe 100644
--- a/htdocs/includes/modules/modContrat.class.php
+++ b/htdocs/includes/modules/modContrat.class.php
@@ -1,6 +1,6 @@
 <?php
 /* Copyright (C) 2005      Rodolphe Quiedeville <rodolphe@quiedeville.org>
- * Copyright (C) 2004-2007 Laurent Destailleur  <eldy@users.sourceforge.net>
+ * Copyright (C) 2004-2008 Laurent Destailleur  <eldy@users.sourceforge.net>
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -15,13 +15,12 @@
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- *
- * $Id$
  */
 
 /**
         \defgroup   contrat     Module contrat
-        \brief      Module pour g�rer la tenue de contrat de services
+        \brief      Module pour gerer la tenue de contrat de services
+		\version	$Id$
 */
 
 /**
@@ -85,7 +84,7 @@ class modContrat extends DolibarrModules
         $this->rights[1][4] = 'lire';
 
         $this->rights[2][0] = 162;
-        $this->rights[2][1] = 'Cr�er / modifier les contrats';
+        $this->rights[2][1] = 'Creer / modifier les contrats';
         $this->rights[2][2] = 'w';
         $this->rights[2][3] = 0;
         $this->rights[2][4] = 'creer';
@@ -97,7 +96,7 @@ class modContrat extends DolibarrModules
         $this->rights[3][4] = 'activer';
 
         $this->rights[4][0] = 164;
-        $this->rights[4][1] = 'D�sactiver un service d\'un contrat';
+        $this->rights[4][1] = 'Desactiver un service d\'un contrat';
         $this->rights[4][2] = 'w';
         $this->rights[4][3] = 0;
         $this->rights[4][4] = 'desactiver';
-- 
GitLab