From 2fab35c28715a96d2a41efda693fc428bc54a81a Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Mon, 17 Jun 2019 17:20:22 +0200 Subject: [PATCH] Debug page to export file --- htdocs/compta/compta-files.php | 87 ++++++++++--------------- htdocs/core/menus/init_menu_auguria.sql | 2 + 2 files changed, 37 insertions(+), 52 deletions(-) diff --git a/htdocs/compta/compta-files.php b/htdocs/compta/compta-files.php index 87efafd3405..656824298fe 100644 --- a/htdocs/compta/compta-files.php +++ b/htdocs/compta/compta-files.php @@ -106,7 +106,7 @@ if(($action=="searchfiles" || $action=="dl" ) && $date_start && $date_stop) { $sql.=" AND entity IN (".($entity==1?'0,1':$entity).')'; $sql.=" AND fk_statut <> ".ExpenseReport::STATUS_DRAFT; $sql.=" UNION ALL"; - $sql.=" SELECT rowid as id, ref,paid,amount as total_ttc, '0' as fk_soc, datedon as date, 'Donation' as item FROM ".MAIN_DB_PREFIX."don"; + $sql.=" SELECT rowid as id, ref, paid, amount as total_ttc, '0' as fk_soc, datedon as date, 'Donation' as item FROM ".MAIN_DB_PREFIX."don"; $sql.=" WHERE datedon between ".$wheretail; $sql.=" AND entity IN (".($entity==1?'0,1':$entity).')'; $sql.=" AND fk_statut <> ".Don::STATUS_DRAFT; @@ -143,56 +143,63 @@ if(($action=="searchfiles" || $action=="dl" ) && $date_start && $date_stop) { switch($objd->item) { case "Invoice": - $subdir=dol_sanitizeFileName($objd->ref); + $subdir = ''; + $subdir.=($subdir ? '/' : '').dol_sanitizeFileName($objd->ref); $upload_dir = $conf->facture->dir_output.'/'.$subdir; $link="document.php?modulepart=facture&file=".str_replace('/', '%2F', $subdir).'%2F'; break; case "SupplierInvoice": - $tmpinvoicesupplier->fetch($objd->id); - $subdir=get_exdir($tmpinvoicesupplier->id, 2, 0, 0, $tmpinvoicesupplier, 'invoice_supplier').'/'.dol_sanitizeFileName($objd->ref); + $tmpinvoicesupplier->fetch($objd->id); + $subdir = get_exdir($tmpinvoicesupplier->id, 2, 0, 1, $tmpinvoicesupplier, 'invoice_supplier'); // TODO Use first file + $subdir.=($subdir ? '/' : '').dol_sanitizeFileName($objd->ref); $upload_dir = $conf->fournisseur->facture->dir_output.'/'.$subdir; $link="document.php?modulepart=facture_fournisseur&file=".str_replace('/', '%2F', $subdir).'%2F'; break; case "ExpenseReport": - $subdir=dol_sanitizeFileName($objd->ref); + $subdir = ''; + $subdir.=($subdir ? '/' : '').dol_sanitizeFileName($objd->ref); $upload_dir = $conf->expensereport->dir_output.'/'.$subdir; $link="document.php?modulepart=expensereport&file=".str_replace('/', '%2F', $subdir).'%2F'; break; case "SalaryPayment": - $subdir=dol_sanitizeFileName($objd->id); + $subdir = ''; + $subdir.=($subdir ? '/' : '').dol_sanitizeFileName($objd->id); $upload_dir = $conf->salaries->dir_output.'/'.$subdir; $link="document.php?modulepart=salaries&file=".str_replace('/', '%2F', $subdir).'%2F'; break; case "Donation": $tmpdonation->fetch($objp->id); - $subdir=get_exdir(0, 0, 0, 1, $tmpdonation, 'donation'). '/'. dol_sanitizeFileName($objd->id); + $subdir=get_exdir(0, 0, 0, 0, $tmpdonation, 'donation'); + $subdir.=($subdir ? '/' : '').dol_sanitizeFileName($objd->id); $upload_dir = $conf->don->dir_output . '/' . $subdir; $link="document.php?modulepart=don&file=".str_replace('/', '%2F', $subdir).'%2F'; break; case "SocialContributions": - $subdir=dol_sanitizeFileName($objd->id); + $subdir = ''; + $subdir.=($subdir ? '/' : '').dol_sanitizeFileName($objd->id); $upload_dir = $conf->tax->dir_output . '/' . $subdir; $link="document.php?modulepart=tax&file=".str_replace('/', '%2F', $subdir).'%2F'; break; default: - $subdir=''; - $upload_dir=''; - $link=''; + $subdir = ''; + $upload_dir = ''; + $link = ''; break; } if (!empty($upload_dir)) { $result=true; + $files=dol_dir_list($upload_dir, "files", 0, '', '(\.meta|_preview\.png)$', '', SORT_ASC, 1); - //var_dump($upload_dir); + if (count($files) < 1) { $nofile['id']=$objd->id; $nofile['date']=$db->idate($objd->date); $nofile['paid']=$objd->paid; $nofile['amount']=$objd->total_ttc; - $nofile['ref']=$objd->ref; + $nofile['ref']=($objd->ref ? $objd->ref : $objd->id); $nofile['fk']=$objd->fk_soc; $nofile['item']=$objd->item; @@ -206,7 +213,7 @@ if(($action=="searchfiles" || $action=="dl" ) && $date_start && $date_stop) { $file['date']=$db->idate($objd->date); $file['paid']=$objd->paid; $file['amount']=$objd->total_ttc; - $file['ref']=$objd->ref; + $file['ref']=($objd->ref ? $objd->ref : $objd->id); $file['fk']=$objd->fk_soc; $file['item']=$objd->item; $file['link']=$link.$file['name']; @@ -300,42 +307,15 @@ print '
'; print $langs->trans("ReportPeriod").': '.$form->selectDate($date_start, 'date_start', 0, 0, 0, "", 1, 1, 0); print ' - '.$form->selectDate($date_stop, 'date_stop', 0, 0, 0, "", 1, 1, 0)."\n"; -// Multicompany -/*if (! empty($conf->multicompany->enabled) && is_object($mc)) - { - print '
'; - // This is now done with hook formObjectOptions. Keep this code for backward compatibility with old multicompany module - if (method_exists($mc, 'formObjectOptions')) - { - if (empty($conf->global->MULTICOMPANY_TRANSVERSE_MODE) && $conf->entity == 1 && $user->admin && ! $user->entity) // condition must be same for create and edit mode - { - print "".''.$langs->trans("Entity").''; - print "".$mc->select_entities($entity); - print "\n"; - } - else - { - print ''; - } - } - $object = new stdClass(); - // Other attributes - $parameters=array('objectsrc' => null, 'colspan' => ' colspan="3"'); - $reshook=$hookmanager->executeHooks('formObjectOptions', $parameters, $object, $action); // Note that $action and $object may have been modified by hook - print $hookmanager->resPrint; - if (empty($reshook)) - { - print $object->showOptionals($extrafields, 'edit'); - } - }*/ +// Export is for current company only ! if (! empty($conf->multicompany->enabled) && is_object($mc)) { - print '   -   '.$langs->trans("Entity").' : '; + print '('.$langs->trans("Entity").' : '; $mc->dao->getEntities(); $mc->dao->fetch($conf->entity); print $mc->dao->label; - print "
\n"; + print ")
\n"; } print '
'."\n"; @@ -376,10 +356,10 @@ if (!empty($date_start) && !empty($date_stop)) print '
'; // You can use div-table-responsive-no-min if you dont need reserved height for your table print ''; print ''; - print_liste_field_titre($arrayfields['date']['label'], $_SERVER["PHP_SELF"], "date", "", $param, 'align="center" class="nowrap"', $sortfield, $sortorder); + print_liste_field_titre($arrayfields['date']['label'], $_SERVER["PHP_SELF"], "date", "", $param, 'class="nowrap"', $sortfield, $sortorder); print ''; print ''; - print ''; + print ''; print ''; print ''; print ''; @@ -402,12 +382,10 @@ if (!empty($date_start) && !empty($date_stop)) // Balance calculation $balance = 0; foreach($TData as &$data1) { - if ($data1['item']!='Invoice'&& $data1['item']!='Donation' ){ + if ($data1['item']!='Invoice' && $data1['item']!='Donation') + { $data1['amount']=-$data1['amount']; } - if ($data1['amount']>0){ - }else{ - } $balance += $data1['amount']; $data1['balance'] = $balance; } @@ -419,14 +397,19 @@ if (!empty($date_start) && !empty($date_stop)) //if (!empty($data['fk_facture'])) $html_class = 'facid-'.$data['fk_facture']; //elseif (!empty($data['fk_paiement'])) $html_class = 'payid-'.$data['fk_paiement']; print ''; - print "\n"; print ''; print ''; // File link - print '\n"; + print '\n"; print ''; print '\n"; diff --git a/htdocs/core/menus/init_menu_auguria.sql b/htdocs/core/menus/init_menu_auguria.sql index 3a4ec85ec58..c7b2c8a69a7 100644 --- a/htdocs/core/menus/init_menu_auguria.sql +++ b/htdocs/core/menus/init_menu_auguria.sql @@ -281,6 +281,8 @@ insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, left insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->accounting->enabled', __HANDLER__, 'left', 2430__+MAX_llx_menu__, 'accountancy', 'bookkeeping', 2400__+MAX_llx_menu__, '/accountancy/bookkeeping/list.php?mainmenu=accountancy&leftmenu=accountancy_bookeeping', 'Bookkeeping', 1, 'accountancy', '$user->rights->accounting->mouvements->lire', '', 0, 15, __ENTITY__); -- Balance insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->accounting->enabled', __HANDLER__, 'left', 2435__+MAX_llx_menu__, 'accountancy', 'balance', 2400__+MAX_llx_menu__, '/accountancy/bookkeeping/balance.php?mainmenu=accountancy&leftmenu=accountancy_balance', 'AccountBalance', 1, 'accountancy', '$user->rights->accounting->mouvements->lire', '', 0, 16, __ENTITY__); + -- Export accounting documents + insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->accounting->enabled', __HANDLER__, 'left', 2436__+MAX_llx_menu__, 'accountancy', 'accountancy_files', 2400__+MAX_llx_menu__, '/compta/compta-files.php?mainmenu=accountancy&leftmenu=accountancy_files', 'AccountantFiles', 1, 'accountancy', '$user->rights->accounting->mouvements->lire', '', 0, 17, __ENTITY__); -- Reports insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->accounting->enabled', __HANDLER__, 'left', 2440__+MAX_llx_menu__, 'accountancy', 'accountancy_report', 2400__+MAX_llx_menu__, '/compta/resultat/index.php?mainmenu=accountancy&leftmenu=accountancy_report', 'Reportings', 1, 'main', '$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire', '', 0, 17, __ENTITY__); insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->accounting->enabled && $leftmenu=="accountancy_report"', __HANDLER__, 'left', 2441__+MAX_llx_menu__, 'accountancy', 'accountancy_report', 2440__+MAX_llx_menu__, '/compta/resultat/index.php?mainmenu=accountancy&leftmenu=accountancy_report', 'MenuReportInOut', 2, 'main', '$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire', '', 0, 18, __ENTITY__);
'.$langs->trans("Type").''.$langs->trans("Ref").''.$langs->trans("Link").''.$langs->trans("Document").''.$langs->trans("Paid").''.$langs->trans("Debit").''.$langs->trans("Credit").'
"; + print ""; print dol_print_date($data['date'], 'day'); print "'.$langs->trans($data['item']).''.$data['ref'].'".$data['name']."'; + if ($data['link']) + { + print ''.($data['name'] ? $data['name'] : $data['ref']).''; + } + print "'.$data['paid'].''.(($data['amount'] > 0) ? price(abs($data['amount'])) : '')."