New: Un motif pour la remise fixe est obligatoire

This commit is contained in:
Laurent Destailleur 2006-06-03 11:32:51 +00:00
parent 75b5f8665e
commit 7e11657bd2
11 changed files with 76 additions and 36 deletions

View File

@ -52,18 +52,29 @@ if ($user->societe_id > 0)
if ($_POST["action"] == 'setremise') if ($_POST["action"] == 'setremise')
{ {
$soc = New Societe($db); if (! price2num($_POST["remise"]) > 0)
$soc->fetch($_GET["id"]);
$soc->set_remise_except($_POST["remise"],$user,$_POST["desc"]);
if ($result > 0)
{ {
Header("Location: remx.php?id=".$_GET["id"]); $mesg='<div class="error">'.$langs->trans("ErrorFieldFormat",$langs->trans("NewGlobalDiscount")).'</div>';
exit; }
elseif (! $_POST["desc"])
{
$mesg='<div class="error">'.$langs->trans("ErrorFieldRequired",$langs->trans("ReasonDiscount")).'</div>';
} }
else else
{ {
$mesg='<div class="error">'.$soc->error.'</div>'; $soc = New Societe($db);
$soc->fetch($_GET["id"]);
$soc->set_remise_except($_POST["remise"],$user,$_POST["desc"]);
if ($result > 0)
{
Header("Location: remx.php?id=".$_GET["id"]);
exit;
}
else
{
$mesg='<div class="error">'.$soc->error.'</div>';
}
} }
} }
@ -86,7 +97,7 @@ if ($_GET["action"] == 'remove')
/* /*
* Fiche avoirs * Fiche des remises fixes
*/ */
llxHeader(); llxHeader();

View File

@ -195,7 +195,7 @@ if ($_GET["propalid"] > 0)
print '</tr>'; print '</tr>';
// Ligne info remises tiers // Ligne info remises tiers
print '<tr><td>'.$langs->trans('Info').'</td><td colspan="5">'; print '<tr><td>'.$langs->trans('Discounts').'</td><td colspan="5">';
if ($societe->remise_client) print $langs->trans("CompanyHasRelativeDiscount",$societe->remise_client); if ($societe->remise_client) print $langs->trans("CompanyHasRelativeDiscount",$societe->remise_client);
else print $langs->trans("CompanyHasNoRelativeDiscount"); else print $langs->trans("CompanyHasNoRelativeDiscount");
$absolute_discount=$societe->getCurrentDiscount(); $absolute_discount=$societe->getCurrentDiscount();

View File

@ -84,9 +84,7 @@ Module22Desc=Emailings' management
Module25Name=Customer Orders Module25Name=Customer Orders
Module25Desc=Customer orders' management Module25Desc=Customer orders' management
Module30Name=Invoices Module30Name=Invoices
Module30Desc=Invoices' management for customers or suppliers Module30Desc=Invoices' and credit notes' management for customers. Invoices' management for suppliers
Module35Name=Discounts
Module35Desc=Discounts' management for customers
Module40Name=Suppliers Module40Name=Suppliers
Module40Desc=Suppliers' management Module40Desc=Suppliers' management
Module42Name=Syslog Module42Name=Syslog
@ -393,12 +391,12 @@ ErrorConnectOkButWrongDatabase=Connection succeeded but database doesn't look to
##### Invoices ##### ##### Invoices #####
BillsSetup=Invoices module setup BillsSetup=Invoices module setup
BillsDate=Invoices date BillsDate=Invoices date
BillsNumberingModule=Invoices numbering module BillsNumberingModule=Invoices and credit notes numbering module
BillsPDFModules=Invoice documents models BillsPDFModules=Invoice documents models
DiscountSetup=Credit note module setup CreditNoteSetup=Credit note module setup
DiscountsNumberingModules=Credit note numbering modules CreditNotePDFModules=Credit note document models
DiscountsPDFModules=Credit note document models CreditNote=Credit note
Discounts=Discounts CreditNotes=Credit notes
ForceInvoiceDate=Force invoice date to validation date ForceInvoiceDate=Force invoice date to validation date
DisableRepeatable=Disable repeatable invoices DisableRepeatable=Disable repeatable invoices
SuggestedPaymentModesIfNotDefinedInInvoice=Suggested Payments mode on invoices if not explicitely defined SuggestedPaymentModesIfNotDefinedInInvoice=Suggested Payments mode on invoices if not explicitely defined

View File

