From be8ed42450d80788af7878f506865474afeb775c Mon Sep 17 00:00:00 2001 From: Alexandre SPANGARO Date: Sun, 1 Mar 2020 23:17:40 +0100 Subject: [PATCH 1/2] NEW: Bookkeeping - Add link to document & pdf --- htdocs/accountancy/bookkeeping/list.php | 56 ++++++++++++++++++++++++- 1 file changed, 55 insertions(+), 1 deletion(-) diff --git a/htdocs/accountancy/bookkeeping/list.php b/htdocs/accountancy/bookkeeping/list.php index bd5b780a0b6..14b4b4d1493 100644 --- a/htdocs/accountancy/bookkeeping/list.php +++ b/htdocs/accountancy/bookkeeping/list.php @@ -29,6 +29,7 @@ require_once DOL_DOCUMENT_ROOT.'/accountancy/class/accountancyexport.class.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/accounting.lib.php'; require_once DOL_DOCUMENT_ROOT.'/accountancy/class/bookkeeping.class.php'; require_once DOL_DOCUMENT_ROOT.'/accountancy/class/accountingjournal.class.php'; +require_once DOL_DOCUMENT_ROOT.'/core/class/html.formfile.class.php'; require_once DOL_DOCUMENT_ROOT.'/core/class/html.formother.class.php'; require_once DOL_DOCUMENT_ROOT.'/core/class/html.formaccounting.class.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php'; @@ -538,6 +539,7 @@ if ($action == 'export_file' && $user->rights->accounting->mouvements->export) { */ $formother = new FormOther($db); +$formfile = new FormFile($db); $title_page = $langs->trans("Bookkeeping"); @@ -914,7 +916,59 @@ while ($i < min($num, $limit)) // Document ref if (!empty($arrayfields['t.doc_ref']['checked'])) { - print ''.$line->doc_ref.''; + if ($line->doc_type == 'customer_invoice') + { + $langs->loadLangs(array('bills')); + + require_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture.class.php'; + $objectstatic = new Facture($db); + $modulepart = 'facture'; + + $filename = dol_sanitizeFileName($line->doc_ref); + $filedir = $conf->facture->dir_output.'/'.dol_sanitizeFileName($line->doc_ref); + $urlsource = $_SERVER['PHP_SELF'].'?id='.$line->fk_doc; + $documentlink = $formfile->getDocumentsLink($modulepart, $filename, $filedir); + } + elseif ($line->doc_type == 'supplier_invoice') + { + require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.facture.class.php'; + $objectstatic = new FactureFournisseur($db); + $modulepart = 'invoice_supplier'; + + $filename = dol_sanitizeFileName($line->doc_ref); + $filedir = $conf->fournisseur->facture->dir_output.'/'.get_exdir($line->fk_doc, 2, 0, 0, $objectstatic, $modulepart).dol_sanitizeFileName($line->doc_ref); + $subdir = get_exdir($line->fk_doc, 2, 0, 0, $objectstatic, $modulepart).dol_sanitizeFileName($line->doc_ref); + $documentlink = $formfile->getDocumentsLink($modulepart, $subdir, $filedir); + } + elseif ($line->doc_type == 'expense_report') + { + require_once DOL_DOCUMENT_ROOT.'/expensereport/class/expensereport.class.php'; + $objectstatic = new ExpenseReport($db); + $modulepart = 'expensereport'; + + $filename=dol_sanitizeFileName($line->doc_ref); + $filedir=$conf->expensereport->dir_output . '/' . dol_sanitizeFileName($line->doc_ref); + $urlsource=$_SERVER['PHP_SELF'].'?id='.$line->fk_doc; + $documentlink = $formfile->getDocumentsLink($modulepart, $filename, $filedir); + } + + print ''; + + print ''; + // Picto + Ref + print '
'; + + if(! empty($objectstatic->id)) + { + print $objectstatic->getNomUrl(1, '', 0, 0, '', 0, -1, 1); + } else { + print $line->doc_ref; + } + + print $documentlink; + print '
'; + + print "\n"; if (!$i) $totalarray['nbfield']++; } From cdca4ca0aa49c2274cc8c38d09f354f1ca7910fc Mon Sep 17 00:00:00 2001 From: Alexandre SPANGARO Date: Mon, 2 Mar 2020 09:01:25 +0100 Subject: [PATCH 2/2] NEW: Bookkeeping - Add link to document & pdf --- htdocs/accountancy/bookkeeping/list.php | 34 ++++++++++++++++--------- 1 file changed, 22 insertions(+), 12 deletions(-) diff --git a/htdocs/accountancy/bookkeeping/list.php b/htdocs/accountancy/bookkeeping/list.php index 14b4b4d1493..9b6ad2fbbb0 100644 --- a/htdocs/accountancy/bookkeeping/list.php +++ b/htdocs/accountancy/bookkeeping/list.php @@ -922,34 +922,45 @@ while ($i < min($num, $limit)) require_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture.class.php'; $objectstatic = new Facture($db); - $modulepart = 'facture'; + $objectstatic->fetch($line->fk_doc); + //$modulepart = 'facture'; $filename = dol_sanitizeFileName($line->doc_ref); $filedir = $conf->facture->dir_output.'/'.dol_sanitizeFileName($line->doc_ref); - $urlsource = $_SERVER['PHP_SELF'].'?id='.$line->fk_doc; - $documentlink = $formfile->getDocumentsLink($modulepart, $filename, $filedir); + $urlsource = $_SERVER['PHP_SELF'].'?id='.$objectstatic->id; + $documentlink = $formfile->getDocumentsLink($objectstatic->element, $filename, $filedir); } elseif ($line->doc_type == 'supplier_invoice') { + $langs->loadLangs(array('bills')); + require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.facture.class.php'; $objectstatic = new FactureFournisseur($db); - $modulepart = 'invoice_supplier'; + $objectstatic->fetch($line->fk_doc); + //$modulepart = 'invoice_supplier'; $filename = dol_sanitizeFileName($line->doc_ref); $filedir = $conf->fournisseur->facture->dir_output.'/'.get_exdir($line->fk_doc, 2, 0, 0, $objectstatic, $modulepart).dol_sanitizeFileName($line->doc_ref); - $subdir = get_exdir($line->fk_doc, 2, 0, 0, $objectstatic, $modulepart).dol_sanitizeFileName($line->doc_ref); - $documentlink = $formfile->getDocumentsLink($modulepart, $subdir, $filedir); + $subdir = get_exdir($objectstatic->id, 2, 0, 0, $objectstatic, $modulepart).dol_sanitizeFileName($line->doc_ref); + $documentlink = $formfile->getDocumentsLink($objectstatic->element, $subdir, $filedir); } elseif ($line->doc_type == 'expense_report') { + $langs->loadLangs(array('trips')); + require_once DOL_DOCUMENT_ROOT.'/expensereport/class/expensereport.class.php'; $objectstatic = new ExpenseReport($db); - $modulepart = 'expensereport'; + $objectstatic->fetch($line->fk_doc); + //$modulepart = 'expensereport'; $filename=dol_sanitizeFileName($line->doc_ref); $filedir=$conf->expensereport->dir_output . '/' . dol_sanitizeFileName($line->doc_ref); - $urlsource=$_SERVER['PHP_SELF'].'?id='.$line->fk_doc; - $documentlink = $formfile->getDocumentsLink($modulepart, $filename, $filedir); + $urlsource=$_SERVER['PHP_SELF'].'?id='.$objectstatic->id; + $documentlink = $formfile->getDocumentsLink($objectstatic->element, $filename, $filedir); + } + else + { + // Other type } print ''; @@ -958,14 +969,13 @@ while ($i < min($num, $limit)) // Picto + Ref print ''; - if(! empty($objectstatic->id)) + if($line->doc_type == 'customer_invoice' || $line->doc_type == 'supplier_invoice' || $line->doc_type == 'expense_report') { print $objectstatic->getNomUrl(1, '', 0, 0, '', 0, -1, 1); + print $documentlink; } else { print $line->doc_ref; } - - print $documentlink; print ''; print "\n";