forked from Wavyzz/dolibarr
Merge branch '9.0' of git@github.com:Dolibarr/dolibarr.git into 10.0
Conflicts: ChangeLog htdocs/compta/facture/card.php
This commit is contained in:
35
ChangeLog
35
ChangeLog
@@ -484,6 +484,41 @@ Following changes may create regressions for some external modules, but were nec
|
|||||||
* Remove the no more used and deprecated dol_print_graph function
|
* Remove the no more used and deprecated dol_print_graph function
|
||||||
|
|
||||||
|
|
||||||
|
***** ChangeLog for 8.0.6 compared to 8.0.5 *****
|
||||||
|
FIX: #11244
|
||||||
|
FIX: #11316
|
||||||
|
FIX: Add missing end date of subscription in export
|
||||||
|
FIX: A user may read holiday and expense report without permissions
|
||||||
|
FIX: better syntax
|
||||||
|
FIX: condition
|
||||||
|
FIX: confirmation of mass email sending + option MAILING_NO_USING_PHPMAIL
|
||||||
|
FIX: crabe pdf: bad detailed VAT for situation invoices, in situations S2 and above
|
||||||
|
FIX: default value for duration of validity can be set from generic
|
||||||
|
FIX: do not include tpl from disabled modules
|
||||||
|
FIX: Error management when MAILING_NO_USING_PHPMAIL is set
|
||||||
|
FIX: Even with permission, can't validate leave once validator defined.
|
||||||
|
FIX: extrafield list search: SQL error when field is multiselect
|
||||||
|
FIX: if last char of customercode is accent making the truncate of first
|
||||||
|
FIX: in edit mode, dictionary inputs do not escape the string inside the 'value' attribute, causing errors if there are any double quotes
|
||||||
|
FIX: invalid link on user.fk_user
|
||||||
|
FIX: invoice class: bad SQL request if product type not set
|
||||||
|
FIX: mail presend: can overwrite a file previously uploaded
|
||||||
|
FIX: mail presend: can overwrite a file previously uploaded (Issue #11056)
|
||||||
|
FIX: mass send mail
|
||||||
|
FIX: missing compatibility with multicompany transverse mode
|
||||||
|
FIX: modulebuilder: hardcoded llx_
|
||||||
|
FIX: Not showing Contract and Project columns on ficheinter list
|
||||||
|
FIX: remove isolated transaction commit
|
||||||
|
FIX: security (a user can read leave or holiday of other without perm.
|
||||||
|
FIX: situation invoices: bad detailed VAT in situations following the first one
|
||||||
|
FIX: situation invoices: block progress percentage change for discount lines
|
||||||
|
FIX: syntax error
|
||||||
|
FIX: try to use WHERE EXISTS instead DISTINCT
|
||||||
|
FIX: use dol_sanitizeFileName() function to remove double spaces in filenames, as well as done on document.php when we want to download pdf
|
||||||
|
FIX: var name
|
||||||
|
FIX: we need to fetch fourn invoice with ref in current entity
|
||||||
|
FIX: Wrong stock movement on supplier credit notes
|
||||||
|
|
||||||
***** ChangeLog for 8.0.5 compared to 8.0.4 *****
|
***** ChangeLog for 8.0.5 compared to 8.0.4 *****
|
||||||
FIX: #10381
|
FIX: #10381
|
||||||
FIX: #10460 compatibility with MariaDB 10.4
|
FIX: #10460 compatibility with MariaDB 10.4
|
||||||
|
|||||||
@@ -181,7 +181,8 @@ if (empty($reshook))
|
|||||||
// Change status of invoice
|
// Change status of invoice
|
||||||
elseif ($action == 'reopen' && $usercancreate) {
|
elseif ($action == 'reopen' && $usercancreate) {
|
||||||
$result = $object->fetch($id);
|
$result = $object->fetch($id);
|
||||||
if ($object->statut == 2 || ($object->statut == 3 && $object->close_code != 'replaced') || ($object->statut == 1 && $object->paye == 1)) { // ($object->statut == 1 && $object->paye == 1) should not happened but can be found when data are corrupted
|
|
||||||
|
if ($object->statut == Facture::STATUS_CLOSED || ($object->statut == Facture::STATUS_ABANDONED && ($object->close_code != 'replaced' || $object->getIdReplacingInvoice() == 0)) || ($object->statut == Facture::STATUS_VALIDATED && $object->paye == 1)) { // ($object->statut == 1 && $object->paye == 1) should not happened but can be found when data are corrupted
|
||||||
$result = $object->set_unpaid($user);
|
$result = $object->set_unpaid($user);
|
||||||
if ($result > 0) {
|
if ($result > 0) {
|
||||||
header('Location: ' . $_SERVER["PHP_SELF"] . '?facid=' . $id);
|
header('Location: ' . $_SERVER["PHP_SELF"] . '?facid=' . $id);
|
||||||
@@ -2973,21 +2974,24 @@ if ($action == 'create')
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
print '<div class="tagtr listofinvoicetype"><div class="tagtd listofinvoicetype">';
|
if (! empty($conf->global->INVOICE_USE_SITUATION))
|
||||||
$tmp='<input type="radio" name="type" id="radio_situation" value="0" disabled> ';
|
{
|
||||||
$text = '<label>'.$tmp.$langs->trans("InvoiceFirstSituationAsk") . '</label> ';
|
print '<div class="tagtr listofinvoicetype"><div class="tagtd listofinvoicetype">';
|
||||||
$text.= '('.$langs->trans("YouMustCreateInvoiceFromThird").') ';
|
$tmp='<input type="radio" name="type" id="radio_situation" value="0" disabled> ';
|
||||||
$desc = $form->textwithpicto($text, $langs->transnoentities("InvoiceFirstSituationDesc"), 1, 'help', '', 0, 3);
|
$text = '<label>'.$tmp.$langs->trans("InvoiceFirstSituationAsk") . '</label> ';
|
||||||
print $desc;
|
$text.= '('.$langs->trans("YouMustCreateInvoiceFromThird").') ';
|
||||||
print '</div></div>';
|
$desc = $form->textwithpicto($text, $langs->transnoentities("InvoiceFirstSituationDesc"), 1, 'help', '', 0, 3);
|
||||||
|
print $desc;
|
||||||
|
print '</div></div>';
|
||||||
|
|
||||||
print '<div class="tagtr listofinvoicetype"><div class="tagtd listofinvoicetype">';
|
print '<div class="tagtr listofinvoicetype"><div class="tagtd listofinvoicetype">';
|
||||||
$tmp='<input type="radio" name="type" id="radio_situation" value="0" disabled> ';
|
$tmp='<input type="radio" name="type" id="radio_situation" value="0" disabled> ';
|
||||||
$text = '<label>'.$tmp.$langs->trans("InvoiceSituationAsk") . '</label> ';
|
$text = '<label>'.$tmp.$langs->trans("InvoiceSituationAsk") . '</label> ';
|
||||||
$text.= '('.$langs->trans("YouMustCreateInvoiceFromThird").') ';
|
$text.= '('.$langs->trans("YouMustCreateInvoiceFromThird").') ';
|
||||||
$desc = $form->textwithpicto($text, $langs->transnoentities("InvoiceFirstSituationDesc"), 1, 'help', '', 0, 3);
|
$desc = $form->textwithpicto($text, $langs->transnoentities("InvoiceFirstSituationDesc"), 1, 'help', '', 0, 3);
|
||||||
print $desc;
|
print $desc;
|
||||||
print '</div></div>';
|
print '</div></div>';
|
||||||
|
}
|
||||||
|
|
||||||
print '<div class="tagtr listofinvoicetype"><div class="tagtd listofinvoicetype">';
|
print '<div class="tagtr listofinvoicetype"><div class="tagtd listofinvoicetype">';
|
||||||
$tmp='<input type="radio" name="type" id="radio_replacement" value="0" disabled> ';
|
$tmp='<input type="radio" name="type" id="radio_replacement" value="0" disabled> ';
|
||||||
@@ -4651,7 +4655,7 @@ elseif ($id > 0 || ! empty($ref))
|
|||||||
&& ($object->statut == 2 || $object->statut == 3 || ($object->statut == 1 && $object->paye == 1)) // Condition ($object->statut == 1 && $object->paye == 1) should not happened but can be found due to corrupted data
|
&& ($object->statut == 2 || $object->statut == 3 || ($object->statut == 1 && $object->paye == 1)) // Condition ($object->statut == 1 && $object->paye == 1) should not happened but can be found due to corrupted data
|
||||||
&& ((empty($conf->global->MAIN_USE_ADVANCED_PERMS) && $usercancreate) || $usercanreopen)) // A paid invoice (partially or completely)
|
&& ((empty($conf->global->MAIN_USE_ADVANCED_PERMS) && $usercancreate) || $usercanreopen)) // A paid invoice (partially or completely)
|
||||||
{
|
{
|
||||||
if (! $objectidnext && $object->close_code != 'replaced') // Not replaced by another invoice
|
if ($object->close_code != 'replaced' || (! $objectidnext)) // Not replaced by another invoice or replaced but the replacement invoice has been deleted
|
||||||
{
|
{
|
||||||
print '<div class="inline-block divButAction"><a class="butAction'.($conf->use_javascript_ajax?' reposition':'').'" href="' . $_SERVER['PHP_SELF'] . '?facid=' . $object->id . '&action=reopen">' . $langs->trans('ReOpen') . '</a></div>';
|
print '<div class="inline-block divButAction"><a class="butAction'.($conf->use_javascript_ajax?' reposition':'').'" href="' . $_SERVER['PHP_SELF'] . '?facid=' . $object->id . '&action=reopen">' . $langs->trans('ReOpen') . '</a></div>';
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ InvoiceProFormaAsk=Proforma invoice
|
|||||||
InvoiceProFormaDesc=<b>Proforma invoice</b> is an image of a true invoice but has no accountancy value.
|
InvoiceProFormaDesc=<b>Proforma invoice</b> is an image of a true invoice but has no accountancy value.
|
||||||
InvoiceReplacement=Replacement invoice
|
InvoiceReplacement=Replacement invoice
|
||||||
InvoiceReplacementAsk=Replacement invoice for invoice
|
InvoiceReplacementAsk=Replacement invoice for invoice
|
||||||
InvoiceReplacementDesc=<b>Replacement invoice</b> is used to cancel and completely replace an invoice with no payment already received.<br><br>Note: Only invoices with no payment on it can be replaced. If the invoice you replace is not yet closed, it will be automatically closed to 'abandoned'.
|
InvoiceReplacementDesc=<b>Replacement invoice</b> is used to completely replace an invoice with no payment already received.<br><br>Note: Only invoices with no payment on it can be replaced. If the invoice you replace is not yet closed, it will be automatically closed to 'abandoned'.
|
||||||
InvoiceAvoir=Credit note
|
InvoiceAvoir=Credit note
|
||||||
InvoiceAvoirAsk=Credit note to correct invoice
|
InvoiceAvoirAsk=Credit note to correct invoice
|
||||||
InvoiceAvoirDesc=The <b>credit note</b> is a negative invoice used to correct the fact that an invoice shows an amount that differs from the amount actually paid (eg the customer paid too much by mistake, or will not pay the complete amount since some products were returned).
|
InvoiceAvoirDesc=The <b>credit note</b> is a negative invoice used to correct the fact that an invoice shows an amount that differs from the amount actually paid (eg the customer paid too much by mistake, or will not pay the complete amount since some products were returned).
|
||||||
|
|||||||
Reference in New Issue
Block a user