fix bug24035: la valeur de remise ne peut pas etre negative

This commit is contained in:
raphael_bertrand 2008-08-11 13:29:23 +00:00
parent ae6ec592ac
commit 7132585be1
4 changed files with 7787 additions and 7707 deletions

File diff suppressed because it is too large Load Diff

View File

@ -1,176 +1,184 @@
<?PHP <?PHP
/* Copyright (C) 2001-2004 Rodolphe Quiedeville <rodolphe@quiedeville.org> /* Copyright (C) 2001-2004 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* Copyright (C) 2004-2006 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2004-2006 Laurent Destailleur <eldy@users.sourceforge.net>
* * Copyright (C) 2008 Raphael Bertrand (Resultic) <raphael.bertrand@resultic.fr>
* 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 * This program is free software; you can redistribute it and/or modify
* the Free Software Foundation; either version 2 of the License, or * it under the terms of the GNU General Public License as published by
* (at your option) any later version. * the Free Software Foundation; either version 2 of the License, or
* * (at your option) any later version.
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of * This program is distributed in the hope that it will be useful,
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * but WITHOUT ANY WARRANTY; without even the implied warranty of
* GNU General Public License for more details. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* * GNU General Public License for more details.
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the Free Software * You should have received a copy of the GNU General Public License
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * 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$ * $Id$
*/ * $Source$
*/
/**
\file htdocs/comm/remise.php /**
\ingroup commercial \file htdocs/comm/remise.php
\brief Onglet remise de la societe \ingroup commercial
\version $Revision$ \brief Onglet remise de la societe
*/ \version $Revision$
*/
require_once("./pre.inc.php");
require_once(DOL_DOCUMENT_ROOT."/lib/company.lib.php"); require_once("./pre.inc.php");
require_once(DOL_DOCUMENT_ROOT."/contact.class.php"); require_once(DOL_DOCUMENT_ROOT."/lib/company.lib.php");
require_once(DOL_DOCUMENT_ROOT."/contact.class.php");
$langs->load("companies");
$langs->load("orders"); $langs->load("companies");
$langs->load("bills"); $langs->load("orders");
$langs->load("bills");
if ($_POST["action"] == 'setremise')
{ if ($_POST["action"] == 'setremise')
$soc = New Societe($db); {
$soc->fetch($_GET["id"]);
$result=$soc->set_remise_client($_POST["remise"],$_POST["note"],$user); // Define remise
if ($_POST['remise']>0)
if ($result > 0) $remise=$_POST['remise'];
{ else
Header("Location: remise.php?id=".$_GET["id"]); $remise=0;
exit;
} $soc = New Societe($db);
else $soc->fetch($_GET["id"]);
{ $result=$soc->set_remise_client($remise,$_POST["note"],$user);
$errmesg=$soc->error;
} if ($result > 0)
} {
Header("Location: remise.php?id=".$_GET["id"]);
exit;
llxHeader(); }
else
$_socid = $_GET["id"]; {
$errmesg=$soc->error;
}
// Sécurité si un client essaye d'accéder à une autre fiche que la sienne }
if ($user->societe_id > 0)
{
$_socid = $user->societe_id; llxHeader();
}
$_socid = $_GET["id"];
/*********************************************************************************
* // Sécurité si un client essaye d'accéder à une autre fiche que la sienne
* Mode fiche if ($user->societe_id > 0)
* {
*********************************************************************************/ $_socid = $user->societe_id;
if ($_socid > 0) }
{
// On recupere les donnees societes par l'objet
$objsoc = new Societe($db); /*********************************************************************************
$objsoc->id=$_socid; *
$objsoc->fetch($_socid,$to); * Mode fiche
*
if ($errmesg) *********************************************************************************/
{ if ($_socid > 0)
print '<div class="error">'.$errmesg.'</div><br>'; {
} // On recupere les donnees societes par l'objet
$objsoc = new Societe($db);
/* $objsoc->id=$_socid;
* Affichage onglets $objsoc->fetch($_socid,$to);
*/
$head = societe_prepare_head($objsoc); if ($errmesg)
{
dolibarr_fiche_head($head, 'relativediscount', $objsoc->nom); print '<div class="error">'.$errmesg.'</div><br>';
}
/* /*
* * Affichage onglets
* */
*/ $head = societe_prepare_head($objsoc);
print '<form method="POST" action="remise.php?id='.$objsoc->id.'">';
print '<input type="hidden" name="action" value="setremise">'; dolibarr_fiche_head($head, 'relativediscount', $objsoc->nom);
print '<table width="100%" border="0">';
print '<tr><td valign="top">';
print '<table class="border" width="100%">'; /*
*
// Remise *
print '<tr><td colspan="2" width="25%">'; */
print $langs->trans("CustomerRelativeDiscount").'</td><td colspan="2">'.$objsoc->remise_client."%</td></tr>"; print '<form method="POST" action="remise.php?id='.$objsoc->id.'">';
print '<input type="hidden" name="action" value="setremise">';
// Nouvelle valeur print '<table width="100%" border="0">';
print '<tr><td colspan="2">'; print '<tr><td valign="top">';
print $langs->trans("NewValue").'</td><td colspan="2"><input type="text" size="5" name="remise" value="'.$objsoc->remise_client.'">%</td></tr>'; print '<table class="border" width="100%">';
// Motif/Note // Remise
print '<tr><td colspan="2" width="25%">'; print '<tr><td colspan="2" width="25%">';
print $langs->trans("NoteReason").'</td><td colspan="2"><input type="text" size="60" name="note" value=""></td></tr>'; print $langs->trans("CustomerRelativeDiscount").'</td><td colspan="2">'.$objsoc->remise_client."%</td></tr>";
print '<tr><td colspan="4" align="center"><input type="submit" class="button" value="'.$langs->trans("Modify").'"></td></tr>'; // Nouvelle valeur
print '<tr><td colspan="2">';
print "</table>"; print $langs->trans("NewValue").'</td><td colspan="2"><input type="text" size="5" name="remise" value="'.$objsoc->remise_client.'">%</td></tr>';
print "</td></tr>";
print '</table>'; // Motif/Note
print "</form>"; print '<tr><td colspan="2" width="25%">';
print $langs->trans("NoteReason").'</td><td colspan="2"><input type="text" size="60" name="note" value=""></td></tr>';
print "</div>\n";
print '<br>'; print '<tr><td colspan="4" align="center"><input type="submit" class="button" value="'.$langs->trans("Modify").'"></td></tr>';
print "</table>";
/* print "</td></tr>";
* Liste de l'historique des avoirs print '</table>';
*/ print "</form>";
$sql = "SELECT rc.rowid,rc.remise_client,rc.note,".$db->pdate("rc.datec")." as dc,";
$sql.= " u.login, u.rowid as user_id"; print "</div>\n";
$sql.= " FROM ".MAIN_DB_PREFIX."societe_remise as rc, ".MAIN_DB_PREFIX."user as u"; print '<br>';
$sql.= " WHERE rc.fk_soc =". $objsoc->id;
$sql.= " AND u.rowid = rc.fk_user_author";
$sql.= " ORDER BY rc.datec DESC"; /*
* Liste de l'historique des avoirs
$resql=$db->query($sql); */
if ($resql) $sql = "SELECT rc.rowid,rc.remise_client,rc.note,".$db->pdate("rc.datec")." as dc,";
{ $sql.= " u.login, u.rowid as user_id";
print '<table class="noborder" width="100%">'; $sql.= " FROM ".MAIN_DB_PREFIX."societe_remise as rc, ".MAIN_DB_PREFIX."user as u";
$tag = !$tag; $sql.= " WHERE rc.fk_soc =". $objsoc->id;
print '<tr class="liste_titre">'; $sql.= " AND u.rowid = rc.fk_user_author";
print '<td width="160">'.$langs->trans("Date").'</td>'; $sql.= " ORDER BY rc.datec DESC";
print '<td width="160" align="center">'.$langs->trans("CustomerRelativeDiscountShort").'</td>';
print '<td align="left">'.$langs->trans("NoteReason").'</td>'; $resql=$db->query($sql);
print '<td align="center">'.$langs->trans("User").'</td>'; if ($resql)
print '</tr>'; {
$i = 0 ; print '<table class="noborder" width="100%">';
$num = $db->num_rows($resql); $tag = !$tag;
print '<tr class="liste_titre">';
while ($i < $num ) print '<td width="160">'.$langs->trans("Date").'</td>';
{ print '<td width="160" align="center">'.$langs->trans("CustomerRelativeDiscountShort").'</td>';
$obj = $db->fetch_object($resql); print '<td align="left">'.$langs->trans("NoteReason").'</td>';
$tag = !$tag; print '<td align="center">'.$langs->trans("User").'</td>';
print '<tr '.$bc[$tag].'>'; print '</tr>';
print '<td>'.dolibarr_print_date($obj->dc,"dayhour").'</td>'; $i = 0 ;
print '<td align="center">'.$obj->remise_client.' %</td>'; $num = $db->num_rows($resql);
print '<td align="left">'.$obj->note.'</td>';
print '<td align="center"><a href="'.DOL_URL_ROOT.'/user/fiche.php?id='.$obj->user_id.'">'.img_object($langs->trans("ShowUser"),'user').' '.$obj->login.'</a></td>'; while ($i < $num )
print '</tr>'; {
$i++; $obj = $db->fetch_object($resql);
} $tag = !$tag;
$db->free($resql); print '<tr '.$bc[$tag].'>';
print "</table>"; print '<td>'.dolibarr_print_date($obj->dc,"dayhour").'</td>';
} print '<td align="center">'.$obj->remise_client.' %</td>';
else print '<td align="left">'.$obj->note.'</td>';
{ print '<td align="center"><a href="'.DOL_URL_ROOT.'/user/fiche.php?id='.$obj->user_id.'">'.img_object($langs->trans("ShowUser"),'user').' '.$obj->login.'</a></td>';
dolibarr_print_error($db); print '</tr>';
} $i++;
}
} $db->free($resql);
print "</table>";
$db->close(); }
else
llxFooter('$Date$ - $Revision$'); {
?> dolibarr_print_error($db);
}
}
$db->close();
llxFooter('$Date$ - $Revision$');
?>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff