2
0
forked from Wavyzz/dolibarr

Merge branch '11.0' of git@github.com:Dolibarr/dolibarr.git into develop

Conflicts:
	ChangeLog
	htdocs/comm/propal/list.php
	htdocs/filefunc.inc.php
This commit is contained in:
Laurent Destailleur
2020-02-14 19:14:26 +01:00
9 changed files with 107 additions and 31 deletions

View File

@@ -18,6 +18,79 @@ Following changes may create regressions for some external modules, but were nec
***** ChangeLog for 11.0.1 compared to 11.0.0 *****
FIX: advanced target emailing sql and ergonomy.
FIX: After import of a website template, home page was not set.
FIX: Avoid deletion of bank record if in accounting
FIX: compatibility with multicompany (avoid duplicate data)
FIX: Confusion between 'bank reconciled' and 'accounted'. Show both data.
FIX: Count of Stripe payment mode must take test/live into account
FIX: Creation of Stripe card from backoffice must return a clean message
FIX: CVE-201917223
FIX: CVE-201917223
FIX: CVE-2020-7994
FIX: CVE Need permission to be able to develop modules
FIX: #13053
FIX: Disable ticket status change if ticket closed
FIX: doc of dictionnary API
FIX: expedition ceate line new parameter is not required.
FIX: export ledger
FIX: FEC export have specific name
FIX: Filenames must not contains non ascii char or we will get non ascii
FIX: Filter on list of events were lost after "Back to list"
FIX: hasDelay for retained warranty
FIX: If we can change vendor status, we must be able to chane vendor code
FIX: links in products/services index
FIX: Log of authentication ok or ko + CVE-2020-7996
FIX: Look and feel v11
FIX: Mail smtps truncated if content has a line with single .
FIX: missing hook parameter
FIX: Missing include
FIX: need weight short label in shipping doc
FIX: Picture of contact not visible in tooltip
FIX: Problem with column label in subscription list
FIX: ref_client not visible in tooltip.
FIX: search filter on extrafields were not restored after "Back to list"
FIX: situation invoice: allow excess paid to be converted to discount
FIX: situation invoice: bad amount for previous payments because of local variable overwriting a more global one
FIX: situation invoice: can't convert excess received to discount & bad previous payment amount
FIX: SQL request and phpunit
FIX: Update export_files.php
FIX: Use ref into label of ticket message
FIX: use "usergroup" instead of "user"
FIX: Warning on admin/export_files
FIX: #10203
FIX: default filtering for 'select' extrafields should use "=", not "LIKE"
FIX: #11975 When a product is split between multiple pages in a document, prices/quantity/etc appear on the last relevant page
FIX: #12760 #12763 #12755 #12765 #12751
FIX: #12874
FIX: #12892
FIX: #12908 User login with credentials from self-subscription form fails
FIX: #12932
FIX: #12966
FIX: #12973
FIX: #12974
FIX: #12975
FIX: #12978
FIX: #12986
FIX: #12991
FIX: #12992
FIX: #12995
FIX: #13018 Extrafields Supplier invoice
FIX: #13019
FIX: #13022
FIX: #13028
FIX: #13038 ExpenseReport PDF - custom category description is not correct
FIX: #13046 More complete
FIX: #13048
FIX: #13050
FIX: #13077 Replace left join with inner join (left join was useless)
FIX: #13085
FIX: #13094
FIX: #13096
FIX: #13100
***** ChangeLog for 11.0.0 compared to 10.0.0 *****
For Users:

View File

