Merge branch '16.0' of git@github.com:Dolibarr/dolibarr.git into 16.0
This commit is contained in:
commit
7e1ee78168
@ -441,26 +441,40 @@ class AccountingJournal extends CommonObject
|
|||||||
$langs->loadLangs(array("assets"));
|
$langs->loadLangs(array("assets"));
|
||||||
|
|
||||||
// Clean parameters
|
// Clean parameters
|
||||||
if (empty($type)) $type = 'view';
|
if (empty($type)) {
|
||||||
if (empty($in_bookkeeping)) $in_bookkeeping = 'notyet';
|
$type = 'view';
|
||||||
|
}
|
||||||
|
if (empty($in_bookkeeping)) {
|
||||||
|
$in_bookkeeping = 'notyet';
|
||||||
|
}
|
||||||
|
|
||||||
$sql = "";
|
$sql = "";
|
||||||
if ($in_bookkeeping == 'already' || $in_bookkeeping == 'notyet') {
|
|
||||||
|
// FIXME sql error with Mysql 5.7
|
||||||
|
/*if ($in_bookkeeping == 'already' || $in_bookkeeping == 'notyet') {
|
||||||
$sql .= "WITH in_accounting_bookkeeping(fk_docdet) AS (";
|
$sql .= "WITH in_accounting_bookkeeping(fk_docdet) AS (";
|
||||||
$sql .= " SELECT DISTINCT fk_docdet";
|
$sql .= " SELECT DISTINCT fk_docdet";
|
||||||
$sql .= " FROM " . MAIN_DB_PREFIX . "accounting_bookkeeping";
|
$sql .= " FROM " . MAIN_DB_PREFIX . "accounting_bookkeeping";
|
||||||
$sql .= " WHERE doc_type = 'asset'";
|
$sql .= " WHERE doc_type = 'asset'";
|
||||||
$sql .= ")";
|
$sql .= ")";
|
||||||
}
|
}*/
|
||||||
|
|
||||||
$sql .= "SELECT ad.fk_asset AS rowid, a.ref AS asset_ref, a.label AS asset_label, a.acquisition_value_ht AS asset_acquisition_value_ht";
|
$sql .= "SELECT ad.fk_asset AS rowid, a.ref AS asset_ref, a.label AS asset_label, a.acquisition_value_ht AS asset_acquisition_value_ht";
|
||||||
$sql .= ", a.disposal_date AS asset_disposal_date, a.disposal_amount_ht AS asset_disposal_amount_ht, a.disposal_subject_to_vat AS asset_disposal_subject_to_vat";
|
$sql .= ", a.disposal_date AS asset_disposal_date, a.disposal_amount_ht AS asset_disposal_amount_ht, a.disposal_subject_to_vat AS asset_disposal_subject_to_vat";
|
||||||
$sql .= ", ad.rowid AS depreciation_id, ad.depreciation_mode, ad.ref AS depreciation_ref, ad.depreciation_date, ad.depreciation_ht, ad.accountancy_code_debit, ad.accountancy_code_credit";
|
$sql .= ", ad.rowid AS depreciation_id, ad.depreciation_mode, ad.ref AS depreciation_ref, ad.depreciation_date, ad.depreciation_ht, ad.accountancy_code_debit, ad.accountancy_code_credit";
|
||||||
$sql .= " FROM " . MAIN_DB_PREFIX . "asset_depreciation as ad";
|
$sql .= " FROM " . MAIN_DB_PREFIX . "asset_depreciation as ad";
|
||||||
$sql .= " LEFT JOIN " . MAIN_DB_PREFIX . "asset as a ON a.rowid = ad.fk_asset";
|
$sql .= " LEFT JOIN " . MAIN_DB_PREFIX . "asset as a ON a.rowid = ad.fk_asset";
|
||||||
if ($in_bookkeeping == 'already' || $in_bookkeeping == 'notyet') {
|
// FIXME sql error with Mysql 5.7
|
||||||
|
/*if ($in_bookkeeping == 'already' || $in_bookkeeping == 'notyet') {
|
||||||
$sql .= " LEFT JOIN in_accounting_bookkeeping as iab ON iab.fk_docdet = ad.rowid";
|
$sql .= " LEFT JOIN in_accounting_bookkeeping as iab ON iab.fk_docdet = ad.rowid";
|
||||||
}
|
}*/
|
||||||
$sql .= " WHERE a.entity IN (" . getEntity('asset', 0) . ')'; // We don't share object for accountancy, we use source object sharing
|
$sql .= " WHERE a.entity IN (" . getEntity('asset', 0) . ')'; // We don't share object for accountancy, we use source object sharing
|
||||||
|
// Compatibility with Mysql 5.7
|
||||||
|
if ($in_bookkeeping == 'already') {
|
||||||
|
$sql .= " AND EXISTS (SELECT iab.fk_docdet FROM " . MAIN_DB_PREFIX . "accounting_bookkeeping AS iab WHERE iab.fk_docdet = ad.rowid AND doc_type = 'asset')";
|
||||||
|
} elseif ($in_bookkeeping == 'notyet') {
|
||||||
|
$sql .= " AND NOT EXISTS (SELECT iab.fk_docdet FROM " . MAIN_DB_PREFIX . "accounting_bookkeeping AS iab WHERE iab.fk_docdet = ad.rowid AND doc_type = 'asset')";
|
||||||
|
}
|
||||||
$sql .= " AND ad.ref != ''"; // not reversal lines
|
$sql .= " AND ad.ref != ''"; // not reversal lines
|
||||||
if ($date_start && $date_end) {
|
if ($date_start && $date_end) {
|
||||||
$sql .= " AND ad.depreciation_date >= '" . $this->db->idate($date_start) . "' AND ad.depreciation_date <= '" . $this->db->idate($date_end) . "'";
|
$sql .= " AND ad.depreciation_date >= '" . $this->db->idate($date_start) . "' AND ad.depreciation_date <= '" . $this->db->idate($date_end) . "'";
|
||||||
@ -470,9 +484,10 @@ class AccountingJournal extends CommonObject
|
|||||||
$sql .= " AND ad.depreciation_date >= '" . $this->db->idate($conf->global->ACCOUNTING_DATE_START_BINDING) . "'";
|
$sql .= " AND ad.depreciation_date >= '" . $this->db->idate($conf->global->ACCOUNTING_DATE_START_BINDING) . "'";
|
||||||
}
|
}
|
||||||
// Already in bookkeeping or not
|
// Already in bookkeeping or not
|
||||||
if ($in_bookkeeping == 'already' || $in_bookkeeping == 'notyet') {
|
// FIXME sql error with Mysql 5.7
|
||||||
|
/*if ($in_bookkeeping == 'already' || $in_bookkeeping == 'notyet') {
|
||||||
$sql .= " AND iab.fk_docdet IS" . ($in_bookkeeping == 'already' ? " NOT" : "") . " NULL";
|
$sql .= " AND iab.fk_docdet IS" . ($in_bookkeeping == 'already' ? " NOT" : "") . " NULL";
|
||||||
}
|
}*/
|
||||||
$sql .= " ORDER BY ad.depreciation_date";
|
$sql .= " ORDER BY ad.depreciation_date";
|
||||||
|
|
||||||
dol_syslog(__METHOD__, LOG_DEBUG);
|
dol_syslog(__METHOD__, LOG_DEBUG);
|
||||||
|
|||||||
@ -289,6 +289,7 @@ print '<td class="right">' . $langs->trans("Debit") . '</td>';
|
|||||||
print '<td class="right">' . $langs->trans("Credit") . '</td>';
|
print '<td class="right">' . $langs->trans("Credit") . '</td>';
|
||||||
print "</tr>\n";
|
print "</tr>\n";
|
||||||
|
|
||||||
|
if (is_array($journal_data) && !empty($journal_data)) {
|
||||||
foreach ($journal_data as $element_id => $element) {
|
foreach ($journal_data as $element_id => $element) {
|
||||||
foreach ($element['blocks'] as $lines) {
|
foreach ($element['blocks'] as $lines) {
|
||||||
foreach ($lines as $line) {
|
foreach ($lines as $line) {
|
||||||
@ -305,6 +306,7 @@ foreach ($journal_data as $element_id => $element) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
print '</table>';
|
print '</table>';
|
||||||
print '</div>';
|
print '</div>';
|
||||||
|
|||||||
@ -119,6 +119,15 @@ class AdvanceTargetingMailing extends CommonObject
|
|||||||
'3' => $langs->trans('ThirdParty'),
|
'3' => $langs->trans('ThirdParty'),
|
||||||
'4' => $langs->trans('ContactsWithThirdpartyFilter')
|
'4' => $langs->trans('ContactsWithThirdpartyFilter')
|
||||||
);
|
);
|
||||||
|
|
||||||
|
require_once DOL_DOCUMENT_ROOT.'/societe/class/client.class.php';
|
||||||
|
$customerStatic = new Client($this->db);
|
||||||
|
$customerStatic->loadCacheOfProspStatus();
|
||||||
|
if (!empty($customerStatic->cacheprospectstatus)) {
|
||||||
|
foreach ($customerStatic->cacheprospectstatus as $dataProspectSt) {
|
||||||
|
$this->type_statuscommprospect[$dataProspectSt['id']]=$dataProspectSt['label'];
|
||||||
|
}
|
||||||
|
} else {
|
||||||
$this->type_statuscommprospect = array(
|
$this->type_statuscommprospect = array(
|
||||||
-1 => $langs->trans("StatusProspect-1"),
|
-1 => $langs->trans("StatusProspect-1"),
|
||||||
0 => $langs->trans("StatusProspect0"),
|
0 => $langs->trans("StatusProspect0"),
|
||||||
@ -127,6 +136,7 @@ class AdvanceTargetingMailing extends CommonObject
|
|||||||
3 => $langs->trans("StatusProspect3")
|
3 => $langs->trans("StatusProspect3")
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create object into database
|
* Create object into database
|
||||||
|
|||||||
@ -355,7 +355,7 @@ class FormAdvTargetEmailing extends Form
|
|||||||
$out = '';
|
$out = '';
|
||||||
|
|
||||||
$sql = "SELECT c.rowid, c.name, c.fk_element";
|
$sql = "SELECT c.rowid, c.name, c.fk_element";
|
||||||
$sql .= " FROM ".MAIN_DB_PREFIX."advtargetemailing as c";
|
$sql .= " FROM ".MAIN_DB_PREFIX."mailing_advtarget as c";
|
||||||
$sql .= " WHERE type_element = '".$this->db->escape($type_element)."'";
|
$sql .= " WHERE type_element = '".$this->db->escape($type_element)."'";
|
||||||
$sql .= " ORDER BY c.name";
|
$sql .= " ORDER BY c.name";
|
||||||
|
|
||||||
|
|||||||
@ -4812,7 +4812,7 @@ class Product extends CommonObject
|
|||||||
$sql .= " AND pa.fk_product_fils <> ".((int) $id); // This should not happens, it is to avoid infinite loop if it happens
|
$sql .= " AND pa.fk_product_fils <> ".((int) $id); // This should not happens, it is to avoid infinite loop if it happens
|
||||||
$sql.= " ORDER BY pa.rang";
|
$sql.= " ORDER BY pa.rang";
|
||||||
|
|
||||||
dol_syslog(get_class($this).'::getChildsArbo id='.$id.' level='.$level. ' parents='.implode(',', $parents), LOG_DEBUG);
|
dol_syslog(get_class($this).'::getChildsArbo id='.$id.' level='.$level. ' parents='.(is_array($parents)?implode(',', $parents):$parents), LOG_DEBUG);
|
||||||
|
|
||||||
if ($level == 1) {
|
if ($level == 1) {
|
||||||
$alreadyfound = array($id=>1); // We init array of found object to start of tree, so if we found it later (should not happened), we stop immediatly
|
$alreadyfound = array($id=>1); // We init array of found object to start of tree, so if we found it later (should not happened), we stop immediatly
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user