@ -121,7 +121,12 @@ CreateFromRepeatableInvoice=Create from repeatable invoice
ExportDataset_invoice_1=Customer invoices list and invoices' lines ExportDataset_invoice_1=Customer invoices list and invoices' lines
ProformaBill=Proforma Bill: ProformaBill=Proforma Bill:
Reduction=Reduction Reduction=Reduction
ReductionShort=Reduc ReductionShort=Reduc.
Reductions=Reductions
ReductionsShort=Reduc.
Discount=Discount
Discounts=Discounts
RelativeDiscount=Relative discount
GlobalDiscount=Global discount GlobalDiscount=Global discount
CreditNote=Credit note CreditNote=Credit note
CreditNotes=Credit notes CreditNotes=Credit notes

View File

@ -2,6 +2,7 @@
charset=iso-8859-1 charset=iso-8859-1
Error=Error Error=Error
ErrorFieldRequired=Field '%s' is required ErrorFieldRequired=Field '%s' is required
ErrorFieldFormat=Field '%s' has a bad value
ErrorFileDoesNotExists=File %s does not exists ErrorFileDoesNotExists=File %s does not exists
ErrorFailedToOpenFile=Failed to open file %s ErrorFailedToOpenFile=Failed to open file %s
ErrorCanNotCreateDir=Can not create dir %s ErrorCanNotCreateDir=Can not create dir %s
@ -21,6 +22,7 @@ ErrorWrongHostParameter=Wrong host parameter
ErrorYourCountryIsNotDefined=Your country is not defined. Go to Home-Setup-Edit and post again the form. ErrorYourCountryIsNotDefined=Your country is not defined. Go to Home-Setup-Edit and post again the form.
ErrorRecordIsUsedByChild=Failed to delete this record. This record is used by at least on child records. ErrorRecordIsUsedByChild=Failed to delete this record. This record is used by at least on child records.
ErrorWrongValue=Wrong value ErrorWrongValue=Wrong value
ErrorWrongValueForParameterX=Wrong value for parameter %s
SeeAbove=See above SeeAbove=See above
HomeArea=Home area HomeArea=Home area
LastAccess=Last access LastAccess=Last access

View File

@ -83,10 +83,8 @@ Module22Name=Mailings
Module22Desc=Administration et envoi de mailings Module22Desc=Administration et envoi de mailings
Module25Name=Commandes clients Module25Name=Commandes clients
Module25Desc=Gestion des commandes clients Module25Desc=Gestion des commandes clients
Module30Name=Factures Module30Name=Factures et avoirs
Module30Desc=Gestion des factures clients ou fournisseurs Module30Desc=Gestion des factures et avoirs clients. Gestion des factures fournisseurs
Module35Name=Avoirs
Module35Desc=Gestion des avoirs clients
Module40Name=Fournisseurs Module40Name=Fournisseurs
Module40Desc=Gestion des fournisseurs Module40Desc=Gestion des fournisseurs
Module42Name=Syslog Module42Name=Syslog
@ -393,12 +391,12 @@ ErrorConnectOkButWrongDatabase=La connexion a r
##### Invoices ##### ##### Invoices #####
BillsSetup=Configuration du module Factures BillsSetup=Configuration du module Factures
BillsDate=Date des factures BillsDate=Date des factures
BillsNumberingModule=Module de numérotation des factures BillsNumberingModule=Module de numérotation des factures et avoirs
BillsPDFModules=Modèle de document de factures BillsPDFModules=Modèle de document de factures
DiscountSetup=Configuration du module Avoirs CreditNoteSetup=Configuration du module Avoirs
DiscountsNumberingModules=Modules de numérotation des avoirs CreditNotePDFModules=Modèles de documents des avoirs
DiscountsPDFModules=Modèles de documents des avoirs CreditNote=Avoir
Discounts=Avoirs CreditNotes=Avoirs
ForceInvoiceDate=Forcer la date de facture à la date de validation ForceInvoiceDate=Forcer la date de facture à la date de validation
DisableRepeatable=Désactiver les factures récurrentes DisableRepeatable=Désactiver les factures récurrentes
SuggestedPaymentModesIfNotDefinedInInvoice=Modes de paiements suggérés sur les factures si non défini explicitement SuggestedPaymentModesIfNotDefinedInInvoice=Modes de paiements suggérés sur les factures si non défini explicitement

View File

@ -122,6 +122,11 @@ ExportDataset_invoice_1=Factures clients et lignes de facture
ProformaBill=Facture Proforma : ProformaBill=Facture Proforma :
Reduction=Réduction Reduction=Réduction
ReductionShort=Réduc. ReductionShort=Réduc.
Reductions=Réductions
ReductionsShort=Réduc.
Discount=Remise
Discounts=Remises
RelativeDiscount=Remise relative
GlobalDiscount=Remise fixe GlobalDiscount=Remise fixe
CreditNote=Avoir CreditNote=Avoir
CreditNotes=Avoirs CreditNotes=Avoirs

View File

