diff --git a/htdocs/accountancy/journal/bankjournal.php b/htdocs/accountancy/journal/bankjournal.php index 259dc35a5b0..f674d1ff157 100644 --- a/htdocs/accountancy/journal/bankjournal.php +++ b/htdocs/accountancy/journal/bankjournal.php @@ -39,21 +39,21 @@ if (! $res && file_exists("../../../main.inc.php")) if (! $res) die("Include of main fails"); - // Class -dol_include_once("/core/lib/report.lib.php"); -dol_include_once("/core/lib/date.lib.php"); -dol_include_once("/core/lib/bank.lib.php"); +// Class +require_once DOL_DOCUMENT_ROOT.'/core/lib/report.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/bank.lib.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/accounting.lib.php'; -dol_include_once("/societe/class/societe.class.php"); -dol_include_once("/adherents/class/adherent.class.php"); -dol_include_once("/compta/sociales/class/chargesociales.class.php"); -dol_include_once("/compta/paiement/class/paiement.class.php"); -dol_include_once("/compta/tva/class/tva.class.php"); -dol_include_once("/fourn/class/paiementfourn.class.php"); -dol_include_once("/fourn/class/fournisseur.facture.class.php"); -dol_include_once("/fourn/class/fournisseur.class.php"); -dol_include_once("/accountancy/class/bookkeeping.class.php"); -dol_include_once("/societe/class/client.class.php"); +require_once DOL_DOCUMENT_ROOT.'/societe/class/societe.class.php'; +require_once DOL_DOCUMENT_ROOT.'/adherents/class/adherent.class.php'; +require_once DOL_DOCUMENT_ROOT.'/compta/sociales/class/chargesociales.class.php'; +require_once DOL_DOCUMENT_ROOT.'/compta/paiement/class/paiement.class.php'; +require_once DOL_DOCUMENT_ROOT.'/compta/tva/class/tva.class.php'; +require_once DOL_DOCUMENT_ROOT.'/fourn/class/paiementfourn.class.php'; +require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.facture.class.php'; +require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.class.php'; +require_once DOL_DOCUMENT_ROOT.'/accountancy/class/bookkeeping.class.php'; +require_once DOL_DOCUMENT_ROOT.'/societe/class/client.class.php'; // Langs $langs->load("companies"); @@ -63,6 +63,8 @@ $langs->load("bank"); $langs->load('bills'); $langs->load("accountancy"); +$id_accountancy_journal = GETPOST('id_account'); + $date_startmonth = GETPOST('date_startmonth'); $date_startday = GETPOST('date_startday'); $date_startyear = GETPOST('date_startyear'); @@ -80,6 +82,10 @@ if (! $user->rights->accounting->access) /* * View */ +if (empty($id_accountancy_journal)) +{ + accessforbidden(); +} $year_current = strftime("%Y", dol_now()); $pastmonth = strftime("%m", dol_now()) - 1; @@ -109,6 +115,7 @@ $sql .= " LEFT JOIN " . MAIN_DB_PREFIX . "bank_url bu1 ON bu1.fk_bank = b.rowid $sql .= " LEFT JOIN " . MAIN_DB_PREFIX . "societe soc on bu1.url_id=soc.rowid"; // To isolate the cash of the other accounts $sql .= " WHERE ba.courant <> 2"; +$sql .= " AND rowid=".$id_accountancy_journal; if (! empty($conf->multicompany->enabled)) { $sql .= " AND ba.entity = " . $conf->entity; } diff --git a/htdocs/core/menus/standard/eldy.lib.php b/htdocs/core/menus/standard/eldy.lib.php index de110ff126f..a2e4ce54b46 100644 --- a/htdocs/core/menus/standard/eldy.lib.php +++ b/htdocs/core/menus/standard/eldy.lib.php @@ -1224,7 +1224,7 @@ function print_left_eldy_menu($db,$menu_array_before,$menu_array_after,&$tabMenu // We update newmenu for special dynamic menus if (!empty($user->rights->banque->lire) && $mainmenu == 'bank') // Entry for each bank account { - $sql = "SELECT rowid, label, courant, rappro, courant"; + $sql = "SELECT rowid, label, courant, rappro"; $sql.= " FROM ".MAIN_DB_PREFIX."bank_account"; $sql.= " WHERE entity = ".$conf->entity; $sql.= " AND clos = 0"; @@ -1252,6 +1252,32 @@ function print_left_eldy_menu($db,$menu_array_before,$menu_array_after,&$tabMenu else dol_print_error($db); $db->free($resql); } + if (!empty($user->rights->banque->lire) && !empty($user->rights->accounting->mouvements-lire) && $mainmenu == 'accounting') // Entry for each bank journal + { + $sql = "SELECT rowid, label, accountancy_journal"; + $sql.= " FROM ".MAIN_DB_PREFIX."bank_account"; + $sql.= " WHERE entity = ".$conf->entity; + $sql.= " AND clos = 0"; + $sql.= " ORDER BY label"; + + $resql = $db->query($sql); + if ($resql) + { + $numr = $db->num_rows($resql); + $i = 0; + + if ($numr > 0) $newmenu->add('/accountancy/journal/bankjournal.php',$langs->trans("BankAccounts"),0,$user->rights->banque->lire); + + while ($i < $numr) + { + $objp = $db->fetch_object($resql); + $newmenu->add('/accountancy/journal/bankjournal.php?id_account='.$objp->rowid,$objp->label,1,$user->rights->banque->lire); + $i++; + } + } + else dol_print_error($db); + $db->free($resql); + } if (!empty($conf->ftp->enabled) && $mainmenu == 'ftp') // Entry for FTP { $MAXFTP=20;