diff --git a/htdocs/compta/compta-files.php b/htdocs/compta/compta-files.php index d801329c541..5a71314c3b1 100644 --- a/htdocs/compta/compta-files.php +++ b/htdocs/compta/compta-files.php @@ -32,10 +32,8 @@ require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.facture.class.php'; require_once DOL_DOCUMENT_ROOT.'/compta/sociales/class/chargesociales.class.php'; require_once DOL_DOCUMENT_ROOT.'/don/class/don.class.php'; -restrictedArea($user,'banque'); +$langs->loadLangs(array("accountancy","bills")); -$langs->load("accountancy"); -if (! empty($conf->facture->enabled)) $langs->load("bills"); $date_start =GETPOST('date_start','alpha'); $date_startDay= GETPOST('date_startday','int'); $date_startMonth= GETPOST('date_startmonth','int'); @@ -48,13 +46,10 @@ $date_stopYear= GETPOST('date_stopyear','int'); //FIXME doldate $date_stop=($date_stopDay)?dol_mktime(0,0,0,$date_stopMonth,$date_stopDay,$date_stopYear):strtotime($date_stop); $action =GETPOST('action','alpha'); -// Security check -//if ($user->societe_id) $id=$user->societe_id; -//$result = restrictedArea($user, 'societe', $id, '&societe'); -//$object = new Societe($db); -//if ($id > 0) $object->fetch($id); + // Initialize technical object to manage hooks of page. Note that conf->hooks_modules contains array of hook context -$hookmanager->initHooks(array('comptafilescard','globalcard')); +$hookmanager->initHooks(array('comptafileslist','globallist')); + // Load variable for pagination $limit = GETPOST('limit','int')?GETPOST('limit','int'):$conf->liste_limit; $sortfield = GETPOST('sortfield','alpha'); @@ -66,11 +61,21 @@ $pageprev = $page - 1; $pagenext = $page + 1; if (! $sortfield) $sortfield="f.datef,f.rowid"; // Set here default search field if (! $sortorder) $sortorder="DESC"; + + $arrayfields=array( 'date'=>array('label'=>"Date", 'checked'=>1), //... ); +// Security check +if (empty($conf->compta->enabled) && empty($conf->accounting->enabled)) { + accessforbidden(); +} +if ($user->societe_id > 0) + accessforbidden(); + + /* * Actions @@ -124,34 +129,34 @@ if(($action=="searchfiles"||$action=="dl" ) && $date_start && $date_stop){ case "Invoice": $subdir=dol_sanitizeFileName($objd->ref); $upload_dir = $conf->facture->dir_output.'/'.$subdir; - $link="../../document.php?modulepart=facture&file=".str_replace('/','%2F',$subdir).'%2F'; + $link="document.php?modulepart=facture&file=".str_replace('/','%2F',$subdir).'%2F'; break; case "InvoiceSupplier": $tmpinvoicesupplier->fetch($objd->id); $subdir=get_exdir(0,0,0,1,$tmpinvoicesupplier,'invoice_supplier').'/'.dol_sanitizeFileName($objd->ref); $upload_dir = $conf->fournisseur->facture->dir_output.'/'.$subdir; - $link="../../document.php?modulepart=facture_fournisseur&file=".str_replace('/','%2F',$subdir).'%2F'; + $link="document.php?modulepart=facture_fournisseur&file=".str_replace('/','%2F',$subdir).'%2F'; break; case "Expense": $subdir=dol_sanitizeFileName($objd->ref); $upload_dir = $conf->expensereport->dir_output.'/'.$subdir; - $link="../../document.php?modulepart=expensereport&file=".str_replace('/','%2F',$subdir).'%2F'; + $link="document.php?modulepart=expensereport&file=".str_replace('/','%2F',$subdir).'%2F'; break; case "Salary": $subdir=dol_sanitizeFileName($objd->id); $upload_dir = $conf->salaries->dir_output.'/'.$subdir; - $link="../../document.php?modulepart=salaries&file=".str_replace('/','%2F',$subdir).'%2F'; + $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); $upload_dir = $conf->don->dir_output . '/' . $subdir; - $link="../../document.php?modulepart=don&file=".str_replace('/','%2F',$subdir).'%2F'; + $link="document.php?modulepart=don&file=".str_replace('/','%2F',$subdir).'%2F'; break; case "SocialContributions": $subdir=dol_sanitizeFileName($objd->id); $upload_dir = $conf->tax->dir_output . '/' . $subdir; - $link="../../document.php?modulepart=tax&file=".str_replace('/','%2F',$subdir).'%2F'; + $link="document.php?modulepart=tax&file=".str_replace('/','%2F',$subdir).'%2F'; break; default: $subdir=''; @@ -215,7 +220,7 @@ if ($result && $action == "dl") dol_delete_file($zip); $log='date,type,ref,total,paid,filename,item_id'."\n"; - $zipname = $conf->accounting->dir_temp.'/'.($date_start)."-".($date_stop).'_export.zip'; + $zipname = ($conf->accounting->dir_temp ? $conf->accounting->dir_temp : $conf->compta->dir_temp).'/'.($date_start)."-".($date_stop).'_export.zip'; $zip = new ZipArchive; $res = $zip->open($zipname, ZipArchive::OVERWRITE|ZipArchive::CREATE); @@ -267,9 +272,17 @@ dol_fiche_end(); if (!empty($date_start) && !empty($date_stop)) { + $param='action=searchfiles'; + $param.='&date_startday='.GETPOST('date_startday','int'); + $param.='&date_startmonth='.GETPOST('date_startmonth','int'); + $param.='&date_startyear='.GETPOST('date_startyear','int'); + $param.='&date_stopday='.GETPOST('date_stopday','int'); + $param.='&date_stopmonth='.GETPOST('date_stopmonth','int'); + $param.='&date_stopyear='.GETPOST('date_stopyear','int'); + print '
'."\n"; - echo dol_print_date($date_start)." - ".dol_print_date($date_stop); + echo dol_print_date($date_start, 'day')." - ".dol_print_date($date_stop, 'day'); print ''; print ''; @@ -292,8 +305,8 @@ if (!empty($date_start) && !empty($date_stop)) print ''; print_liste_field_titre($arrayfields['date']['label'],$_SERVER["PHP_SELF"],"date","",$param,'align="center" class="nowrap"',$sortfield,$sortorder); print ''.$langs->trans("Type").''; - print ''.$langs->trans("Ref").''; - print ''.$langs->trans("File").''; + print ''.$langs->trans("Ref").''; + print ''.$langs->trans("Link").''; print ''.$langs->trans("Paid").''; print ''.$langs->trans("Debit").''; print ''.$langs->trans("Credit").''; @@ -334,7 +347,7 @@ if (!empty($date_start) && !empty($date_stop)) print ''.$data['ref'].''; // File link - print '".$data['name']."\n"; + print '".$data['name']."\n"; print ''.$data['paid'].''; print ''.(($data['amount'] > 0) ? price(abs($data['amount'])) : '')."\n"; diff --git a/htdocs/langs/en_US/accountancy.lang b/htdocs/langs/en_US/accountancy.lang index 1c5fe14b03e..144caf49dde 100644 --- a/htdocs/langs/en_US/accountancy.lang +++ b/htdocs/langs/en_US/accountancy.lang @@ -42,6 +42,7 @@ CountriesInEEC=Countries in EEC CountriesNotInEEC=Countries not in EEC CountriesInEECExceptMe=Countries in EEC except %s CountriesExceptMe=All countries except %s +AccountantFiles=Export accounting documents MainAccountForCustomersNotDefined=Main accounting account for customers not defined in setup MainAccountForSuppliersNotDefined=Main accounting account for vendors not defined in setup diff --git a/htdocs/langs/fr_FR/accountancy.lang b/htdocs/langs/fr_FR/accountancy.lang index b6d065edfa9..3d8073dbf12 100644 --- a/htdocs/langs/fr_FR/accountancy.lang +++ b/htdocs/langs/fr_FR/accountancy.lang @@ -235,7 +235,7 @@ ListOfProductsWithoutAccountingAccount=Liste des produits non liés à un compte ChangeBinding=Changer les liens Accounted=Comptabilisé NotYetAccounted=Pas encore comptabilisé -AccountantFiles = Justificatifs comptablilité +AccountantFiles=Export pièces/justificatifs ## Admin ApplyMassCategories=Application en masse des catégories