Merge branch '11.0' of git@github.com:Dolibarr/dolibarr.git into 11.0
This commit is contained in:
commit
5e4e02337b
@ -35,7 +35,7 @@ $endaccountingperiod = dol_print_date(dol_now(), '%Y%m%d');
|
|||||||
header('Content-Type: text/csv');
|
header('Content-Type: text/csv');
|
||||||
|
|
||||||
|
|
||||||
if ($conf->global->ACCOUNTING_EXPORT_MODELCSV == "11" && $type_export == "general_ledger") // Specific filename for FEC model export into the general ledger
|
if ($this->getFormatCode($formatexportset) == "fec" && $type_export == "general_ledger") // Specific filename for FEC model export into the general ledger
|
||||||
{
|
{
|
||||||
// FEC format is defined here: https://www.legifrance.gouv.fr/affichCodeArticle.do?idArticle=LEGIARTI000027804775&cidTexte=LEGITEXT000006069583&dateTexte=20130802&oldAction=rechCodeArticle
|
// FEC format is defined here: https://www.legifrance.gouv.fr/affichCodeArticle.do?idArticle=LEGIARTI000027804775&cidTexte=LEGITEXT000006069583&dateTexte=20130802&oldAction=rechCodeArticle
|
||||||
if (empty($search_date_end))
|
if (empty($search_date_end))
|
||||||
|
|||||||
@ -53,7 +53,7 @@ class Setup extends DolibarrApi
|
|||||||
* @param int $limit Number of items per page
|
* @param int $limit Number of items per page
|
||||||
* @param int $page Page number {@min 0}
|
* @param int $page Page number {@min 0}
|
||||||
* @param int $active Payment type is active or not {@min 0} {@max 1}
|
* @param int $active Payment type is active or not {@min 0} {@max 1}
|
||||||
* @param string $sqlfilters SQL criteria to filter with. Syntax example "(t.code:=:'CHQ')"
|
* @param string $sqlfilters SQL criteria to filter with. Syntax example "(t.code:=:'OrderByWWW')"
|
||||||
*
|
*
|
||||||
* @url GET dictionary/ordering_methods
|
* @url GET dictionary/ordering_methods
|
||||||
*
|
*
|
||||||
|
|||||||
@ -556,7 +556,7 @@ class Loan extends CommonObject
|
|||||||
$table = 'payment_loan';
|
$table = 'payment_loan';
|
||||||
$field = 'fk_loan';
|
$field = 'fk_loan';
|
||||||
|
|
||||||
$sql = 'SELECT sum(amount) as amount';
|
$sql = 'SELECT sum(amount_capital) as amount';
|
||||||
$sql .= ' FROM '.MAIN_DB_PREFIX.$table;
|
$sql .= ' FROM '.MAIN_DB_PREFIX.$table;
|
||||||
$sql .= ' WHERE '.$field.' = '.$this->id;
|
$sql .= ' WHERE '.$field.' = '.$this->id;
|
||||||
|
|
||||||
|
|||||||
@ -607,18 +607,29 @@ class Project extends CommonObject
|
|||||||
{
|
{
|
||||||
$sql = 'SELECT ms.rowid, ms.fk_user_author as fk_user FROM '.MAIN_DB_PREFIX."stock_mouvement as ms, ".MAIN_DB_PREFIX."entrepot as e WHERE e.rowid = ms.fk_entrepot AND e.entity IN (".getEntity('stock').") AND ms.origintype = 'project' AND ms.fk_origin IN (".$ids.") AND ms.type_mouvement = 1";
|
$sql = 'SELECT ms.rowid, ms.fk_user_author as fk_user FROM '.MAIN_DB_PREFIX."stock_mouvement as ms, ".MAIN_DB_PREFIX."entrepot as e WHERE e.rowid = ms.fk_entrepot AND e.entity IN (".getEntity('stock').") AND ms.origintype = 'project' AND ms.fk_origin IN (".$ids.") AND ms.type_mouvement = 1";
|
||||||
}
|
}
|
||||||
|
elseif ($type == 'loan')
|
||||||
|
{
|
||||||
|
$sql = 'SELECT l.rowid, l.fk_user_author as fk_user FROM '.MAIN_DB_PREFIX."loan as l WHERE l.entity IN (".getEntity('loan').")";
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$sql = "SELECT rowid FROM ".MAIN_DB_PREFIX.$tablename." WHERE ".$projectkey." IN (".$ids.") AND entity IN (".getEntity($type).")";
|
$sql = "SELECT rowid FROM ".MAIN_DB_PREFIX.$tablename." WHERE ".$projectkey." IN (".$ids.") AND entity IN (".getEntity($type).")";
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($dates > 0 && ($type != 'project_task')) // For table project_taks, we want the filter on date apply on project_time_spent table
|
if($dates > 0 && $type == 'loan'){
|
||||||
|
$sql .= " AND (dateend > '".$this->db->idate($dates)."' OR dateend IS NULL)";
|
||||||
|
}
|
||||||
|
elseif ($dates > 0 && ($type != 'project_task')) // For table project_taks, we want the filter on date apply on project_time_spent table
|
||||||
{
|
{
|
||||||
if (empty($datefieldname) && !empty($this->table_element_date)) $datefieldname = $this->table_element_date;
|
if (empty($datefieldname) && !empty($this->table_element_date)) $datefieldname = $this->table_element_date;
|
||||||
if (empty($datefieldname)) return 'Error this object has no date field defined';
|
if (empty($datefieldname)) return 'Error this object has no date field defined';
|
||||||
$sql .= " AND (".$datefieldname." >= '".$this->db->idate($dates)."' OR ".$datefieldname." IS NULL)";
|
$sql .= " AND (".$datefieldname." >= '".$this->db->idate($dates)."' OR ".$datefieldname." IS NULL)";
|
||||||
}
|
}
|
||||||
if ($datee > 0 && ($type != 'project_task')) // For table project_taks, we want the filter on date apply on project_time_spent table
|
|
||||||
|
if($datee > 0 && $type == 'loan'){
|
||||||
|
$sql .= " AND (datestart < '".$this->db->idate($datee)."' OR datestart IS NULL)";
|
||||||
|
}
|
||||||
|
elseif ($datee > 0 && ($type != 'project_task')) // For table project_taks, we want the filter on date apply on project_time_spent table
|
||||||
{
|
{
|
||||||
if (empty($datefieldname) && !empty($this->table_element_date)) $datefieldname = $this->table_element_date;
|
if (empty($datefieldname) && !empty($this->table_element_date)) $datefieldname = $this->table_element_date;
|
||||||
if (empty($datefieldname)) return 'Error this object has no date field defined';
|
if (empty($datefieldname)) return 'Error this object has no date field defined';
|
||||||
|
|||||||
@ -49,6 +49,7 @@ if (! empty($conf->expensereport->enabled)) require_once DOL_DOCUMENT_ROOT.'/exp
|
|||||||
if (! empty($conf->agenda->enabled)) require_once DOL_DOCUMENT_ROOT.'/comm/action/class/actioncomm.class.php';
|
if (! empty($conf->agenda->enabled)) require_once DOL_DOCUMENT_ROOT.'/comm/action/class/actioncomm.class.php';
|
||||||
if (! empty($conf->don->enabled)) require_once DOL_DOCUMENT_ROOT.'/don/class/don.class.php';
|
if (! empty($conf->don->enabled)) require_once DOL_DOCUMENT_ROOT.'/don/class/don.class.php';
|
||||||
if (! empty($conf->loan->enabled)) require_once DOL_DOCUMENT_ROOT.'/loan/class/loan.class.php';
|
if (! empty($conf->loan->enabled)) require_once DOL_DOCUMENT_ROOT.'/loan/class/loan.class.php';
|
||||||
|
if (! empty($conf->loan->enabled)) require_once DOL_DOCUMENT_ROOT.'/loan/class/loanschedule.class.php';
|
||||||
if (! empty($conf->stock->enabled)) require_once DOL_DOCUMENT_ROOT.'/product/stock/class/mouvementstock.class.php';
|
if (! empty($conf->stock->enabled)) require_once DOL_DOCUMENT_ROOT.'/product/stock/class/mouvementstock.class.php';
|
||||||
if (! empty($conf->tax->enabled)) require_once DOL_DOCUMENT_ROOT.'/compta/sociales/class/chargesociales.class.php';
|
if (! empty($conf->tax->enabled)) require_once DOL_DOCUMENT_ROOT.'/compta/sociales/class/chargesociales.class.php';
|
||||||
if (! empty($conf->banque->enabled)) require_once DOL_DOCUMENT_ROOT.'/compta/bank/class/paymentvarious.class.php';
|
if (! empty($conf->banque->enabled)) require_once DOL_DOCUMENT_ROOT.'/compta/bank/class/paymentvarious.class.php';
|
||||||
@ -650,6 +651,31 @@ foreach ($listofreferent as $key => $value)
|
|||||||
$total_ht_by_line = price2num($tmp['amount'], 'MT');
|
$total_ht_by_line = price2num($tmp['amount'], 'MT');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
elseif ($key == 'loan'){
|
||||||
|
if((empty($dates) && empty($datee)) || (intval($dates) <= $element->datestart && intval($datee) >= $element->dateend)){
|
||||||
|
// Get total loan
|
||||||
|
$total_ht_by_line = -$element->capital;
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
// Get loan schedule according to date filter
|
||||||
|
$total_ht_by_line = 0;
|
||||||
|
$loanScheduleStatic = new LoanSchedule($element->db);
|
||||||
|
$loanScheduleStatic->fetchAll($element->id);
|
||||||
|
if(!empty($loanScheduleStatic->lines)){
|
||||||
|
foreach($loanScheduleStatic->lines as $loanSchedule){
|
||||||
|
/**
|
||||||
|
* @var $loanSchedule LoanSchedule
|
||||||
|
*/
|
||||||
|
if( ($loanSchedule->datep >= $dates && $loanSchedule->datep <= $datee) // dates filter is defined
|
||||||
|
|| !empty($dates) && empty($datee) && $loanSchedule->datep >= $dates && $loanSchedule->datep <= dol_now()
|
||||||
|
|| empty($dates) && !empty($datee) && $loanSchedule->datep <= $datee
|
||||||
|
){
|
||||||
|
$total_ht_by_line = -$loanSchedule->amount_capital;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
else $total_ht_by_line = $element->total_ht;
|
else $total_ht_by_line = $element->total_ht;
|
||||||
|
|
||||||
// Define $total_ttc_by_line
|
// Define $total_ttc_by_line
|
||||||
@ -661,6 +687,9 @@ foreach ($listofreferent as $key => $value)
|
|||||||
$defaultvat = get_default_tva($mysoc, $mysoc);
|
$defaultvat = get_default_tva($mysoc, $mysoc);
|
||||||
$total_ttc_by_line = price2num($total_ht_by_line * (1 + ($defaultvat / 100)), 'MT');
|
$total_ttc_by_line = price2num($total_ht_by_line * (1 + ($defaultvat / 100)), 'MT');
|
||||||
}
|
}
|
||||||
|
elseif ($key == 'loan'){
|
||||||
|
$total_ttc_by_line = $total_ht_by_line; // For loan there is actually no taxe managed in Dolibarr
|
||||||
|
}
|
||||||
else $total_ttc_by_line = $element->total_ttc;
|
else $total_ttc_by_line = $element->total_ttc;
|
||||||
|
|
||||||
// Change sign of $total_ht_by_line and $total_ttc_by_line for some cases
|
// Change sign of $total_ht_by_line and $total_ttc_by_line for some cases
|
||||||
@ -829,11 +858,13 @@ foreach ($listofreferent as $key => $value)
|
|||||||
// Amount HT
|
// Amount HT
|
||||||
//if (empty($value['disableamount']) && ! in_array($tablename, array('projet_task'))) print '<td class="right" width="120">'.$langs->trans("AmountHT").'</td>';
|
//if (empty($value['disableamount']) && ! in_array($tablename, array('projet_task'))) print '<td class="right" width="120">'.$langs->trans("AmountHT").'</td>';
|
||||||
//elseif (empty($value['disableamount']) && in_array($tablename, array('projet_task'))) print '<td class="right" width="120">'.$langs->trans("Amount").'</td>';
|
//elseif (empty($value['disableamount']) && in_array($tablename, array('projet_task'))) print '<td class="right" width="120">'.$langs->trans("Amount").'</td>';
|
||||||
if (empty($value['disableamount'])) print '<td class="right" width="120">'.$langs->trans("AmountHT").'</td>';
|
if ($key == 'loan') print '<td class="right" width="120">'.$langs->trans("LoanCapital").'</td>';
|
||||||
|
elseif (empty($value['disableamount'])) print '<td class="right" width="120">'.$langs->trans("AmountHT").'</td>';
|
||||||
else print '<td width="120"></td>';
|
else print '<td width="120"></td>';
|
||||||
// Amount TTC
|
// Amount TTC
|
||||||
//if (empty($value['disableamount']) && ! in_array($tablename, array('projet_task'))) print '<td class="right" width="120">'.$langs->trans("AmountTTC").'</td>';
|
//if (empty($value['disableamount']) && ! in_array($tablename, array('projet_task'))) print '<td class="right" width="120">'.$langs->trans("AmountTTC").'</td>';
|
||||||
if (empty($value['disableamount'])) print '<td class="right" width="120">'.$langs->trans("AmountTTC").'</td>';
|
if ($key == 'loan') print '<td class="right" width="120">'.$langs->trans("RemainderToPay").'</td>';
|
||||||
|
elseif (empty($value['disableamount'])) print '<td class="right" width="120">'.$langs->trans("AmountTTC").'</td>';
|
||||||
else print '<td width="120"></td>';
|
else print '<td width="120"></td>';
|
||||||
// Status
|
// Status
|
||||||
if (in_array($tablename, array('projet_task'))) print '<td class="right" width="200">'.$langs->trans("ProgressDeclared").'</td>';
|
if (in_array($tablename, array('projet_task'))) print '<td class="right" width="200">'.$langs->trans("ProgressDeclared").'</td>';
|
||||||
@ -928,6 +959,10 @@ foreach ($listofreferent as $key => $value)
|
|||||||
print $element->getNomUrl(1, 'withproject', 'time');
|
print $element->getNomUrl(1, 'withproject', 'time');
|
||||||
print ' - '.dol_trunc($element->label, 48);
|
print ' - '.dol_trunc($element->label, 48);
|
||||||
}
|
}
|
||||||
|
elseif ($key == 'loan'){
|
||||||
|
print $element->getNomUrl(1);
|
||||||
|
print ' - '.dol_trunc($element->label, 48);
|
||||||
|
}
|
||||||
else print $element->getNomUrl(1);
|
else print $element->getNomUrl(1);
|
||||||
|
|
||||||
$element_doc = $element->element;
|
$element_doc = $element->element;
|
||||||
@ -977,6 +1012,10 @@ foreach ($listofreferent as $key => $value)
|
|||||||
if (empty($date)) $date = $element->datev;
|
if (empty($date)) $date = $element->datev;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
elseif ($key == 'loan'){
|
||||||
|
$date = $element->datestart;
|
||||||
|
}
|
||||||
|
|
||||||
print '<td class="center">';
|
print '<td class="center">';
|
||||||
if ($tablename == 'actioncomm')
|
if ($tablename == 'actioncomm')
|
||||||
{
|
{
|
||||||
@ -1050,6 +1089,7 @@ foreach ($listofreferent as $key => $value)
|
|||||||
$othermessage = $form->textwithpicto($langs->trans("NotAvailable"), $langs->trans("ModuleSalaryToDefineHourlyRateMustBeEnabled"));
|
$othermessage = $form->textwithpicto($langs->trans("NotAvailable"), $langs->trans("ModuleSalaryToDefineHourlyRateMustBeEnabled"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
elseif ($key == 'loan') $total_ht_by_line = $element->capital;
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$total_ht_by_line = $element->total_ht;
|
$total_ht_by_line = $element->total_ht;
|
||||||
@ -1097,6 +1137,7 @@ foreach ($listofreferent as $key => $value)
|
|||||||
$othermessage = $form->textwithpicto($langs->trans("NotAvailable"), $langs->trans("ModuleSalaryToDefineHourlyRateMustBeEnabled"));
|
$othermessage = $form->textwithpicto($langs->trans("NotAvailable"), $langs->trans("ModuleSalaryToDefineHourlyRateMustBeEnabled"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
elseif ($key == 'loan') $total_ttc_by_line = $element->capital - $element->getSumPayment();
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$total_ttc_by_line = $element->total_ttc;
|
$total_ttc_by_line = $element->total_ttc;
|
||||||
@ -1204,7 +1245,8 @@ foreach ($listofreferent as $key => $value)
|
|||||||
print '<td class="right">';
|
print '<td class="right">';
|
||||||
if (empty($value['disableamount']))
|
if (empty($value['disableamount']))
|
||||||
{
|
{
|
||||||
if ($tablename != 'projet_task' || !empty($conf->salaries->enabled)) print ''.$langs->trans("TotalHT").' : '.price($total_ht);
|
if ($key == 'loan') print $langs->trans("Total").' '.$langs->trans("LoanCapital").' : '.price($total_ttc);
|
||||||
|
elseif ($tablename != 'projet_task' || !empty($conf->salaries->enabled)) print ''.$langs->trans("TotalHT").' : '.price($total_ht);
|
||||||
}
|
}
|
||||||
print '</td>';
|
print '</td>';
|
||||||
//if (empty($value['disableamount']) && ! in_array($tablename, array('projet_task'))) print '<td class="right" width="100">'.$langs->trans("TotalTTC").' : '.price($total_ttc).'</td>';
|
//if (empty($value['disableamount']) && ! in_array($tablename, array('projet_task'))) print '<td class="right" width="100">'.$langs->trans("TotalTTC").' : '.price($total_ttc).'</td>';
|
||||||
@ -1212,7 +1254,8 @@ foreach ($listofreferent as $key => $value)
|
|||||||
print '<td class="right">';
|
print '<td class="right">';
|
||||||
if (empty($value['disableamount']))
|
if (empty($value['disableamount']))
|
||||||
{
|
{
|
||||||
if ($tablename != 'projet_task' || !empty($conf->salaries->enabled)) print $langs->trans("TotalTTC").' : '.price($total_ttc);
|
if ($key == 'loan') print $langs->trans("Total").' '.$langs->trans("RemainderToPay").' : '.price($total_ttc);
|
||||||
|
elseif ($tablename != 'projet_task' || !empty($conf->salaries->enabled)) print $langs->trans("TotalTTC").' : '.price($total_ttc);
|
||||||
}
|
}
|
||||||
print '</td>';
|
print '</td>';
|
||||||
print '<td> </td>';
|
print '<td> </td>';
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user