From 961145426632bd1f9452b6c5c814fe6c62876516 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sun, 8 May 2005 20:35:07 +0000 Subject: [PATCH] =?UTF-8?q?Fix:=20L'id=20du=20user=20de=20rapprochement=20?= =?UTF-8?q?n'=E9tait=20pas=20sauvegard=E9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- htdocs/compta/bank/rappro.php | 425 ++++++++++++++++++---------------- 1 file changed, 223 insertions(+), 202 deletions(-) diff --git a/htdocs/compta/bank/rappro.php b/htdocs/compta/bank/rappro.php index 5222c58b026..237ba7b3766 100644 --- a/htdocs/compta/bank/rappro.php +++ b/htdocs/compta/bank/rappro.php @@ -44,225 +44,246 @@ llxHeader(); */ if ($_POST["action"] == 'rappro') { - if ($_POST["num_releve"] > 0) { - + if ($_POST["num_releve"] > 0) + { + $db->begin(); + $valrappro=1; - $sql = "UPDATE ".MAIN_DB_PREFIX."bank set rappro=$valrappro, num_releve=".$_POST["num_releve"]; - if ($_POST["rappro"]) { - # Si on fait un rapprochement, le user de rapprochement est inclus dans l'update - $sql .= ", fk_user_rappro=".$user->id; - } - $sql .= " WHERE rowid=".$_POST["rowid"]; + $sql = "UPDATE ".MAIN_DB_PREFIX."bank"; + $sql.= " set rappro=".$valrappro.", num_releve=".$_POST["num_releve"].","; + $sql.= " fk_user_rappro=".$user->id; + $sql.= " WHERE rowid=".$_POST["rowid"]; $result = $db->query($sql); - if ($result) { - if ($cat1 && $_POST["action"]) { + if ($result) + { + if ($cat1 && $_POST["action"]) + { $sql = "INSERT INTO ".MAIN_DB_PREFIX."bank_class (lineid, fk_categ) VALUES ($rowid, $cat1)"; $result = $db->query($sql); - } - } else { - dolibarr_print_error($db); - } - } - else { - $msg="Erreur: Saisissez le relevé qui référence la transaction pour la rapprocher."; - } - } - - /* - * Action suppression ecriture - */ - if ($_GET["action"] == 'del') { - $sql = "DELETE FROM ".MAIN_DB_PREFIX."bank WHERE rowid=".$_GET["rowid"]; - $result = $db->query($sql); - if (! $result) { - dolibarr_print_error($db); - } - } - - $sql = "SELECT rowid, label FROM ".MAIN_DB_PREFIX."bank_categ ORDER BY label"; - $result = $db->query($sql); - $options=""; - if ($result) { - $var=True; - $num = $db->num_rows($result); - $i = 0; - while ($i < $num) { - if ($options == "") { $options = ""; } - $obj = $db->fetch_object($result); - $options .= "\n"; $i++; - } - $db->free($result); - } - - - /* - * Affichage liste des transactions à rapprocher - */ - $acct = new Account($db); - $acct->fetch($_GET["account"]); - - $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.num_chq, b.fk_type as type"; - $sql .= " FROM ".MAIN_DB_PREFIX."bank as b WHERE rappro=0 AND fk_account=".$_GET["account"]; - $sql .= " ORDER BY dateo"; - $sql .= " ASC LIMIT ".$conf->liste_limit; - - $result = $db->query($sql); - if ($result) - { - $var=True; - $num = $db->num_rows($result); - - if ($num == 0) { - header("Location: /compta/bank/account.php?account=".$_GET["account"]); - exit; - } - else { - - print_titre('Rapprochement compte bancaire : '.$acct->label.''); - print '
'; - - if ($msg) { - print "$msg

"; - } - - // Affiche nom des derniers relevés - $nbmax=5; - $liste=""; - - $sql = "SELECT distinct num_releve FROM ".MAIN_DB_PREFIX."bank"; - $sql.= " WHERE fk_account=".$_GET["account"]; - $sql.= " ORDER BY num_releve DESC"; - $sql.= " LIMIT ".($nbmax+1); - print $langs->trans("LastAccountStatements").' : '; - $resultr=$db->query($sql); - if ($resultr) - { - $numr=$db->num_rows($resultr); - $i=0; - while (($i < $numr) && ($i < $nbmax)) + + if ($result) { - $objr = $db->fetch_object($resultr); - $last_releve = $objr->num_releve; - $i++; - $liste=''.$objr->num_releve.'   '.$liste; - } - if ($num >= $nbmax) $liste="...   ".$liste; - print "$liste"; - if ($num > 0) print '

'; - else print $langs->trans("None").'

'; - } - else - { - dolibarr_print_error($db); - } - - print ''; - print ""; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print "\n"; - } - - $i = 0; - while ($i < $num) - { - $objp = $db->fetch_object($result); - - $var=!$var; - print ""; - print ''; - print ""; - print ""; - print "rowid."\">"; - - print ''; - print ''; - print ''; - print ''; - - if ($objp->amount < 0) - { - print "\n"; - } - else - { - print "\n"; - } - - if ($objp->rappro) - { - // Si ligne déjà rapprochée, on affiche relevé. - print ""; - } - else - { - // Si pas encore rapproché - if ($user->rights->banque->modifier) - { - print '"; + $db->commit(); } else { - print ""; + $db->rollback(); + dolibarr_print_error($db); } } - - - // Affiche bouton "Rapprocher" - if ($objp->do <= mktime() ) { - print ""; - print ""; + else + { + $db->commit(); } - else { - print ""; - } - - print ""; - - print ""; - $i++; } - $db->free(); + else + { + $db->rollback(); + dolibarr_print_error($db); + } + } + else { + $msg="Erreur: Saisissez le relevé qui référence la transaction pour la rapprocher."; + } +} - if ($num != 0) { - print "
'.$langs->trans("Date").''.$langs->trans("DateValue").''.$langs->trans("Type").''.$langs->trans("Description").''.$langs->trans("Debit").''.$langs->trans("Credit").''.$langs->trans("Action").''.$langs->trans("AccountStatement").' (Ex: YYYYMM)
'.dolibarr_print_date($objp->do).''.dolibarr_print_date($objp->dv).''.$objp->type.($objp->num_chq?' '.$objp->num_chq:'').''.$objp->label.'".price($objp->amount * -1)."  ".price($objp->amount)."num_releve&account=$acct->id\">$objp->num_releve'; - - print ''; - print img_edit(); - print '   '; - - if ($objp->do <= mktime() ) { - print ''; - print img_delete(); - print ""; - } - else { - print " "; // On n'empeche la suppression car le raprochement ne pourra se faire qu'après la date passée et que l'écriture apparaissent bien sur le compte. - } - print " "; - print ""; - if ($options) { - print "
"; - } - print "
trans("Rapprocher")."\">"; - print ""; - print "Ecriture future. Ne peut pas encore être rapprochée."; - print "
"; +/* +* Action suppression ecriture +*/ +if ($_GET["action"] == 'del') { + $sql = "DELETE FROM ".MAIN_DB_PREFIX."bank WHERE rowid=".$_GET["rowid"]; + $result = $db->query($sql); + if (! $result) { + dolibarr_print_error($db); + } +} + +$sql = "SELECT rowid, label FROM ".MAIN_DB_PREFIX."bank_categ ORDER BY label"; +$result = $db->query($sql); +$options=""; +if ($result) { + $var=True; + $num = $db->num_rows($result); + $i = 0; + while ($i < $num) { + if ($options == "") { $options = ""; } + $obj = $db->fetch_object($result); + $options .= "\n"; $i++; + } + $db->free($result); +} + + +/* +* Affichage liste des transactions à rapprocher +*/ +$acct = new Account($db); +$acct->fetch($_GET["account"]); + +$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.num_chq, b.fk_type as type"; +$sql .= " FROM ".MAIN_DB_PREFIX."bank as b WHERE rappro=0 AND fk_account=".$_GET["account"]; +$sql .= " ORDER BY dateo"; +$sql .= " ASC LIMIT ".$conf->liste_limit; + +$result = $db->query($sql); +if ($result) +{ + $var=True; + $num = $db->num_rows($result); + + if ($num == 0) + { + header("Location: /compta/bank/account.php?account=".$_GET["account"]); + exit; + } + else + { + + print_titre('Rapprochement compte bancaire : '.$acct->label.''); + print '
'; + + if ($msg) { + print "$msg

"; } - } else { + // Affiche nom des derniers relevés + $nbmax=5; + $liste=""; + + $sql = "SELECT distinct num_releve FROM ".MAIN_DB_PREFIX."bank"; + $sql.= " WHERE fk_account=".$_GET["account"]; + $sql.= " ORDER BY num_releve DESC"; + $sql.= " LIMIT ".($nbmax+1); + print $langs->trans("LastAccountStatements").' : '; + $resultr=$db->query($sql); + if ($resultr) + { + $numr=$db->num_rows($resultr); + $i=0; + while (($i < $numr) && ($i < $nbmax)) + { + $objr = $db->fetch_object($resultr); + $last_releve = $objr->num_releve; + $i++; + $liste=''.$objr->num_releve.'   '.$liste; + } + if ($num >= $nbmax) $liste="...   ".$liste; + print "$liste"; + if ($num > 0) print '

'; + else print $langs->trans("None").'

'; + } + else + { dolibarr_print_error($db); } - $db->close(); + print ''; + print ""; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print "\n"; + } - llxFooter("Dernière modification $Date$ révision $Revision$"); - ?> + $i = 0; + while ($i < $num) + { + $objp = $db->fetch_object($result); + + $var=!$var; + print ""; + print ''; + print ""; + print ""; + print "rowid."\">"; + + print ''; + print ''; + print ''; + print ''; + + if ($objp->amount < 0) + { + print "\n"; + } + else + { + print "\n"; + } + + if ($objp->rappro) + { + // Si ligne déjà rapprochée, on affiche relevé. + print ""; + } + else + { + // Si pas encore rapproché + if ($user->rights->banque->modifier) + { + print '"; + } + else + { + print ""; + } + } + + + // Affiche bouton "Rapprocher" + if ($objp->do <= mktime() ) { + print ""; + print ""; + } + else { + print ""; + } + + print ""; + + print ""; + $i++; + } + $db->free($result); + + if ($num != 0) { + print "
'.$langs->trans("Date").''.$langs->trans("DateValue").''.$langs->trans("Type").''.$langs->trans("Description").''.$langs->trans("Debit").''.$langs->trans("Credit").''.$langs->trans("Action").''.$langs->trans("AccountStatement").' (Ex: YYYYMM)
'.dolibarr_print_date($objp->do).''.dolibarr_print_date($objp->dv).''.$objp->type.($objp->num_chq?' '.$objp->num_chq:'').''.$objp->label.'".price($objp->amount * -1)."  ".price($objp->amount)."num_releve&account=$acct->id\">$objp->num_releve'; + + print ''; + print img_edit(); + print '   '; + + if ($objp->do <= mktime() ) { + print ''; + print img_delete(); + print ""; + } + else { + print " "; // On n'empeche la suppression car le raprochement ne pourra se faire qu'après la date passée et que l'écriture apparaissent bien sur le compte. + } + print " "; + print ""; + if ($options) { + print "
"; + } + print "
trans("Rapprocher")."\">"; + print ""; + print "Ecriture future. Ne peut pas encore être rapprochée."; + print "
"; + } + +} else { + dolibarr_print_error($db); +} + +$db->close(); + +llxFooter('$Date$ - $Revision$'); +?>