FIX Multicompany compatibility
This commit is contained in:
parent
3fafbb372b
commit
44c2909696
@ -77,13 +77,22 @@ if ($user->socid > 0) {
|
|||||||
accessforbidden();
|
accessforbidden();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Define $arrayofentities if multientity is set.
|
||||||
|
$arrayofentities = array();
|
||||||
|
if (!empty($conf->multicompany->enabled) && is_object($mc)) {
|
||||||
|
$arrayofentities = $mc->getEntitiesList();
|
||||||
|
}
|
||||||
|
|
||||||
$entity = (GETPOSTISSET('entity') ? GETPOST('entity', 'int') : (GETPOSTISSET('search_entity') ? GETPOST('search_entity', 'int') : $conf->entity));
|
$entity = (GETPOSTISSET('entity') ? GETPOST('entity', 'int') : (GETPOSTISSET('search_entity') ? GETPOST('search_entity', 'int') : $conf->entity));
|
||||||
if (empty($entity) && ! empty($conf->global->MULTICOMPANY_ALLOW_EXPORT_ACCOUNTING_DOC_FOR_ALL_ENTITIES)) {
|
if (!empty($conf->multicompany->enabled) && is_object($mc)) {
|
||||||
$tmparray = $mc->getEntitiesList();
|
if (empty($entity) && ! empty($conf->global->MULTICOMPANY_ALLOW_EXPORT_ACCOUNTING_DOC_FOR_ALL_ENTITIES)) {
|
||||||
$entity = '0,'.join(',', array_keys($tmparray));
|
$entity = '0,'.join(',', array_keys($arrayofentities));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (empty($entity)) $entity = $conf->entity;
|
if (empty($entity)) $entity = $conf->entity;
|
||||||
|
|
||||||
|
$error = 0;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -114,42 +123,42 @@ if (($action == "searchfiles" || $action == "dl")) {
|
|||||||
$wheretail = " '".$db->idate($date_start)."' AND '".$db->idate($date_stop)."'";
|
$wheretail = " '".$db->idate($date_start)."' AND '".$db->idate($date_stop)."'";
|
||||||
|
|
||||||
// Customer invoices
|
// Customer invoices
|
||||||
$sql = "SELECT t.rowid as id, t.ref, t.paye as paid, total as total_ht, total_ttc, tva as total_vat, fk_soc, t.datef as date, 'Invoice' as item, s.nom as thirdparty_name, s.code_client as thirdparty_code, c.code as country_code, s.tva_intra as vatnum";
|
$sql = "SELECT t.rowid as id, t.entity, t.ref, t.paye as paid, total as total_ht, total_ttc, tva as total_vat, fk_soc, t.datef as date, 'Invoice' as item, s.nom as thirdparty_name, s.code_client as thirdparty_code, c.code as country_code, s.tva_intra as vatnum";
|
||||||
$sql .= " FROM ".MAIN_DB_PREFIX."facture as t LEFT JOIN ".MAIN_DB_PREFIX."societe as s ON s.rowid = t.fk_soc LEFT JOIN ".MAIN_DB_PREFIX."c_country as c ON c.rowid = s.fk_pays";
|
$sql .= " FROM ".MAIN_DB_PREFIX."facture as t LEFT JOIN ".MAIN_DB_PREFIX."societe as s ON s.rowid = t.fk_soc LEFT JOIN ".MAIN_DB_PREFIX."c_country as c ON c.rowid = s.fk_pays";
|
||||||
$sql .= " WHERE datef between ".$wheretail;
|
$sql .= " WHERE datef between ".$wheretail;
|
||||||
$sql .= " AND t.entity IN (".($entity == 1 ? '0,1' : $entity).')';
|
$sql .= " AND t.entity IN (".($entity == 1 ? '0,1' : $entity).')';
|
||||||
$sql .= " AND t.fk_statut <> ".Facture::STATUS_DRAFT;
|
$sql .= " AND t.fk_statut <> ".Facture::STATUS_DRAFT;
|
||||||
$sql .= " UNION ALL";
|
$sql .= " UNION ALL";
|
||||||
// Vendor invoices
|
// Vendor invoices
|
||||||
$sql .= " SELECT t.rowid as id, t.ref, paye as paid, total_ht, total_ttc, total_tva as total_vat, fk_soc, datef as date, 'SupplierInvoice' as item, s.nom as thirdparty_name, s.code_fournisseur as thirdparty_code, c.code as country_code, s.tva_intra as vatnum";
|
$sql .= " SELECT t.rowid as id, t.entity, t.ref, paye as paid, total_ht, total_ttc, total_tva as total_vat, fk_soc, datef as date, 'SupplierInvoice' as item, s.nom as thirdparty_name, s.code_fournisseur as thirdparty_code, c.code as country_code, s.tva_intra as vatnum";
|
||||||
$sql .= " FROM ".MAIN_DB_PREFIX."facture_fourn as t LEFT JOIN ".MAIN_DB_PREFIX."societe as s ON s.rowid = t.fk_soc LEFT JOIN ".MAIN_DB_PREFIX."c_country as c ON c.rowid = s.fk_pays";
|
$sql .= " FROM ".MAIN_DB_PREFIX."facture_fourn as t LEFT JOIN ".MAIN_DB_PREFIX."societe as s ON s.rowid = t.fk_soc LEFT JOIN ".MAIN_DB_PREFIX."c_country as c ON c.rowid = s.fk_pays";
|
||||||
$sql .= " WHERE datef between ".$wheretail;
|
$sql .= " WHERE datef between ".$wheretail;
|
||||||
$sql .= " AND t.entity IN (".($entity == 1 ? '0,1' : $entity).')';
|
$sql .= " AND t.entity IN (".($entity == 1 ? '0,1' : $entity).')';
|
||||||
$sql .= " AND t.fk_statut <> ".FactureFournisseur::STATUS_DRAFT;
|
$sql .= " AND t.fk_statut <> ".FactureFournisseur::STATUS_DRAFT;
|
||||||
$sql .= " UNION ALL";
|
$sql .= " UNION ALL";
|
||||||
// Expense reports
|
// Expense reports
|
||||||
$sql .= " SELECT t.rowid as id, t.ref, paid, total_ht, total_ttc, total_tva as total_vat, fk_user_author as fk_soc, date_fin as date, 'ExpenseReport' as item, CONCAT(CONCAT(u.lastname, ' '), u.firstname) as thirdparty_name, '' as thirdparty_code, c.code as country_code, '' as vatnum";
|
$sql .= " SELECT t.rowid as id, t.entity, t.ref, paid, total_ht, total_ttc, total_tva as total_vat, fk_user_author as fk_soc, date_fin as date, 'ExpenseReport' as item, CONCAT(CONCAT(u.lastname, ' '), u.firstname) as thirdparty_name, '' as thirdparty_code, c.code as country_code, '' as vatnum";
|
||||||
$sql .= " FROM ".MAIN_DB_PREFIX."expensereport as t LEFT JOIN ".MAIN_DB_PREFIX."user as u ON u.rowid = t.fk_user_author LEFT JOIN ".MAIN_DB_PREFIX."c_country as c ON c.rowid = u.fk_country";
|
$sql .= " FROM ".MAIN_DB_PREFIX."expensereport as t LEFT JOIN ".MAIN_DB_PREFIX."user as u ON u.rowid = t.fk_user_author LEFT JOIN ".MAIN_DB_PREFIX."c_country as c ON c.rowid = u.fk_country";
|
||||||
$sql .= " WHERE date_fin between ".$wheretail;
|
$sql .= " WHERE date_fin between ".$wheretail;
|
||||||
$sql .= " AND t.entity IN (".($entity == 1 ? '0,1' : $entity).')';
|
$sql .= " AND t.entity IN (".($entity == 1 ? '0,1' : $entity).')';
|
||||||
$sql .= " AND t.fk_statut <> ".ExpenseReport::STATUS_DRAFT;
|
$sql .= " AND t.fk_statut <> ".ExpenseReport::STATUS_DRAFT;
|
||||||
$sql .= " UNION ALL";
|
$sql .= " UNION ALL";
|
||||||
// Donations
|
// Donations
|
||||||
$sql .= " SELECT t.rowid as id, t.ref, paid, amount as total_ht, amount as total_ttc, 0 as total_vat, 0 as fk_soc, datedon as date, 'Donation' as item, t.societe as thirdparty_name, '' as thirdparty_code, c.code as country_code, '' as vatnum";
|
$sql .= " SELECT t.rowid as id, t.entity, t.ref, paid, amount as total_ht, amount as total_ttc, 0 as total_vat, 0 as fk_soc, datedon as date, 'Donation' as item, t.societe as thirdparty_name, '' as thirdparty_code, c.code as country_code, '' as vatnum";
|
||||||
$sql .= " FROM ".MAIN_DB_PREFIX."don as t LEFT JOIN ".MAIN_DB_PREFIX."c_country as c ON c.rowid = t.fk_country";
|
$sql .= " FROM ".MAIN_DB_PREFIX."don as t LEFT JOIN ".MAIN_DB_PREFIX."c_country as c ON c.rowid = t.fk_country";
|
||||||
$sql .= " WHERE datedon between ".$wheretail;
|
$sql .= " WHERE datedon between ".$wheretail;
|
||||||
$sql .= " AND t.entity IN (".($entity == 1 ? '0,1' : $entity).')';
|
$sql .= " AND t.entity IN (".($entity == 1 ? '0,1' : $entity).')';
|
||||||
$sql .= " AND t.fk_statut <> ".Don::STATUS_DRAFT;
|
$sql .= " AND t.fk_statut <> ".Don::STATUS_DRAFT;
|
||||||
$sql .= " UNION ALL";
|
$sql .= " UNION ALL";
|
||||||
// Paiements of salaries
|
// Paiements of salaries
|
||||||
$sql .= " SELECT t.rowid as id, t.ref as ref, 1 as paid, amount as total_ht, amount as total_ttc, 0 as total_vat, t.fk_user as fk_soc, datep as date, 'SalaryPayment' as item, CONCAT(CONCAT(u.lastname, ' '), u.firstname) as thirdparty_name, '' as thirdparty_code, c.code as country_code, '' as vatnum";
|
$sql .= " SELECT t.rowid as id, t.entity, t.ref as ref, 1 as paid, amount as total_ht, amount as total_ttc, 0 as total_vat, t.fk_user as fk_soc, datep as date, 'SalaryPayment' as item, CONCAT(CONCAT(u.lastname, ' '), u.firstname) as thirdparty_name, '' as thirdparty_code, c.code as country_code, '' as vatnum";
|
||||||
$sql .= " FROM ".MAIN_DB_PREFIX."payment_salary as t LEFT JOIN ".MAIN_DB_PREFIX."user as u ON u.rowid = t.fk_user LEFT JOIN ".MAIN_DB_PREFIX."c_country as c ON c.rowid = u.fk_country";
|
$sql .= " FROM ".MAIN_DB_PREFIX."payment_salary as t LEFT JOIN ".MAIN_DB_PREFIX."user as u ON u.rowid = t.fk_user LEFT JOIN ".MAIN_DB_PREFIX."c_country as c ON c.rowid = u.fk_country";
|
||||||
$sql .= " WHERE datep between ".$wheretail;
|
$sql .= " WHERE datep between ".$wheretail;
|
||||||
$sql .= " AND t.entity IN (".($entity == 1 ? '0,1' : $entity).')';
|
$sql .= " AND t.entity IN (".($entity == 1 ? '0,1' : $entity).')';
|
||||||
//$sql.=" AND fk_statut <> ".PaymentSalary::STATUS_DRAFT;
|
//$sql.=" AND fk_statut <> ".PaymentSalary::STATUS_DRAFT;
|
||||||
$sql .= " UNION ALL";
|
$sql .= " UNION ALL";
|
||||||
// Social contributions
|
// Social contributions
|
||||||
$sql .= " SELECT t.rowid as id, t.libelle as ref, paye as paid, amount as total_ht, amount as total_ttc, 0 as total_tva, 0 as fk_soc, date_creation as date, 'SocialContributions' as item, '' as thirdparty_name, '' as thirdparty_code, '' as country_code, '' as vatnum";
|
$sql .= " SELECT t.rowid as id, t.entity, t.libelle as ref, paye as paid, amount as total_ht, amount as total_ttc, 0 as total_tva, 0 as fk_soc, date_creation as date, 'SocialContributions' as item, '' as thirdparty_name, '' as thirdparty_code, '' as country_code, '' as vatnum";
|
||||||
$sql .= " FROM ".MAIN_DB_PREFIX."chargesociales as t";
|
$sql .= " FROM ".MAIN_DB_PREFIX."chargesociales as t";
|
||||||
$sql .= " WHERE date_creation between ".$wheretail;
|
$sql .= " WHERE date_creation between ".$wheretail;
|
||||||
$sql .= " AND t.entity IN (".($entity == 1 ? '0,1' : $entity).')';
|
$sql .= " AND t.entity IN (".($entity == 1 ? '0,1' : $entity).')';
|
||||||
@ -234,6 +243,7 @@ if (($action == "searchfiles" || $action == "dl")) {
|
|||||||
{
|
{
|
||||||
$nofile = array();
|
$nofile = array();
|
||||||
$nofile['id'] = $objd->id;
|
$nofile['id'] = $objd->id;
|
||||||
|
$nofile['entity'] = $objd->entity;
|
||||||
$nofile['date'] = $db->idate($objd->date);
|
$nofile['date'] = $db->idate($objd->date);
|
||||||
$nofile['paid'] = $objd->paid;
|
$nofile['paid'] = $objd->paid;
|
||||||
$nofile['amount_ht'] = $objd->total_ht;
|
$nofile['amount_ht'] = $objd->total_ht;
|
||||||
@ -254,6 +264,7 @@ if (($action == "searchfiles" || $action == "dl")) {
|
|||||||
foreach ($files as $key => $file)
|
foreach ($files as $key => $file)
|
||||||
{
|
{
|
||||||
$file['id'] = $objd->id;
|
$file['id'] = $objd->id;
|
||||||
|
$file['entity'] = $objd->entity;
|
||||||
$file['date'] = $db->idate($objd->date);
|
$file['date'] = $db->idate($objd->date);
|
||||||
$file['paid'] = $objd->paid;
|
$file['paid'] = $objd->paid;
|
||||||
$file['amount_ht'] = $objd->total_ht;
|
$file['amount_ht'] = $objd->total_ht;
|
||||||
@ -320,6 +331,10 @@ if ($result && $action == "dl" && !$error)
|
|||||||
dol_mkdir($dirfortmpfile);
|
dol_mkdir($dirfortmpfile);
|
||||||
|
|
||||||
$log = $langs->transnoentitiesnoconv("Type");
|
$log = $langs->transnoentitiesnoconv("Type");
|
||||||
|
if (!empty($conf->multicompany->enabled) && is_object($mc))
|
||||||
|
{
|
||||||
|
$log .= ','.$langs->transnoentitiesnoconv("Entity");
|
||||||
|
}
|
||||||
$log .= ','.$langs->transnoentitiesnoconv("Date");
|
$log .= ','.$langs->transnoentitiesnoconv("Date");
|
||||||
$log .= ','.$langs->transnoentitiesnoconv("Ref");
|
$log .= ','.$langs->transnoentitiesnoconv("Ref");
|
||||||
$log .= ','.$langs->transnoentitiesnoconv("TotalHT");
|
$log .= ','.$langs->transnoentitiesnoconv("TotalHT");
|
||||||
@ -348,6 +363,10 @@ if ($result && $action == "dl" && !$error)
|
|||||||
}
|
}
|
||||||
|
|
||||||
$log .= $file['item'];
|
$log .= $file['item'];
|
||||||
|
if (!empty($conf->multicompany->enabled) && is_object($mc))
|
||||||
|
{
|
||||||
|
$log .= ','.(empty($arrayofentities[$file['entity']]) ? $file['entity'] : $arrayofentities[$file['entity']]);
|
||||||
|
}
|
||||||
$log .= ','.dol_print_date($file['date'], 'dayrfc');
|
$log .= ','.dol_print_date($file['date'], 'dayrfc');
|
||||||
$log .= ','.$file['ref'];
|
$log .= ','.$file['ref'];
|
||||||
$log .= ','.$file['amount_ht'];
|
$log .= ','.$file['amount_ht'];
|
||||||
@ -389,11 +408,13 @@ $form = new Form($db);
|
|||||||
$userstatic = new User($db);
|
$userstatic = new User($db);
|
||||||
|
|
||||||
$title = $langs->trans("ComptaFiles").' - '.$langs->trans("List");
|
$title = $langs->trans("ComptaFiles").' - '.$langs->trans("List");
|
||||||
|
$help_url = '';
|
||||||
|
|
||||||
llxHeader('', $title, $help_url);
|
llxHeader('', $title, $help_url);
|
||||||
|
|
||||||
$h = 0;
|
$h = 0;
|
||||||
$head[$h][0] = $_SERVER["PHP_SELF"].$varlink;
|
$head = array();
|
||||||
|
$head[$h][0] = $_SERVER["PHP_SELF"];
|
||||||
$head[$h][1] = $langs->trans("AccountantFiles");
|
$head[$h][1] = $langs->trans("AccountantFiles");
|
||||||
$head[$h][2] = 'AccountancyFiles';
|
$head[$h][2] = 'AccountancyFiles';
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user