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.'&action=valid">'.$langs->trans("Validate").'</a>'; + if ($user->rights->facture->creer ) print '<a class="butAction" href="fiche.php?id='.$id.'&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"> </td>'; print '<td class="liste_titre"> </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