* Copyright (C) 2003 Xavier DUTOIT * Copyright (C) 2004 Laurent Destailleur * Copyright (C) 2004 Christophe Combelles * * 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 * 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 * 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 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * * $Id$ * $Source$ * */ /*! \file htdocs/compta/bank/ligne.php \ingroup compta \brief Page édition d'une écriture bancaire \version $Revision$ */ require("./pre.inc.php"); if (!$user->rights->banque->modifier) accessforbidden(); llxHeader(); $rowid=isset($_GET["rowid"])?$_GET["rowid"]:$_POST["rowid"]; if ($_GET["action"] == 'dvnext') { $ac = new Account($db); $ac->datev_next($_GET["rowid"]); } if ($_GET["action"] == 'dvprev') { $ac = new Account($db); $ac->datev_previous($_GET["rowid"]); } if ($_POST["action"] == 'confirm_delete_categ' && $_POST["confirm"] == "yes") { $sql = "DELETE FROM ".MAIN_DB_PREFIX."bank_class WHERE lineid = $rowid AND fk_categ = ".$_GET["cat1"]; if (! $db->query($sql)) { dolibarr_print_error($db); } } if ($_POST["action"] == 'class') { $sql = "DELETE FROM ".MAIN_DB_PREFIX."bank_class WHERE lineid = $rowid AND fk_categ = ".$_POST["cat1"]; if (! $db->query($sql)) { dolibarr_print_error($db); } $sql = "INSERT INTO ".MAIN_DB_PREFIX."bank_class (lineid, fk_categ) VALUES (".$_GET["rowid"].", ".$_POST["cat1"].")"; if (! $db->query($sql)) { dolibarr_print_error($db); } } if ($_POST["action"] == $langs->trans("Update")) { // Avant de modifier la date ou le montant, on controle si ce n'est pas encore rapproche if (!empty($_POST['amount'])) { $sql = "SELECT b.rappro FROM ".MAIN_DB_PREFIX."bank as b WHERE rowid=$rowid"; $result = $db->query($sql); if ($result) { $var=True; $amount = str_replace(' ','',$_POST['amount']); $num = $db->num_rows(); $objp = $db->fetch_object($result); if ($objp->rappro) die ("Vous ne pouvez pas modifier une écriture déjà rapprochée"); $sql = "UPDATE ".MAIN_DB_PREFIX."bank set label='".$_POST["label"]."' , dateo = '".$_POST["date"]."', amount='$amount' WHERE rowid = $rowid;"; } } else $sql = "UPDATE ".MAIN_DB_PREFIX."bank set label='".$_POST["label"]."' WHERE rowid = $rowid;"; $result = $db->query($sql); } if ($_POST["action"] == 'type') { $sql = "UPDATE ".MAIN_DB_PREFIX."bank set fk_type='".$_POST["value"]."' WHERE rowid = $rowid;"; $result = $db->query($sql); } if ($_POST["action"] == 'num_releve') { $sql = "UPDATE ".MAIN_DB_PREFIX."bank set num_releve=".$_POST["num_rel"]." WHERE rowid = $rowid;"; $result = $db->query($sql); } $sql = "SELECT rowid, label FROM ".MAIN_DB_PREFIX."bank_categ;"; $result = $db->query($sql); if ($result) { $var=True; $num = $db->num_rows(); $i = 0; $options = ""; while ($i < $num) { $obj = $db->fetch_object($result); $options .= "\n"; $i++; } $db->free(); } print_titre("Edition de la ligne"); if ($_GET["action"] == 'delete_categ') { $html = new Form($db); $html->form_confirm("ligne.php?rowid=".$_GET["rowid"]."&cat1=".$_GET["fk_categ"],"Supprimer dans la catégorie","Etes-vous sûr de vouloir supprimer le classement dans la catégorie ?","confirm_delete_categ"); } $var=False; print ''; print ""; print ''; print ""; print ""; print ""; print ""; print "\n"; $sql = "SELECT b.rowid,".$db->pdate("b.dateo")." as do,".$db->pdate("b.datev")." as dv, b.amount, b.label, b.rappro, b.num_releve, b.author, b.num_chq, b.fk_type, fk_account"; $sql .= " FROM ".MAIN_DB_PREFIX."bank as b WHERE rowid=$rowid"; $sql .= " ORDER BY dateo ASC"; $result = $db->query($sql); if ($result) { $i = 0; $total = 0; if ($db->num_rows()) { $objp = $db->fetch_object($result); $total = $total + $objp->amount; $acct=new Account($db,$objp->fk_account); $acct->fetch($objp->fk_account); $account = $acct->id; print ""; print "\n"; print ""; if ($objp->amount < 0) { print "\n"; } else { print "\n"; } print ""; print ""; print ""; print ""; print '\n"; print '"; print ''; print ""; print ""; print "rowid\">"; print "trans("Update")."\">"; print ""; print ""; if (!$objp->rappro) { print ""; print ""; print ""; print ""; } print ""; print "rowid\">"; print ''; print ""; print ""; print ""; // Categorie print ""; print ""; print "'; print ""; print ""; $i++; } $db->free(); } print "
'.$langs->trans("Date").''.$langs->trans("Description").'".$langs->trans("Debit")."".$langs->trans("Credit")."Releve".$langs->trans("Author")."
".strftime("%d %b %Y",$objp->do)."$objp->label".price($objp->amount * -1)."  ".price($objp->amount)."num_releve&ve=1&account=$account\">$objp->num_releve$objp->author
'.$langs->trans("DateValue").''.strftime("%d %b %Y",$objp->dv)."'; print img_previous() . " "; print ''; print img_next() ."
".$langs->trans("Account")."".$acct->label."
 "; print "
rowid\">"; print ''; print '"; print $objp->num_chq?" - $objp->num_chq":''; print "trans("Update")."\">"; print "
"; print "
".$langs->trans("Label").""; print ''; print "trans("Update")."\">
".$langs->trans("Date").""; print 'do).'">'; print "trans("Update")."\">
".$langs->trans("Amount").""; print ''; print "trans("Update")."\">
Relevé"; print ''; print "trans("Update")."\">
".$langs->trans("Category").""; print " "; print '
"; print "
Classé dans:
"; print ''; print ""; print ''; print "\n"; $sql = "SELECT c.label, c.rowid"; $sql .= " FROM ".MAIN_DB_PREFIX."bank_class as a, ".MAIN_DB_PREFIX."bank_categ as c WHERE a.lineid=$rowid AND a.fk_categ = c.rowid "; $sql .= " ORDER BY c.label"; $result = $db->query($sql); if ($result) { $var=True; $num = $db->num_rows(); $i = 0; $total = 0; while ($i < $num) { $objp = $db->fetch_object($result); $var=!$var; print ""; print ""; print ""; print ""; print ""; $i++; } $db->free(); } print "
'.$langs->trans("Description").'
$objp->labelrowid\">voirrowid\">".img_delete($langs->trans("Remove"))."
"; $db->close(); llxFooter("Dernière modification $Date$ révision $Revision$"); ?>