@@ -57,7 +57,7 @@ if ($accountancyexport->getFormatCode($formatexportset) == $accountancyexport::$
$endaccountingperiod = dol_print_date(dol_get_last_day($tmparray['year'], $tmparray['mon']), 'dayxcard');
$completefilename = $siren . "FEC" . $endaccountingperiod . "." . $format;
$completefilename = $siren . "FEC" . $endaccountingperiod . ".txt";
}
else
{

View File

@@ -134,9 +134,8 @@ $head = email_admin_prepare_head();
// List of sending methods
$listofmethods = array();
$listofmethods['mail'] = 'PHP mail function';
//$listofmethods['simplemail']='Simplemail class';
$listofmethods['smtps'] = 'SMTP/SMTPS socket library';
$listofmethods['swiftmailer'] = 'Swift Mailer socket library';
if (version_compare(phpversion(), '7.0', '>=')) $listofmethods['swiftmailer'] = 'Swift Mailer socket library';
if ($action == 'edit')

View File

@@ -776,8 +776,9 @@ if ($resql)
$objectstatic->id = $obj->rowid;
$objectstatic->ref = $obj->ref;
$objectstatic->note_private = $obj->note_private;
$objectstatic->ref_client = $obj->ref_client;
$objectstatic->note_public = $obj->note_public;
$objectstatic->note_private = $obj->note_private;
$companystatic->id = $obj->socid;
$companystatic->name = $obj->name;
@@ -824,7 +825,7 @@ if ($resql)
if (!empty($arrayfields['p.ref_client']['checked']))
{
// Customer ref
print '<td class="nowrap">';
print '<td class="nowrap tdoverflowmax200">';
print $obj->ref_client;
print '</td>';
if (!$i) $totalarray['nbfield']++;

View File

@@ -966,7 +966,7 @@ if ($resql)
// Ref customer
if (!empty($arrayfields['c.ref_client']['checked']))
{
print '<td>'.$obj->ref_client.'</td>';
print '<td class="nowrap tdoverflowmax200">'.$obj->ref_client.'</td>';
if (!$i) $totalarray['nbfield']++;
}

View File

@@ -793,7 +793,7 @@ if (empty($reshook))
$canconvert = 0;
if ($object->type == Facture::TYPE_DEPOSIT && empty($discountcheck->id)) $canconvert = 1; // we can convert deposit into discount if deposit is payed (completely, partially or not at all) and not already converted (see real condition into condition used to show button converttoreduc)
if (($object->type == Facture::TYPE_CREDIT_NOTE || $object->type == Facture::TYPE_STANDARD) && $object->paye == 0 && empty($discountcheck->id)) $canconvert = 1; // we can convert credit note into discount if credit note is not payed back and not already converted and amount of payment is 0 (see real condition into condition used to show button converttoreduc)
if (($object->type == Facture::TYPE_CREDIT_NOTE || $object->type == Facture::TYPE_STANDARD || $object->type == Facture::TYPE_SITUATION) && $object->paye == 0 && empty($discountcheck->id)) $canconvert = 1; // we can convert credit note into discount if credit note is not payed back and not already converted and amount of payment is 0 (see real condition into condition used to show button converttoreduc)
if ($canconvert)
{
$db->begin();
@@ -3640,7 +3640,7 @@ elseif ($id > 0 || !empty($ref))
// Confirmation de la conversion de l'avoir en reduc
if ($action == 'converttoreduc') {
if ($object->type == Facture::TYPE_STANDARD) $type_fac = 'ExcessReceived';
if ($object->type == Facture::TYPE_STANDARD || $object->type == Facture::TYPE_SITUATION) $type_fac = 'ExcessReceived';
elseif ($object->type == Facture::TYPE_CREDIT_NOTE) $type_fac = 'CreditNote';
elseif ($object->type == Facture::TYPE_DEPOSIT) $type_fac = 'Deposit';
$text = $langs->trans('ConfirmConvertToReduc', strtolower($langs->transnoentities($type_fac)));
@@ -4517,7 +4517,7 @@ elseif ($id > 0 || !empty($ref))
$current_situation_counter = array();
foreach ($object->tab_previous_situation_invoice as $prev_invoice) {
$totalpaye = $prev_invoice->getSommePaiement();
$totalpaye_prev = $prev_invoice->getSommePaiement();
$total_prev_ht += $prev_invoice->total_ht;
$total_prev_ttc += $prev_invoice->total_ttc;
$current_situation_counter[] = (($prev_invoice->type == Facture::TYPE_CREDIT_NOTE) ?-1 : 1) * $prev_invoice->situation_counter;
@@ -4528,7 +4528,7 @@ elseif ($id > 0 || !empty($ref))
if (!empty($conf->banque->enabled)) print '<td class="right"></td>';
print '<td class="right">'.price($prev_invoice->total_ht).'</td>';
print '<td class="right">'.price($prev_invoice->total_ttc).'</td>';
print '<td class="right">'.$prev_invoice->getLibStatut(3, $totalpaye).'</td>';
print '<td class="right">'.$prev_invoice->getLibStatut(3, $totalpaye_prev).'</td>';
print '</tr>';
}
}
@@ -5093,7 +5093,7 @@ elseif ($id > 0 || !empty($ref))
}
// Reverse back money or convert to reduction
if ($object->type == Facture::TYPE_CREDIT_NOTE || $object->type == Facture::TYPE_DEPOSIT || $object->type == Facture::TYPE_STANDARD) {
if ($object->type == Facture::TYPE_CREDIT_NOTE || $object->type == Facture::TYPE_DEPOSIT || $object->type == Facture::TYPE_STANDARD || $object->type == Facture::TYPE_SITUATION) {
// For credit note only
if ($object->type == Facture::TYPE_CREDIT_NOTE && $object->statut == 1 && $object->paye == 0 && $usercanissuepayment)
{
@@ -5108,7 +5108,7 @@ elseif ($id > 0 || !empty($ref))
}
// For standard invoice with excess received
if ($object->type == Facture::TYPE_STANDARD && empty($object->paye) && ($object->total_ttc - $totalpaye - $totalcreditnotes - $totaldeposits) < 0 && $usercancreate && empty($discount->id))
if (($object->type == Facture::TYPE_STANDARD || $object->type == Facture::TYPE_SITUATION) && empty($object->paye) && $resteapayer < 0 && $usercancreate && empty($discount->id))
{
print '<a class="butAction'.($conf->use_javascript_ajax ? ' reposition' : '').'" href="'.$_SERVER["PHP_SELF"].'?facid='.$object->id.'&amp;action=converttoreduc">'.$langs->trans('ConvertExcessReceivedToReduc').'</a>';
}

View File

@@ -989,6 +989,7 @@ if ($resql)
$facturestatic->id = $obj->id;
$facturestatic->ref = $obj->ref;
$facturestatic->ref_client = $obj->ref_client;
$facturestatic->type = $obj->type;
$facturestatic->total_ht = $obj->total_ht;
$facturestatic->total_tva = $obj->total_vat;
@@ -1077,7 +1078,7 @@ if ($resql)
// Customer ref
if (!empty($arrayfields['f.ref_client']['checked']))
{
print '<td class="nowrap">';
print '<td class="nowrap tdoverflowmax200">';
print $obj->ref_client;
print '</td>';
if (!$i) $totalarray['nbfield']++;

View File

@@ -123,23 +123,25 @@ $year_end = $tmpe['year'];
$nbofyear = ($year_end - $year_start) + 1;
$commonparams=array();
$commonparams['modecompta']=$modecompta;
$commonparams['sortorder'] = $sortorder;
$commonparams['sortfield'] = $sortfield;
if (!empty($modecompta)) $commonparams['modecompta']=$modecompta;
if (!empty($sortorder)) $commonparams['sortorder'] = $sortorder;
if (!empty($sortfield)) $commonparams['sortfield'] = $sortfield;
$headerparams = array();
$headerparams['date_startyear'] = $date_startyear;
$headerparams['date_startmonth'] = $date_startmonth;
$headerparams['date_startday'] = $date_startday;
$headerparams['date_endyear'] = $date_endyear;
$headerparams['date_endmonth'] = $date_endmonth;
$headerparams['date_endday'] = $date_endday;
if (!empty($date_startyear)) $headerparams['date_startyear'] = $date_startyear;
if (!empty($date_startmonth)) $headerparams['date_startmonth'] = $date_startmonth;
if (!empty($date_startday)) $headerparams['date_startday'] = $date_startday;
if (!empty($date_endyear)) $headerparams['date_endyear'] = $date_endyear;
if (!empty($date_endmonth)) $headerparams['date_endmonth'] = $date_endmonth;
if (!empty($date_endday)) $headerparams['date_endday'] = $date_endday;
if (!empty($year)) $headerparams['year'] = $year;
if (!empty($month)) $headerparams['month'] = $month;
$headerparams['q'] = $q;
$tableparams = array();
$tableparams['search_categ'] = $selected_cat;
$tableparams['search_soc'] = $selected_soc;
$tableparams['search_type'] = $selected_type;
if (!empty($selected_cat)) $tableparams['search_categ'] = $selected_cat;
if (!empty($selected_soc)) $tableparams['search_soc'] = $selected_soc;
if (!empty($selected_type)) $tableparams['search_type'] = $selected_type;
$tableparams['subcat'] = ($subcat === true)?'yes':'';
// Adding common parameters

View File

@@ -433,8 +433,8 @@ if ($resql)
}
$param = '&socid='.$socid;
if (!empty($contextpage) && $contextpage != $_SERVER["PHP_SELF"]) $param .= '&contextpage='.$contextpage;
if ($limit > 0 && $limit != $conf->liste_limit) $param .= '&limit='.$limit;
if (!empty($contextpage) && $contextpage != $_SERVER["PHP_SELF"]) $param .= '&contextpage='.urlencode($contextpage);
if ($limit > 0 && $limit != $conf->liste_limit) $param .= '&limit='.urlencode($limit);
if ($search_all) $param .= '&search_all='.urlencode($search_all);
if ($day) $param .= '&day='.urlencode($day);
if ($month) $param .= '&month='.urlencode($month);
@@ -455,9 +455,9 @@ if ($resql)
if ($search_amount_no_tax) $param .= '&search_amount_no_tax='.urlencode($search_amount_no_tax);
if ($search_amount_all_tax) $param .= '&search_amount_all_tax='.urlencode($search_amount_all_tax);
if ($search_status >= 0) $param .= "&search_status=".urlencode($search_status);
if ($show_files) $param .= '&show_files='.$show_files;
if ($option) $param .= "&option=".$option;
if ($optioncss != '') $param .= '&optioncss='.$optioncss;
if ($show_files) $param .= '&show_files='.urlencode($show_files);
if ($option) $param .= "&option=".urlencode($option);
if ($optioncss != '') $param .= '&optioncss='.urlencode($optioncss);
// Add $param from extra fields
include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_search_param.tpl.php';
@@ -879,7 +879,7 @@ if ($resql)
// Supplier ref
if (!empty($arrayfields['f.ref_supplier']['checked']))
{
print '<td class="nowrap">';
print '<td class="nowrap tdoverflowmax200">';
print $obj->ref_supplier;
print '</td>';
if (!$i) $totalarray['nbfield']++;