* Copyright (C) 2003 Xavier DUTOIT * Copyright (C) 2004-2005 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(); $langs->load("banks"); llxHeader(); $rowid=isset($_GET["rowid"])?$_GET["rowid"]:$_POST["rowid"]; $html = new Form($db); /* * Actions */ 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"] == "update") { // 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; $result = $db->query($sql); if ($result) { $objp = $db->fetch_object($result); if ($objp->rappro) die ("Vous ne pouvez pas modifier une écriture déjà rapprochée"); } if (!empty($_POST['amount'])) { $amount = str_replace(' ','',$_POST['amount']); $dateop = $_POST["reyear"].'-'.$_POST["remonth"].'-'.$_POST["reday"]; $sql = "UPDATE ".MAIN_DB_PREFIX."bank set label='".$_POST["label"]."', dateo = '".$dateop."', amount='$amount' WHERE rowid = $rowid;"; } else $sql = "UPDATE ".MAIN_DB_PREFIX."bank set label='".$_POST["label"]."', dateo = '".$dateop."' WHERE rowid = $rowid;"; $result = $db->query($sql); if (! $result) { dolibarr_print_error($db); } } if ($_POST["action"] == 'type') { $sql = "UPDATE ".MAIN_DB_PREFIX."bank set fk_type='".$_POST["value"]."', num_chq='".$_POST["num_chq"]."' 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); } // On initialise la liste des categories $sql = "SELECT rowid, label FROM ".MAIN_DB_PREFIX."bank_categ;"; $result = $db->query($sql); if ($result) { $var=True; $num = $db->num_rows($result); $i = 0; $options = ""; while ($i < $num) { $obj = $db->fetch_object($result); $options .= "\n"; $i++; } $db->free($result); } print_titre("Edition de l'écriture bancaire"); if ($_GET["action"] == 'delete_categ') { $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 ''; $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, 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($result)) { $objp = $db->fetch_object($result); $total = $total + $objp->amount; $acct=new Account($db,$objp->fk_account); $acct->fetch($objp->fk_account); $account = $acct->id; // Account print ""; print "rowid\">"; print ""; // Date if (! $objp->rappro) { print ""; print ""; } // Value date print ""; print '\n"; print '"; print ''; // Description print ""; print ""; // Amount if (! $objp->rappro) { print ""; print ""; } print ""; print ""; print "rowid\">"; print ''; print ""; print ""; print ""; // Author print ""; if ($objp->fk_user_author) { $author=new User($db,$objp->fk_user_author); $author->fetch(); print ""; } else { print ""; } print ""; $i++; } $db->free($result); } print "
".$langs->trans("Account")."".$acct->label."
".$langs->trans("Date").""; $html->select_date($objp->do); //print 'do).'">'; print "  trans("Update")."\">
'.$langs->trans("DateValue").''.strftime("%d %b %Y",$objp->dv)."'; print img_previous() . " "; print ''; print img_next() ."
".$langs->trans("Label").""; print ''; print "  trans("Update")."\">
".$langs->trans("Amount").""; print ''; print "  trans("Update")."\">
".$langs->trans("Type").""; print "
rowid\">"; print ''; print $html->select_types_paiements($objp->fk_type,"value"); print ''; print "  trans("Update")."\">"; print "
"; print "
".$langs->trans("AccountStatement").""; print ''; print "  trans("Update")."\">
".$langs->trans("Author")."".$author->fullname." 
"; print '
'; // Liste les categories print ''; print ""; print ""; print "'; print ""; print ""; $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($result); $i = 0; $total = 0; while ($i < $num) { $objp = $db->fetch_object($result); $var=!$var; print ""; print ""; print ""; print ""; print ""; $i++; } $db->free($result); } print "
".$langs->trans("Categories").""; print " "; print '
$objp->labelrowid\">voirrowid\">".img_delete($langs->trans("Remove"))."
"; $db->close(); llxFooter('$Date$ - $Revision$'); ?>