Gestion des nouveaux champs banque et emetteur

This commit is contained in:
Rodolphe Quiedeville 2006-12-19 11:06:47 +00:00
parent 16811c9cdb
commit c63d1c4aba

View File

@ -1,5 +1,5 @@
<?php <?php
/* Copyright (C) 2001-2004 Rodolphe Quiedeville <rodolphe@quiedeville.org> /* Copyright (C) 2001-2006 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* Copyright (C) 2003 Xavier DUTOIT <doli@sydesy.com> * Copyright (C) 2003 Xavier DUTOIT <doli@sydesy.com>
* Copyright (C) 2004-2006 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2004-2006 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2004 Christophe Combelles <ccomb@free.fr> * Copyright (C) 2004 Christophe Combelles <ccomb@free.fr>
@ -23,10 +23,10 @@
*/ */
/** /**
\file htdocs/compta/bank/ligne.php \file htdocs/compta/bank/ligne.php
\ingroup compta \ingroup compta
\brief Page édition d'une écriture bancaire \brief Page édition d'une écriture bancaire
\version $Revision$ \version $Revision$
*/ */
require("./pre.inc.php"); require("./pre.inc.php");
@ -37,13 +37,11 @@ if (!$user->rights->banque->modifier)
$langs->load("banks"); $langs->load("banks");
$langs->load("bills"); $langs->load("bills");
$rowid=isset($_GET["rowid"])?$_GET["rowid"]:$_POST["rowid"]; $rowid=isset($_GET["rowid"])?$_GET["rowid"]:$_POST["rowid"];
$orig_account=isset($_GET["orig_account"])?$_GET["orig_account"]:$_POST["orig_account"]; $orig_account=isset($_GET["orig_account"])?$_GET["orig_account"]:$_POST["orig_account"];
$html = new Form($db); $html = new Form($db);
/* /*
* Actions * Actions
*/ */
@ -86,38 +84,38 @@ if ($_POST["action"] == 'class')
if ($_POST["action"] == "update") if ($_POST["action"] == "update")
{ {
// Avant de modifier la date ou le montant, on controle si ce n'est pas encore rapproche // Avant de modifier la date ou le montant, on controle si ce n'est pas encore rapproche
$sql = "SELECT b.rappro FROM ".MAIN_DB_PREFIX."bank as b WHERE rowid=".$rowid; $sql = "SELECT b.rappro FROM ".MAIN_DB_PREFIX."bank as b WHERE rowid=".$rowid;
$result = $db->query($sql); $result = $db->query($sql);
if ($result) if ($result)
{ {
$objp = $db->fetch_object($result); $objp = $db->fetch_object($result);
if ($objp->rappro) if ($objp->rappro)
die ("Vous ne pouvez pas modifier une écriture déjà rapprochée"); die ("Vous ne pouvez pas modifier une écriture déjà rapprochée");
} }
$db->begin(); $db->begin();
$amount = price2num($_POST['amount']); $amount = price2num($_POST['amount']);
$dateop = $_POST["dateoyear"].'-'.$_POST["dateomonth"].'-'.$_POST["dateoday"]; $dateop = $_POST["dateoyear"].'-'.$_POST["dateomonth"].'-'.$_POST["dateoday"];
$dateval= $_POST["datevyear"].'-'.$_POST["datevmonth"].'-'.$_POST["datevday"]; $dateval= $_POST["datevyear"].'-'.$_POST["datevmonth"].'-'.$_POST["datevday"];
$sql = "UPDATE ".MAIN_DB_PREFIX."bank"; $sql = "UPDATE ".MAIN_DB_PREFIX."bank";
$sql.= " SET label='".$_POST["label"]."',"; $sql.= " SET label='".$_POST["label"]."',";
if (isset($_POST['amount'])) $sql.=" amount='$amount',"; if (isset($_POST['amount'])) $sql.=" amount='$amount',";
$sql.= " dateo = '".$dateop."', datev = '".$dateval."',"; $sql.= " dateo = '".$dateop."', datev = '".$dateval."',";
$sql.= " fk_account = ".$_POST['accountid']; $sql.= " fk_account = ".$_POST['accountid'];
$sql.= " WHERE rowid = ".$rowid; $sql.= " WHERE rowid = ".$rowid;
$result = $db->query($sql); $result = $db->query($sql);
if ($result) if ($result)
{ {
$db->commit(); $db->commit();
} }
else else
{ {
$db->rollback(); $db->rollback();
dolibarr_print_error($db); dolibarr_print_error($db);
} }
} }
if ($_POST["action"] == 'type') if ($_POST["action"] == 'type')
@ -126,26 +124,38 @@ if ($_POST["action"] == 'type')
$result = $db->query($sql); $result = $db->query($sql);
} }
if ($_POST["action"] == 'banque')
{
$sql = "UPDATE ".MAIN_DB_PREFIX."bank set banque='".addslashes($_POST["banque"])."' WHERE rowid = $rowid;";
$result = $db->query($sql);
}
if ($_POST["action"] == 'emetteur')
{
$sql = "UPDATE ".MAIN_DB_PREFIX."bank set emetteur='".addslashes($_POST["emetteur"])."' WHERE rowid = $rowid;";
$result = $db->query($sql);
}
if ($_POST["action"] == 'num_releve') if ($_POST["action"] == 'num_releve')
{ {
$num_rel=trim($_POST["num_rel"]); $num_rel=trim($_POST["num_rel"]);
$db->begin(); $db->begin();
$sql = "UPDATE ".MAIN_DB_PREFIX."bank"; $sql = "UPDATE ".MAIN_DB_PREFIX."bank";
$sql.= " SET num_releve=".($num_rel?"'".$num_rel."'":"null"); $sql.= " SET num_releve=".($num_rel?"'".$num_rel."'":"null");
$sql.= " WHERE rowid = ".$rowid; $sql.= " WHERE rowid = ".$rowid;
$result = $db->query($sql); $result = $db->query($sql);
if ($result) if ($result)
{
$db->commit();
}
else
{ {
$db->rollback(); $db->commit();
dolibarr_print_error($db); }
} else
{
$db->rollback();
dolibarr_print_error($db);
}
} }
@ -193,241 +203,263 @@ dolibarr_fiche_head($head, $hselected, $langs->trans('LineRecord').': '.$_GET["r
$sql = "SELECT b.rowid,".$db->pdate("b.dateo")." as do,".$db->pdate("b.datev")." as dv, b.amount, b.label, b.rappro,"; $sql = "SELECT b.rowid,".$db->pdate("b.dateo")." as do,".$db->pdate("b.datev")." as dv, b.amount, b.label, b.rappro,";
$sql.= " b.num_releve, b.fk_user_author, b.num_chq, b.fk_type, b.fk_account"; $sql.= " b.num_releve, b.fk_user_author, b.num_chq, b.fk_type, b.fk_account";
$sql.= ",b.emetteur,b.banque";
$sql.= " FROM ".MAIN_DB_PREFIX."bank as b"; $sql.= " FROM ".MAIN_DB_PREFIX."bank as b";
$sql.= " WHERE rowid=".$rowid; $sql.= " WHERE rowid=".$rowid;
$sql.= " ORDER BY dateo ASC"; $sql.= " ORDER BY dateo ASC";
$result = $db->query($sql); $result = $db->query($sql);
if ($result) if ($result)
{ {
$i = 0; $total = 0; $i = 0; $total = 0;
if ($db->num_rows($result)) if ($db->num_rows($result))
{ {
// Confirmations // Confirmations
if ($_GET["action"] == 'delete_categ') if ($_GET["action"] == 'delete_categ')
{ {
$html->form_confirm("ligne.php?rowid=".$_GET["rowid"]."&amp;cat1=".$_GET["fk_categ"]."&amp;orig_account=".$orig_account,"Supprimer dans la catégorie","Etes-vous sûr de vouloir supprimer le classement dans la catégorie ?","confirm_delete_categ"); $html->form_confirm("ligne.php?rowid=".$_GET["rowid"]."&amp;cat1=".$_GET["fk_categ"]."&amp;orig_account=".$orig_account,"Supprimer dans la catégorie","Etes-vous sûr de vouloir supprimer le classement dans la catégorie ?","confirm_delete_categ");
print '<br>'; print '<br>';
} }
print '<table class="border" width="100%">'; print '<table class="border" width="100%">';
$objp = $db->fetch_object($result); $objp = $db->fetch_object($result);
$total = $total + $objp->amount; $total = $total + $objp->amount;
$acct=new Account($db,$objp->fk_account); $acct=new Account($db,$objp->fk_account);
$acct->fetch($objp->fk_account); $acct->fetch($objp->fk_account);
$account = $acct->id; $account = $acct->id;
$links=$acct->get_url($rowid); $links=$acct->get_url($rowid);
// Tableau sur 4 colonne si déja rapproché, sinon sur 5 colonnes // Tableau sur 4 colonne si déja rapproché, sinon sur 5 colonnes
// Author // Author
print '<tr><td width="20%">'.$langs->trans("Author")."</td>"; print '<tr><td width="20%">'.$langs->trans("Author")."</td>";
if ($objp->fk_user_author) if ($objp->fk_user_author)
{ {
$author=new User($db,$objp->fk_user_author); $author=new User($db,$objp->fk_user_author);
$author->fetch(); $author->fetch();
print '<td colspan="4"><a href="'.DOL_URL_ROOT.'/user/fiche.php?id='.$author->id.'">'; print '<td colspan="4"><a href="'.DOL_URL_ROOT.'/user/fiche.php?id='.$author->id.'">';
print img_object($langs->trans("ShowUser"),'user').' '.$author->fullname.'</a></td>'; print img_object($langs->trans("ShowUser"),'user').' '.$author->fullname.'</a></td>';
} }
else else
{ {
print '<td colspan="4">&nbsp;</td>'; print '<td colspan="4">&nbsp;</td>';
} }
print "</tr>"; print "</tr>";
$i++; $i++;
print "<form name='update' method=\"post\" action=\"ligne.php?rowid=$objp->rowid\">"; print "<form name='update' method=\"post\" action=\"ligne.php?rowid=$objp->rowid\">";
print "<input type=\"hidden\" name=\"action\" value=\"update\">"; print "<input type=\"hidden\" name=\"action\" value=\"update\">";
print "<input type=\"hidden\" name=\"orig_account\" value=\"".$orig_account."\">"; print "<input type=\"hidden\" name=\"orig_account\" value=\"".$orig_account."\">";
// Account // Account
print "<tr><td>".$langs->trans("Account")."</td>"; print "<tr><td>".$langs->trans("Account")."</td>";
/* /*
if (! $objp->rappro) if (! $objp->rappro)
{ {
if ($user->rights->banque->modifier && $acct->type != 2 && $acct->rappro) // Si non compte cash et si rapprochable if ($user->rights->banque->modifier && $acct->type != 2 && $acct->rappro) // Si non compte cash et si rapprochable
{ {
print '<td colspan="3">'; print '<td colspan="3">';
$html->select_comptes($acct->id,'accountid',0); $html->select_comptes($acct->id,'accountid',0);
print '</td>'; print '</td>';
//print '<td align="center">'; //print '<td align="center">';
//print '<input type="submit" class="button" name="conciliate" value="'.$langs->trans("Conciliate").'">'; //print '<input type="submit" class="button" name="conciliate" value="'.$langs->trans("Conciliate").'">';
//print '</td>'; //print '</td>';
} }
else else
{ {
print '<td colspan="3">'; print '<td colspan="3">';
$html->select_comptes($acct->id,'accountid',0); $html->select_comptes($acct->id,'accountid',0);
print '</td>'; print '</td>';
} }
print '<td align="center"><input type="submit" class="button" value="'.$langs->trans("Update").'"></td>'; print '<td align="center"><input type="submit" class="button" value="'.$langs->trans("Update").'"></td>';
} }
else else
{ {
*/ */
print '<td colspan="4">'; print '<td colspan="4">';
print '<a href="account.php?account='.$acct->id.'">'.img_object($langs->trans("ShowAccount"),'account').' '.$acct->label.'</a>'; print '<a href="account.php?account='.$acct->id.'">'.img_object($langs->trans("ShowAccount"),'account').' '.$acct->label.'</a>';
print '<input type="hidden" name="accountid" value="'.$acct->id.'">'; print '<input type="hidden" name="accountid" value="'.$acct->id.'">';
print '</td>'; print '</td>';
/* /*
} }
*/ */
print '</tr>'; print '</tr>';
// Date ope // Date ope
print '<tr><td>'.$langs->trans("DateOperation").'</td>'; print '<tr><td>'.$langs->trans("DateOperation").'</td>';
if (! $objp->rappro) if (! $objp->rappro)
{ {
print '<td colspan="3">'; print '<td colspan="3">';
$html->select_date($objp->do,'dateo','','','','update'); $html->select_date($objp->do,'dateo','','','','update');
print '</td><td align="center"><input type="submit" class="button" value="'.$langs->trans("Update").'"></td>'; print '</td><td align="center"><input type="submit" class="button" value="'.$langs->trans("Update").'"></td>';
} }
else else
{ {
print '<td colspan="4">'; print '<td colspan="4">';
print dolibarr_print_date($objp->do); print dolibarr_print_date($objp->do);
} }
print '</td></tr>'; print '</td></tr>';
// Value date // Value date
print "<tr><td>".$langs->trans("DateValue")."</td>"; print "<tr><td>".$langs->trans("DateValue")."</td>";
if (! $objp->rappro) if (! $objp->rappro)
{ {
print '<td colspan="3">'; print '<td colspan="3">';
$html->select_date($objp->dv,'datev','','','','update'); $html->select_date($objp->dv,'datev','','','','update');
print ' &nbsp; '; print ' &nbsp; ';
print '<a href="ligne.php?action=dvprev&amp;account='.$_GET["account"].'&amp;rowid='.$objp->rowid.'">'; print '<a href="ligne.php?action=dvprev&amp;account='.$_GET["account"].'&amp;rowid='.$objp->rowid.'">';
print img_edit_remove() . "</a> "; print img_edit_remove() . "</a> ";
print '<a href="ligne.php?action=dvnext&amp;account='.$_GET["account"].'&amp;rowid='.$objp->rowid.'">'; print '<a href="ligne.php?action=dvnext&amp;account='.$_GET["account"].'&amp;rowid='.$objp->rowid.'">';
print img_edit_add() ."</a>"; print img_edit_add() ."</a>";
print '</td><td align="center"><input type="submit" class="button" value="'.$langs->trans("Update").'">'; print '</td><td align="center"><input type="submit" class="button" value="'.$langs->trans("Update").'">';
} }
else else
{ {
print '<td colspan="4">'; print '<td colspan="4">';
print dolibarr_print_date($objp->dv); print dolibarr_print_date($objp->dv);
} }
print "</td></tr>"; print "</td></tr>";
// Description // Description
print "<tr><td>".$langs->trans("Label")."</td>"; print "<tr><td>".$langs->trans("Label")."</td>";
if (! $objp->rappro) if (! $objp->rappro)
{ {
print '<td colspan="3">'; print '<td colspan="3">';
print '<input name="label" class="flat" value="'; print '<input name="label" class="flat" value="';
if (eregi('^\((.*)\)$',$objp->label,$reg)) if (eregi('^\((.*)\)$',$objp->label,$reg))
{ {
// Label générique car entre parenthèses. On l'affiche en le traduisant // Label générique car entre parenthèses. On l'affiche en le traduisant
print $langs->trans($reg[1]); print $langs->trans($reg[1]);
} }
else else
{ {
print $objp->label; print $objp->label;
} }
print '" size="50">'; print '" size="50">';
print '</td>'; print '</td>';
print '<td align="center"><input type="submit" class="button" value="'.$langs->trans("Update").'">'; print '<td align="center"><input type="submit" class="button" value="'.$langs->trans("Update").'">';
} }
else else
{ {
print '<td colspan="4">'; print '<td colspan="4">';
if (eregi('^\((.*)\)$',$objp->label,$reg)) if (eregi('^\((.*)\)$',$objp->label,$reg))
{ {
// Label générique car entre parenthèses. On l'affiche en le traduisant // Label générique car entre parenthèses. On l'affiche en le traduisant
print $langs->trans($reg[1]); print $langs->trans($reg[1]);
} }
else else
{ {
print $objp->label; print $objp->label;
} }
} }
print '</td></tr>'; print '</td></tr>';
// Affiche liens // Affiche liens
if (sizeof($links)) { if (sizeof($links)) {
print "<tr><td>".$langs->trans("Links")."</td>"; print "<tr><td>".$langs->trans("Links")."</td>";
print '<td colspan="3">'; print '<td colspan="3">';
foreach($links as $key=>$val) foreach($links as $key=>$val)
{ {
if ($key) print '<br>'; if ($key) print '<br>';
if ($links[$key]['type']=='payment') { if ($links[$key]['type']=='payment') {
print '<a href="'.DOL_URL_ROOT.'/compta/paiement/fiche.php?id='.$links[$key]['url_id'].'">'; print '<a href="'.DOL_URL_ROOT.'/compta/paiement/fiche.php?id='.$links[$key]['url_id'].'">';
print img_object($langs->trans('ShowPayment'),'payment').' '; print img_object($langs->trans('ShowPayment'),'payment').' ';
print $langs->trans("Payment"); print $langs->trans("Payment");
print '</a>'; print '</a>';
} }
else if ($links[$key]['type']=='payment_supplier') { else if ($links[$key]['type']=='payment_supplier') {
print '<a href="'.DOL_URL_ROOT.'/fourn/paiement/fiche.php?id='.$links[$key]['url_id'].'">'; print '<a href="'.DOL_URL_ROOT.'/fourn/paiement/fiche.php?id='.$links[$key]['url_id'].'">';
print img_object($langs->trans('ShowPayment'),'payment').' '; print img_object($langs->trans('ShowPayment'),'payment').' ';
print $langs->trans("Payment"); print $langs->trans("Payment");
print '</a>'; print '</a>';
} }
else if ($links[$key]['type']=='company') { else if ($links[$key]['type']=='company') {
print '<a href="'.DOL_URL_ROOT.'/compta/fiche.php?socid='.$links[$key]['url_id'].'">'; print '<a href="'.DOL_URL_ROOT.'/compta/fiche.php?socid='.$links[$key]['url_id'].'">';
print img_object($langs->trans('ShowCustomer'),'company').' '; print img_object($langs->trans('ShowCustomer'),'company').' ';
print $links[$key]['label']; print $links[$key]['label'];
print '</a>'; print '</a>';
} }
else { else {
print '<a href="'.$links[$key]['url'].$links[$key]['url_id'].'">'; print '<a href="'.$links[$key]['url'].$links[$key]['url_id'].'">';
print $links[$key]['label']; print $links[$key]['label'];
print '</a>'; print '</a>';
} }
} }
print '</td><td>&nbsp;</td></tr>'; print '</td><td>&nbsp;</td></tr>';
} }
// Amount // Amount
print "<tr><td>".$langs->trans("Amount")."</td>"; print "<tr><td>".$langs->trans("Amount")."</td>";
if (! $objp->rappro) if (! $objp->rappro)
{ {
print '<td colspan="3">'; print '<td colspan="3">';
print '<input name="amount" class="flat" size="10" value="'.price($objp->amount).'"> '.$langs->trans("Currency".$conf->monnaie); print '<input name="amount" class="flat" size="10" value="'.price($objp->amount).'"> '.$langs->trans("Currency".$conf->monnaie);
print '</td><td align="center"><input type="submit" class="button" value="'.$langs->trans("Update").'">'; print '</td><td align="center"><input type="submit" class="button" value="'.$langs->trans("Update").'">';
} }
else else
{ {
print '<td colspan="4">'; print '<td colspan="4">';
print price($objp->amount); print price($objp->amount);
} }
print "</td></tr>"; print "</td></tr>";
print "</form>"; print "</form>";
// Type paiement // Type paiement
print "<tr><td>".$langs->trans("Type")." / ".$langs->trans("Numero")."</td><td colspan=\"3\">"; print "<tr><td>".$langs->trans("Type")." / ".$langs->trans("Numero")."</td><td colspan=\"3\">";
print "<form method=\"post\" action=\"ligne.php?rowid=$objp->rowid\">"; print "<form method=\"post\" action=\"ligne.php?rowid=$objp->rowid\">";
print '<input type="hidden" name="action" value="type">'; print '<input type="hidden" name="action" value="type">';
print "<input type=\"hidden\" name=\"orig_account\" value=\"".$orig_account."\">"; print "<input type=\"hidden\" name=\"orig_account\" value=\"".$orig_account."\">";
print $html->select_types_paiements($objp->fk_type,"value",'',2); print $html->select_types_paiements($objp->fk_type,"value",'',2);
print '<input type="text" class="flat" name="num_chq" value="'.(empty($objp->num_chq) ? '' : $objp->num_chq).'">'; print '<input type="text" class="flat" name="num_chq" value="'.(empty($objp->num_chq) ? '' : $objp->num_chq).'">';
print '</td><td align="center"><input type="submit" class="button" value="'.$langs->trans("Update").'">'; print '</td><td align="center"><input type="submit" class="button" value="'.$langs->trans("Update").'">';
print "</form>"; print "</form>";
print "</td></tr>"; print "</td></tr>";
// Releve rappro // Banque
if ($acct->rappro) // Si compte rapprochable print "<tr><td>".$langs->trans("Bank")."</td><td colspan=\"3\">";
print "<form method=\"post\" action=\"ligne.php?rowid=$objp->rowid\">";
print '<input type="hidden" name="action" value="banque">';
print "<input type=\"hidden\" name=\"orig_account\" value=\"".$orig_account."\">";
print '<input type="text" class="flat" size="40" name="banque" value="'.(empty($objp->banque) ? '' : stripslashes($objp->banque)).'">';
print '</td><td align="center"><input type="submit" class="button" value="'.$langs->trans("Update").'">';
print "</form>";
print "</td></tr>";
// Emetteur
print "<tr><td>".$langs->trans("CheckTransmitter")."</td><td colspan=\"3\">";
print "<form method=\"post\" action=\"ligne.php?rowid=$objp->rowid\">";
print '<input type="hidden" name="action" value="emetteur">';
print "<input type=\"hidden\" name=\"orig_account\" value=\"".$orig_account."\">";
print '<input type="text" class="flat" size="40" name="emetteur" value="'.(empty($objp->emetteur) ? '' : stripslashes($objp->emetteur)).'">';
print '</td><td align="center"><input type="submit" class="button" value="'.$langs->trans("Update").'">';
print "</form>";
print "</td></tr>";
// Releve rappro
if ($acct->rappro) // Si compte rapprochable
{ {
print "<tr><td>".$langs->trans("Conciliation")."</td>"; print "<tr><td>".$langs->trans("Conciliation")."</td>";
print "<form method=\"post\" action=\"ligne.php?rowid=$objp->rowid\">"; print "<form method=\"post\" action=\"ligne.php?rowid=$objp->rowid\">";
print '<input type="hidden" name="action" value="num_releve">'; print '<input type="hidden" name="action" value="num_releve">';
print "<input type=\"hidden\" name=\"orig_account\" value=\"".$orig_account."\">"; print "<input type=\"hidden\" name=\"orig_account\" value=\"".$orig_account."\">";
print '<td colspan="3">'; print '<td colspan="3">';
print $langs->trans("AccountStatement").' <input name="num_rel" class="flat" value="'.$objp->num_releve.'">'; print $langs->trans("AccountStatement").' <input name="num_rel" class="flat" value="'.$objp->num_releve.'">';
print '</td><td align="center"><input type="submit" class="button" value="'.$langs->trans("Update").'"></td>'; print '</td><td align="center"><input type="submit" class="button" value="'.$langs->trans("Update").'"></td>';
print '</form>'; print '</form>';
print '</tr>'; print '</tr>';
} }
print "</table>"; print "</table>";
} }
$db->free($result); $db->free($result);
} }
print '</div>'; print '</div>';
@ -490,7 +522,6 @@ if ($result)
} }
print "</table>"; print "</table>";
$db->close(); $db->close();
llxFooter('$Date$ - $Revision$'); llxFooter('$Date$ - $Revision$');