@ -2,6 +2,7 @@
charset=iso-8859-1 charset=iso-8859-1
Error=Erreur Error=Erreur
ErrorFieldRequired=Le champ '%s' est obligatoire ErrorFieldRequired=Le champ '%s' est obligatoire
ErrorFieldFormat=Le champ '%s' a une valeur incorrecte
ErrorFileDoesNotExists=Le fichier %s n'existe pas ErrorFileDoesNotExists=Le fichier %s n'existe pas
ErrorFailedToOpenFile=Impossible d'ouvrir le fichier %s ErrorFailedToOpenFile=Impossible d'ouvrir le fichier %s
ErrorCanNotCreateDir=Impossible de créer le répertoire %s ErrorCanNotCreateDir=Impossible de créer le répertoire %s
@ -21,6 +22,7 @@ ErrorWrongHostParameter=Mauvais param
ErrorYourCountryIsNotDefined=Votre pays n'est pas défini. Corriger en allant dans Configuration-Général-Editer. ErrorYourCountryIsNotDefined=Votre pays n'est pas défini. Corriger en allant dans Configuration-Général-Editer.
ErrorRecordIsUsedByChild=Impossible de supprimer cet enregistrement. Ce dernier est utilisé en tant que père par au moins un enregistrement fils. ErrorRecordIsUsedByChild=Impossible de supprimer cet enregistrement. Ce dernier est utilisé en tant que père par au moins un enregistrement fils.
ErrorWrongValue=Valeur incorrecte ErrorWrongValue=Valeur incorrecte
ErrorWrongValueForParameterX=Valeur incorrecte pour le paramètre %s
SeeAbove=Voir ci-dessus SeeAbove=Voir ci-dessus
HomeArea=Espace accueil HomeArea=Espace accueil
LastAccess=Dernière connexion LastAccess=Dernière connexion

View File

@ -923,14 +923,31 @@ class Societe
} }
/** /**
* \brief Ajoute un avoir pour la société * \brief Ajoute une remise fixe pour la société
* \param remise Montant de la remise * \param remise Montant de la remise
* \param user Utilisateur qui accorde la remise * \param user Utilisateur qui accorde la remise
* \param desc Motif de l'avoir * \param desc Motif de l'avoir
* \return int <0 si ko, id de l'avoir si ok * \return int <0 si ko, id de la ligne de remise si ok
*/ */
function set_remise_except($remise, $user, $desc) function set_remise_except($remise, $user, $desc)
{ {
global $langs;
// Nettoyage des parametres
$remise = price2num($remise);
$desc = trim($desc);
if (! $remise > 0)
{
$this->error=$langs->trans("ErrorWrongValueForParameter","1");
return -1;
}
if (! $desc)
{
$this->error=$langs->trans("ErrorWrongValueForParameter","3");
return -2;
}
if ($this->id) if ($this->id)
{ {
$remise = price2num($remise); $remise = price2num($remise);
@ -942,7 +959,7 @@ class Societe
if (! $this->db->query($sql) ) if (! $this->db->query($sql) )
{ {
$this->error=$this->db->lasterror(); $this->error=$this->db->lasterror();
return -1; return -3;
} }
else else
{ {

View File

@ -270,3 +270,7 @@ alter table llx_propaldet add column rang integer DEFAULT 0;
alter table llx_facture drop column model; alter table llx_facture drop column model;
alter table llx_facture add column model_pdf varchar(50) after note_public; alter table llx_facture add column model_pdf varchar(50) after note_public;
update llx_societe_remise_except set description='Remise sans description' where description is NULL or description ='';
alter table llx_societe_remise_except modify description varchar(255) NOT NULL;

View File

@ -1,5 +1,6 @@
-- ============================================================================ -- ============================================================================
-- Copyright (C) 2004 Rodolphe Quiedeville <rodolphe@quiedeville.org> -- Copyright (C) 2004 Rodolphe Quiedeville <rodolphe@quiedeville.org>
-- Copyright (C) 2006 Laurent Destailleur <eldy@users.sourceforge.net>
-- --
-- This program is free software; you can redistribute it and/or modify -- 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 -- it under the terms of the GNU General Public License as published by
@ -19,8 +20,6 @@
-- $Source$ -- $Source$
-- --
-- Remises exceptionnelles -- Remises exceptionnelles
--
--
-- ============================================================================ -- ============================================================================
create table llx_societe_remise_except create table llx_societe_remise_except
@ -31,6 +30,5 @@ create table llx_societe_remise_except
amount_ht real NOT NULL, amount_ht real NOT NULL,
fk_user integer NOT NULL, fk_user integer NOT NULL,
fk_facture integer, fk_facture integer,
description text description varchar(255) NOT NULL
)type=innodb; )type=innodb;