Fix: Pb si module banque non actif

This commit is contained in:
Laurent Destailleur 2008-01-27 00:16:02 +00:00
parent d3f5ac710d
commit 70b1fabf13
3 changed files with 19 additions and 20 deletions

View File

@ -1,6 +1,6 @@
<?php <?php
/* Copyright (C) 2001-2006 Rodolphe Quiedeville <rodolphe@quiedeville.org> /* Copyright (C) 2001-2006 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>
* Copyright (C) 2005 Marc Barilley / Ocebo <marc@ocebo.com> * Copyright (C) 2005 Marc Barilley / Ocebo <marc@ocebo.com>
* Copyright (C) 2007 Franky Van Liedekerke <franky.van.liedekerke@telenet.be> * Copyright (C) 2007 Franky Van Liedekerke <franky.van.liedekerke@telenet.be>
* *
@ -17,16 +17,13 @@
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software * along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* $Id$
* $Source$
*/ */
/** /**
\file htdocs/compta/paiement.php \file htdocs/compta/paiement.php
\ingroup compta \ingroup compta
\brief Page de création d'un paiement \brief Page to create a payment
\version $Revision$ \version $Id$
*/ */
include_once('./pre.inc.php'); include_once('./pre.inc.php');
@ -62,7 +59,7 @@ if ($_POST['action'] == 'add_paiement' || $_POST['action'] == 'confirm_paiement'
$_POST['reyear']); $_POST['reyear']);
$paiement_id = 0; $paiement_id = 0;
// Verifie si des paiements sont supérieurs au montant facture // Verifie si des paiements sont sup<EFBFBD>rieurs au montant facture
foreach ($_POST as $key => $value) foreach ($_POST as $key => $value)
{ {
if (substr($key,0,7) == 'amount_') if (substr($key,0,7) == 'amount_')
@ -76,15 +73,15 @@ if ($_POST['action'] == 'add_paiement' || $_POST['action'] == 'confirm_paiement'
if ($amounts[$cursorfacid] && $amounts[$cursorfacid] > $amountsresttopay[$cursorfacid]) if ($amounts[$cursorfacid] && $amounts[$cursorfacid] > $amountsresttopay[$cursorfacid])
{ {
$addwarning=1; $addwarning=1;
$formquestion['text'] = img_warning($langs->trans("PaymentHigherThanReminderToPay")).' Attention, le montant de paiement pour une ou plusieurs facture est supérieur au reste à payer.'; $formquestion['text'] = img_warning($langs->trans("PaymentHigherThanReminderToPay")).' Attention, le montant de paiement pour une ou plusieurs facture est superieur au reste a payer.';
$formquestion['text'].='<br>Corriger votre saisie, sinon, confirmer et penser à créer un avoir du trop perçu lors de la fermeture de chacune des factures surpayées.'; $formquestion['text'].='<br>Corriger votre saisie, sinon, confirmer et penser a creer un avoir du trop percu lors de la fermeture de chacune des factures surpayees.';
} }
$formquestion[$i++]=array('type' => 'hidden','name' => $key, 'value' => $_POST[$key]); $formquestion[$i++]=array('type' => 'hidden','name' => $key, 'value' => $_POST[$key]);
} }
} }
// Effectue les vérifications des parametres // Effectue les verifications des parametres
if ($_POST['paiementid'] <= 0) if ($_POST['paiementid'] <= 0)
{ {
$fiche_erreur_message = '<div class="error">'.$langs->trans('ErrorFieldRequired',$langs->transnoentities('PaymentMode')).'</div>'; $fiche_erreur_message = '<div class="error">'.$langs->trans('ErrorFieldRequired',$langs->transnoentities('PaymentMode')).'</div>';
@ -160,11 +157,11 @@ if ($_POST['action'] == 'confirm_paiement' && $_POST['confirm'] == 'yes')
$_POST['chqbank']); $_POST['chqbank']);
// Mise a jour fk_bank dans llx_paiement. // Mise a jour fk_bank dans llx_paiement.
// On connait ainsi le paiement qui a généré l'écriture bancaire // On connait ainsi le paiement qui a g<EFBFBD>n<EFBFBD>r<EFBFBD> l'<27>criture bancaire
if ($bank_line_id > 0) if ($bank_line_id > 0)
{ {
$paiement->update_fk_bank($bank_line_id); $paiement->update_fk_bank($bank_line_id);
// Mise a jour liens (pour chaque facture concernées par le paiement) // Mise a jour liens (pour chaque facture concern<EFBFBD>es par le paiement)
foreach ($paiement->amounts as $key => $value) foreach ($paiement->amounts as $key => $value)
{ {
$facid = $key; $facid = $key;
@ -208,7 +205,7 @@ if ($_POST['action'] == 'confirm_paiement' && $_POST['confirm'] == 'yes')
} }
} }
// Sécurité accés client // S<EFBFBD>curit<EFBFBD> acc<63>s client
if ($user->societe_id > 0) if ($user->societe_id > 0)
{ {
$action = ''; $action = '';
@ -302,22 +299,22 @@ if ($_GET['action'] == 'create' || $_POST['action'] == 'confirm_paiement' || $_P
print "</tr>\n"; print "</tr>\n";
print '<tr><td>'.$langs->trans('Numero'); print '<tr><td>'.$langs->trans('Numero');
print ' <em>(Numéro chèque ou virement)</em>'; // \todo a traduire print ' <em>(Num<EFBFBD>ro ch<63>que ou virement)</em>'; // \todo a traduire
print '</td>'; print '</td>';
print '<td><input name="num_paiement" type="text" value="'.(empty($_POST['num_paiement'])?'':$_POST['num_paiement']).'"></td></tr>'; print '<td><input name="num_paiement" type="text" value="'.(empty($_POST['num_paiement'])?'':$_POST['num_paiement']).'"></td></tr>';
print '<tr><td>'.$langs->trans('CheckTransmitter'); print '<tr><td>'.$langs->trans('CheckTransmitter');
print ' <em>(Emetteur du chèque)</em>'; // \todo a traduire print ' <em>(Emetteur du ch<EFBFBD>que)</em>'; // \todo a traduire
print '</td>'; print '</td>';
print '<td><input name="chqemetteur" size="30" type="text" value="'.(empty($_POST['chqemetteur'])?$facture->client->nom:$_POST['chqemetteur']).'"></td></tr>'; print '<td><input name="chqemetteur" size="30" type="text" value="'.(empty($_POST['chqemetteur'])?$facture->client->nom:$_POST['chqemetteur']).'"></td></tr>';
print '<tr><td>'.$langs->trans('Bank'); print '<tr><td>'.$langs->trans('Bank');
print ' <em>(Banque du chèque)</em>'; // \todo a traduire print ' <em>(Banque du ch<EFBFBD>que)</em>'; // \todo a traduire
print '</td>'; print '</td>';
print '<td><input name="chqbank" size="30" type="text" value="'.(empty($_POST['chqbank'])?'':$_POST['chqbank']).'"></td></tr>'; print '<td><input name="chqbank" size="30" type="text" value="'.(empty($_POST['chqbank'])?'':$_POST['chqbank']).'"></td></tr>';
/* /*
* Liste factures impayées * Liste factures impay<EFBFBD>es
*/ */
$sql = 'SELECT f.rowid as facid, f.facnumber, f.total_ttc, f.type, '; $sql = 'SELECT f.rowid as facid, f.facnumber, f.total_ttc, f.type, ';
$sql.= $db->pdate('f.datef').' as df, '; $sql.= $db->pdate('f.datef').' as df, ';
@ -326,7 +323,7 @@ if ($_GET['action'] == 'create' || $_POST['action'] == 'confirm_paiement' || $_P
$sql.= ' LEFT JOIN '.MAIN_DB_PREFIX.'paiement_facture as pf ON pf.fk_facture = f.rowid'; $sql.= ' LEFT JOIN '.MAIN_DB_PREFIX.'paiement_facture as pf ON pf.fk_facture = f.rowid';
$sql.= ' WHERE f.fk_soc = '.$facture->socid; $sql.= ' WHERE f.fk_soc = '.$facture->socid;
$sql.= ' AND f.paye = 0'; $sql.= ' AND f.paye = 0';
$sql.= ' AND f.fk_statut = 1'; // Statut=0 => non validée, Statut=2 => annulée $sql.= ' AND f.fk_statut = 1'; // Statut=0 => non valid<EFBFBD>e, Statut=2 => annul<75>e
if ($facture->type != 2) if ($facture->type != 2)
{ {
$sql .= ' AND type in (0,1)'; // Facture standard ou de remplacement $sql .= ' AND type in (0,1)'; // Facture standard ou de remplacement

View File

@ -132,3 +132,5 @@ alter table llx_livraisondet add column rang integer DEFAULT 0 after
ALTER TABLE llx_livraisondet ADD INDEX idx_livraisondet_fk_expedition (fk_livraison); ALTER TABLE llx_livraisondet ADD INDEX idx_livraisondet_fk_expedition (fk_livraison);
-- V4 ALTER TABLE llx_livraisondet ADD CONSTRAINT fk_livraisondet_fk_livraison FOREIGN KEY (fk_livraison) REFERENCES llx_livraison (rowid); -- V4 ALTER TABLE llx_livraisondet ADD CONSTRAINT fk_livraisondet_fk_livraison FOREIGN KEY (fk_livraison) REFERENCES llx_livraison (rowid);
ALTER TABLE llx_paiement modify fk_bank integer NOT NULL DEFAULT 0;

View File

@ -34,7 +34,7 @@ create table llx_paiement
fk_paiement integer NOT NULL, fk_paiement integer NOT NULL,
num_paiement varchar(50), num_paiement varchar(50),
note text, note text,
fk_bank integer NOT NULL, fk_bank integer NOT NULL DEFAULT 0,
fk_user_creat integer, -- utilisateur qui a créé l'info fk_user_creat integer, -- utilisateur qui a créé l'info
fk_user_modif integer, -- utilisateur qui a modifié l'info fk_user_modif integer, -- utilisateur qui a modifié l'info
statut smallint DEFAULT 0 NOT NULL, statut smallint DEFAULT 0 NOT NULL,