diff --git a/.settings/org.eclipse.core.resources.prefs b/.settings/org.eclipse.core.resources.prefs
index 8d58222fb08..dcd0abbaead 100644
--- a/.settings/org.eclipse.core.resources.prefs
+++ b/.settings/org.eclipse.core.resources.prefs
@@ -1,4 +1,4 @@
-#Fri May 16 20:28:51 CEST 2008
+#Wed May 21 02:07:20 GMT 2008
eclipse.preferences.version=1
encoding//dev/skeletons/modMyModule.class.php=ISO-8859-1
encoding//htdocs/about.php=ISO-8859-1
@@ -40,7 +40,7 @@ encoding//htdocs/expedition/stats/month.php=ISO-8859-1
encoding//htdocs/facture.class.php=ISO-8859-1
encoding//htdocs/fichinter/fichinter.class.php=ISO-8859-1
encoding//htdocs/fourn/facture/fiche.php=ISO-8859-1
-encoding//htdocs/fourn/facture/paiement.php=UTF-8
+encoding//htdocs/fourn/facture/paiement.php=ISO-8859-1
encoding//htdocs/fourn/facture/paiementfourn.class.php=ISO-8859-1
encoding//htdocs/fourn/liste.php=ISO-8859-1
encoding//htdocs/html.form.class.php=ISO-8859-1
diff --git a/htdocs/fourn/facture/paiement.php b/htdocs/fourn/facture/paiement.php
index b7fa25f6d16..4851b3d7733 100644
--- a/htdocs/fourn/facture/paiement.php
+++ b/htdocs/fourn/facture/paiement.php
@@ -21,11 +21,11 @@
*/
/**
- \file htdocs/fourn/facture/paiement.php
- \ingroup fournisseur,facture
- \brief Paiements des factures fournisseurs
- \version $Id$
-*/
+ * \file htdocs/fourn/facture/paiement.php
+ * \ingroup fournisseur,facture
+ * \brief Payment page for suppliers invoices
+ * \version $Id$
+ */
require('./pre.inc.php');
require(DOL_DOCUMENT_ROOT.'/fourn/facture/paiementfourn.class.php');
@@ -41,12 +41,12 @@ $sortfield = isset($_GET['sortfield'])?$_GET['sortfield']:$_POST['sortfield'];
$sortorder = isset($_GET['sortorder'])?$_GET['sortorder']:$_POST['sortorder'];
$page=isset($_GET['page'])?$_GET['page']:$_POST['page'];
-// Sécurité accés client
+// Security check
$socid=0;
if ($user->societe_id > 0)
{
- $action = '';
- $socid = $user->societe_id;
+ $action = '';
+ $socid = $user->societe_id;
}
@@ -55,130 +55,130 @@ if ($user->societe_id > 0)
*/
if ($action == 'add_paiement')
{
- $error = 0;
-
- $datepaye = dolibarr_mktime(12, 0 , 0,
- $_POST['remonth'],
- $_POST['reday'],
- $_POST['reyear']);
- $paiement_id = 0;
- $total = 0;
- // Génère tableau des montants amounts
- $amounts = array();
- foreach ($_POST as $key => $value)
- {
- if (substr($key,0,7) == 'amount_')
+ $error = 0;
+
+ $datepaye = dolibarr_mktime(12, 0 , 0,
+ $_POST['remonth'],
+ $_POST['reday'],
+ $_POST['reyear']);
+ $paiement_id = 0;
+ $total = 0;
+ // Genere tableau des montants amounts
+ $amounts = array();
+ foreach ($_POST as $key => $value)
{
+ if (substr($key,0,7) == 'amount_')
+ {
$other_facid = substr($key,7);
$amounts[$other_facid] = $_POST[$key];
$total = $total + $amounts[$other_facid];
+ }
}
- }
-
- // Effectue les vérifications des parametres
- if ($_POST['paiementid'] <= 0)
- {
- $mesg = '
'.$langs->trans('ErrorFieldRequired',$langs->transnoentities('PaymentMode')).'
';
- $error++;
- }
-
- if ($conf->banque->enabled)
- {
- // Si module bank actif, un compte est obligatoire lors de la saisie
- // d'un paiement
- if (! $_POST['accountid'])
+
+ // Effectue les verifications des parametres
+ if ($_POST['paiementid'] <= 0)
{
+ $mesg = ''.$langs->trans('ErrorFieldRequired',$langs->transnoentities('PaymentMode')).'
';
+ $error++;
+ }
+
+ if ($conf->banque->enabled)
+ {
+ // Si module bank actif, un compte est obligatoire lors de la saisie
+ // d'un paiement
+ if (! $_POST['accountid'])
+ {
$mesg = ''.$langs->trans('ErrorFieldRequired',$langs->transnoentities('AccountToCredit')).'
';
$error++;
+ }
}
- }
-
- /*
- \TODO A activer qd gestion avoir active et que creation facture fournisseur negative interdit
- if ($total <= 0)
- {
- $mesg = ''.$langs->trans('ErrorFieldRequired',$langs->transnoentities('Amount')).'
';
- $error++;
- }
- */
-
- if (! $error)
- {
- $db->begin();
-
- // Creation de la ligne paiement
- $paiement = new PaiementFourn($db);
- $paiement->datepaye = $datepaye;
- $paiement->amounts = $amounts; // Array of amounts
- $paiement->paiementid = $_POST['paiementid'];
- $paiement->num_paiement = $_POST['num_paiement'];
- $paiement->note = $_POST['comment'];
-
- $paiement_id = $paiement->create($user);
- if ($paiement_id > 0)
- {
- if ($conf->banque->enabled)
- {
- // Insertion dans llx_bank
- $label = "(SupplierInvoicePayment)";
- $acc = new Account($db, $_POST['accountid']);
- //paiementid contient "CHQ ou VIR par exemple"
- $bank_line_id = $acc->addline($paiement->datepaye,
- $paiement->paiementid,
- $label,
- 0.0 - $paiement->total,
- $paiement->num_paiement,
- '',
- $user);
- // Mise a jour fk_bank dans llx_paiement.
- // On connait ainsi le paiement qui a généré l'écriture bancaire
- if ($bank_line_id > 0)
+ /*
+ \TODO A activer qd gestion avoir active et que creation facture fournisseur negative interdit
+ if ($total <= 0)
+ {
+ $mesg = ''.$langs->trans('ErrorFieldRequired',$langs->transnoentities('Amount')).'
';
+ $error++;
+ }
+ */
+
+ if (! $error)
+ {
+ $db->begin();
+
+ // Creation de la ligne paiement
+ $paiement = new PaiementFourn($db);
+ $paiement->datepaye = $datepaye;
+ $paiement->amounts = $amounts; // Array of amounts
+ $paiement->paiementid = $_POST['paiementid'];
+ $paiement->num_paiement = $_POST['num_paiement'];
+ $paiement->note = $_POST['comment'];
+
+ $paiement_id = $paiement->create($user);
+ if ($paiement_id > 0)
{
- $paiement->update_fk_bank($bank_line_id);
- // Mise a jour liens (pour chaque facture concernées par le paiement)
- foreach ($paiement->amounts as $key => $value)
- {
- $facid = $key;
- $fac = new FactureFournisseur($db);
- $fac->fetch($facid);
- $fac->fetch_fournisseur();
- $acc->add_url_line($bank_line_id,
+ if ($conf->banque->enabled)
+ {
+ // Insertion dans llx_bank
+ $label = "(SupplierInvoicePayment)";
+ $acc = new Account($db, $_POST['accountid']);
+ //paiementid contient "CHQ ou VIR par exemple"
+ $bank_line_id = $acc->addline($paiement->datepaye,
+ $paiement->paiementid,
+ $label,
+ 0.0 - $paiement->total,
+ $paiement->num_paiement,
+ '',
+ $user);
+
+ // Mise a jour fk_bank dans llx_paiement.
+ // On connait ainsi le paiement qui a genere l'ecriture bancaire
+ if ($bank_line_id > 0)
+ {
+ $paiement->update_fk_bank($bank_line_id);
+ // Mise a jour liens (pour chaque facture concernees par le paiement)
+ foreach ($paiement->amounts as $key => $value)
+ {
+ $facid = $key;
+ $fac = new FactureFournisseur($db);
+ $fac->fetch($facid);
+ $fac->fetch_fournisseur();
+ $acc->add_url_line($bank_line_id,
$paiement_id,
DOL_URL_ROOT.'/fourn/paiement/fiche.php?id=',
'(paiement)',
'payment_supplier');
- $acc->add_url_line($bank_line_id,
+ $acc->add_url_line($bank_line_id,
$fac->fournisseur->id,
DOL_URL_ROOT.'/fourn/fiche.php?socid=',
$fac->fournisseur->nom,
'company');
- }
+ }
+ }
+ else
+ {
+ $error++;
+ }
+ }
}
- else
+ else
{
- $error++;
- }
- }
- }
- else
- {
$mesg = ''.$langs->trans($paiement->error).'
';
$error++;
- }
+ }
- if ($error == 0)
- {
+ if ($error == 0)
+ {
$loc = DOL_URL_ROOT.'/fourn/paiement/fiche.php?id='.$paiement_id;
$db->commit();
Header('Location: '.$loc);
exit;
- }
- else
- {
+ }
+ else
+ {
$db->rollback();
+ }
}
- }
}
/*
@@ -191,28 +191,28 @@ $html=new Form($db);
if ($mesg)
{
- print ''.$mesg.' ';
+ print ''.$mesg.' ';
}
if ($action == 'create' || $action == 'add_paiement')
{
- $facture = new FactureFournisseur($db);
- $facture->fetch($facid);
+ $facture = new FactureFournisseur($db);
+ $facture->fetch($facid);
- $sql = 'SELECT s.nom, s.rowid as socid,';
- $sql.= ' f.rowid as ref, f.facnumber, f.amount, f.total_ttc as total';
- if (!$user->rights->societe->client->voir && !$socid) $sql .= ", sc.fk_soc, sc.fk_user ";
- $sql .= ' FROM '.MAIN_DB_PREFIX.'societe as s, '.MAIN_DB_PREFIX.'facture_fourn as f';
- if (!$user->rights->societe->client->voir && !$socid) $sql .= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc";
- $sql .= ' WHERE f.fk_soc = s.rowid';
- $sql .= ' AND f.rowid = '.$facid;
- if (!$user->rights->societe->client->voir && !$socid) $sql .= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id;
- $resql = $db->query($sql);
- if ($resql)
- {
- $num = $db->num_rows($resql);
- if ($num)
+ $sql = 'SELECT s.nom, s.rowid as socid,';
+ $sql.= ' f.rowid as ref, f.facnumber, f.amount, f.total_ttc as total';
+ if (!$user->rights->societe->client->voir && !$socid) $sql .= ", sc.fk_soc, sc.fk_user ";
+ $sql .= ' FROM '.MAIN_DB_PREFIX.'societe as s, '.MAIN_DB_PREFIX.'facture_fourn as f';
+ if (!$user->rights->societe->client->voir && !$socid) $sql .= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc";
+ $sql .= ' WHERE f.fk_soc = s.rowid';
+ $sql .= ' AND f.rowid = '.$facid;
+ if (!$user->rights->societe->client->voir && !$socid) $sql .= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id;
+ $resql = $db->query($sql);
+ if ($resql)
{
+ $num = $db->num_rows($resql);
+ if ($num)
+ {
$obj = $db->fetch_object($resql);
$total = $obj->total;
@@ -230,9 +230,9 @@ if ($action == 'create' || $action == 'add_paiement')
print ''.$langs->trans('Company').' '.$obj->nom.' ';
print ''.$langs->trans('Date').' ';
if (!empty($_POST['remonth']) && !empty($_POST['reday']) && !empty($_POST['reyear']))
- $sel_date=mktime(12, 0 , 0, $_POST['remonth'], $_POST['reday'], $_POST['reyear']);
+ $sel_date=mktime(12, 0 , 0, $_POST['remonth'], $_POST['reday'], $_POST['reyear']);
else
- $sel_date='';
+ $sel_date='';
$html->select_date($sel_date,'','','','',"addpaiement");
print ' ';
print ''.$langs->trans('Comments').' ';
@@ -243,17 +243,17 @@ if ($action == 'create' || $action == 'add_paiement')
print '';
print ''.$langs->trans('Numero').' ';
if ($conf->banque->enabled)
- {
- print ''.$langs->trans('Account').' ';
- $html->select_comptes(empty($_POST['accountid'])?'':$_POST['accountid'],'accountid',0,'',1);
- print ' ';
- }
+ {
+ print ''.$langs->trans('Account').' ';
+ $html->select_comptes(empty($_POST['accountid'])?'':$_POST['accountid'],'accountid',0,'',1);
+ print ' ';
+ }
else
- {
- print ' ';
- }
+ {
+ print ' ';
+ }
/*
- * Autres factures impayées
+ * Autres factures impayees
*/
$sql = 'SELECT f.rowid as facid,f.rowid as ref,f.facnumber,f.total_ttc,'.$db->pdate('f.datef').' as df';
$sql .= ', sum(pf.amount) as am';
@@ -261,79 +261,79 @@ if ($action == 'create' || $action == 'add_paiement')
$sql .= ' LEFT JOIN '.MAIN_DB_PREFIX.'paiementfourn_facturefourn as pf ON pf.fk_facturefourn = f.rowid';
$sql .= ' WHERE f.fk_soc = '.$facture->socid;
$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 validee, Statut=2 => annulee
$sql .= ' GROUP BY f.facnumber';
$resql = $db->query($sql);
if ($resql)
- {
- $num = $db->num_rows($resql);
- if ($num > 0)
- {
- $i = 0;
- print '';
- print $langs->trans('Invoices').' ';
- print ' \n";
+ }
+ $db->free($resql);
+ }
else
- {
- dolibarr_print_error($db);
- }
+ {
+ dolibarr_print_error($db);
+ }
/*
*
@@ -341,8 +341,8 @@ if ($action == 'create' || $action == 'add_paiement')
print ' ';
print '';
print '';
+ }
}
- }
}
/*
@@ -350,64 +350,64 @@ if ($action == 'create' || $action == 'add_paiement')
*/
if (! $_GET['action'] && ! $_POST['action'])
{
- if ($page == -1) $page = 0 ;
- $limit = $conf->liste_limit;
- $offset = $limit * $page ;
+ if ($page == -1) $page = 0 ;
+ $limit = $conf->liste_limit;
+ $offset = $limit * $page ;
- if (! $sortorder) $sortorder='DESC';
- if (! $sortfield) $sortfield='p.datep';
+ if (! $sortorder) $sortorder='DESC';
+ if (! $sortfield) $sortfield='p.datep';
- $sql = 'SELECT p.rowid, p.rowid as pid, '.$db->pdate('p.datep').' as dp, p.amount as pamount,';
- $sql.= ' f.rowid as facid, f.rowid as ref, f.facnumber, f.amount,';
- $sql.= ' s.rowid as socid, s.nom,';
- $sql.= ' c.libelle as paiement_type, p.num_paiement,';
- $sql.= ' ba.rowid as bid, ba.label';
- if (!$user->rights->societe->client->voir) $sql .= ", sc.fk_soc, sc.fk_user ";
- $sql.= ' FROM '.MAIN_DB_PREFIX.'paiementfourn AS p';
- if (!$user->rights->societe->client->voir) $sql .= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc";
- $sql.= ' LEFT JOIN '.MAIN_DB_PREFIX.'paiementfourn_facturefourn AS pf ON p.rowid=pf.fk_paiementfourn';
- $sql.= ' LEFT JOIN '.MAIN_DB_PREFIX.'facture_fourn AS f ON f.rowid=pf.fk_facturefourn ';
- $sql.= ' LEFT JOIN '.MAIN_DB_PREFIX.'c_paiement AS c ON p.fk_paiement = c.id';
- $sql.= ' LEFT JOIN '.MAIN_DB_PREFIX.'societe AS s ON s.rowid = f.fk_soc';
- $sql.= ' LEFT JOIN '.MAIN_DB_PREFIX.'bank as b ON p.fk_bank = b.rowid';
- $sql.= ' LEFT JOIN '.MAIN_DB_PREFIX.'bank_account as ba ON b.fk_account = ba.rowid';
- if (!$user->rights->societe->client->voir) $sql .= " WHERE s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id;
- if ($socid)
- {
- $sql .= ' WHERE f.fk_soc = '.$socid;
- }
- $sql .= ' ORDER BY '.$sortfield.' '.$sortorder;
- $sql .= $db->plimit($limit + 1 ,$offset);
-
- $resql = $db->query($sql);
- if ($resql)
- {
- $num = $db->num_rows($resql);
- $i = 0;
- $var=True;
-
- print_barre_liste($langs->trans('SupplierPayments'), $page, 'paiement.php','',$sortfield,$sortorder,'',$num);
- print '';
- print '';
- print_liste_field_titre($langs->trans('RefPayment'),'paiement.php','rowid','','','',$sortfield,$sortorder);
- print_liste_field_titre($langs->trans('Invoice'),'paiement.php','facnumber','','','',$sortfield,$sortorder);
- print_liste_field_titre($langs->trans('Date'),'paiement.php','dp','','','',$sortfield,$sortorder);
- print_liste_field_titre($langs->trans('ThirdParty'),'paiement.php','s.nom','','','',$sortfield,$sortorder);
- print_liste_field_titre($langs->trans('Type'),'paiement.php','c.libelle','','','',$sortfield,$sortorder);
- print_liste_field_titre($langs->trans('Account'),'paiement.php','ba.label','','','',$sortfield,$sortorder);
- print_liste_field_titre($langs->trans('AmountTTC'),'paiement.php','f.amount','','','align="right"',$sortfield,$sortorder);
- print ' ';
- print " \n";
-
- while ($i < min($num,$limit))
+ $sql = 'SELECT p.rowid, p.rowid as pid, '.$db->pdate('p.datep').' as dp, p.amount as pamount,';
+ $sql.= ' f.rowid as facid, f.rowid as ref, f.facnumber, f.amount,';
+ $sql.= ' s.rowid as socid, s.nom,';
+ $sql.= ' c.libelle as paiement_type, p.num_paiement,';
+ $sql.= ' ba.rowid as bid, ba.label';
+ if (!$user->rights->societe->client->voir) $sql .= ", sc.fk_soc, sc.fk_user ";
+ $sql.= ' FROM '.MAIN_DB_PREFIX.'paiementfourn AS p';
+ if (!$user->rights->societe->client->voir) $sql .= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc";
+ $sql.= ' LEFT JOIN '.MAIN_DB_PREFIX.'paiementfourn_facturefourn AS pf ON p.rowid=pf.fk_paiementfourn';
+ $sql.= ' LEFT JOIN '.MAIN_DB_PREFIX.'facture_fourn AS f ON f.rowid=pf.fk_facturefourn ';
+ $sql.= ' LEFT JOIN '.MAIN_DB_PREFIX.'c_paiement AS c ON p.fk_paiement = c.id';
+ $sql.= ' LEFT JOIN '.MAIN_DB_PREFIX.'societe AS s ON s.rowid = f.fk_soc';
+ $sql.= ' LEFT JOIN '.MAIN_DB_PREFIX.'bank as b ON p.fk_bank = b.rowid';
+ $sql.= ' LEFT JOIN '.MAIN_DB_PREFIX.'bank_account as ba ON b.fk_account = ba.rowid';
+ if (!$user->rights->societe->client->voir) $sql .= " WHERE s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id;
+ if ($socid)
{
+ $sql .= ' WHERE f.fk_soc = '.$socid;
+ }
+ $sql .= ' ORDER BY '.$sortfield.' '.$sortorder;
+ $sql .= $db->plimit($limit + 1 ,$offset);
+
+ $resql = $db->query($sql);
+ if ($resql)
+ {
+ $num = $db->num_rows($resql);
+ $i = 0;
+ $var=True;
+
+ print_barre_liste($langs->trans('SupplierPayments'), $page, 'paiement.php','',$sortfield,$sortorder,'',$num);
+ print '';
+ print '';
+ print_liste_field_titre($langs->trans('RefPayment'),'paiement.php','rowid','','','',$sortfield,$sortorder);
+ print_liste_field_titre($langs->trans('Invoice'),'paiement.php','facnumber','','','',$sortfield,$sortorder);
+ print_liste_field_titre($langs->trans('Date'),'paiement.php','dp','','','',$sortfield,$sortorder);
+ print_liste_field_titre($langs->trans('ThirdParty'),'paiement.php','s.nom','','','',$sortfield,$sortorder);
+ print_liste_field_titre($langs->trans('Type'),'paiement.php','c.libelle','','','',$sortfield,$sortorder);
+ print_liste_field_titre($langs->trans('Account'),'paiement.php','ba.label','','','',$sortfield,$sortorder);
+ print_liste_field_titre($langs->trans('AmountTTC'),'paiement.php','f.amount','','','align="right"',$sortfield,$sortorder);
+ print ' ';
+ print " \n";
+
+ while ($i < min($num,$limit))
+ {
$objp = $db->fetch_object($resql);
$var=!$var;
print '';
-
+
// Ref payment
print ''.img_object($langs->trans('ShowPayment'),'payment').' '.$objp->pid.' ';
-
+
// Ref invoice
print ''.dolibarr_trunc($objp->facnumber,12).' ';
@@ -426,13 +426,13 @@ if (! $_GET['action'] && ! $_POST['action'])
print ''.price($objp->pamount).' ';
print ' ';
$i++;
+ }
+ print "
";
+ }
+ else
+ {
+ dolibarr_print_error($db);
}
- print "
";
- }
- else
- {
- dolibarr_print_error($db);
- }
}
$db->close();