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

This commit is contained in:
Laurent Destailleur 2023-01-02 16:46:48 +01:00
commit a7e8460e3c
6 changed files with 25 additions and 15 deletions

View File

@ -21,7 +21,7 @@ For users:
NEW: Minimal PHP version is now PHP 7.0 instead of PHP 5.6 NEW: Minimal PHP version is now PHP 7.0 instead of PHP 5.6
NEW: #21780 Add pid field to Cronjob class and store PID on job execution NEW: #21780 Add pid field to Cronjob class and store PID on job execution
NEW: #19680 Add option PRODUCT_ALLOW_EXTERNAL_DOWNLOAD to automatically have uploaded files shared publicly by a link NEW: #19680 Add option PRODUCT_ALLOW_EXTERNAL_DOWNLOAD to automatically have uploaded files shared publicly by a link
NEW: #20650 can move the checkbox column on left (experimental option) NEW: #20650 can move the checkbox column on left (experimental option MAIN_CHECKBOX_LEFT_COLUMN)
NEW: #21000 Added columns 'alias_name' on project, supplier invoice, supplier order, supplier proposals and task list NEW: #21000 Added columns 'alias_name' on project, supplier invoice, supplier order, supplier proposals and task list
NEW: #21395 Added option for dark theme mode in display - color and theme NEW: #21395 Added option for dark theme mode in display - color and theme
NEW: #21397 added option to auto define barcode numbers for third-parties in barcode module setup NEW: #21397 added option to auto define barcode numbers for third-parties in barcode module setup

View File

@ -194,7 +194,7 @@ function ajax_autocompleter($selected, $htmlname, $url, $urloption = '', $minLen
$("#'.$htmlnamejquery.'").attr("data-tvatx", ui.item.tva_tx); $("#'.$htmlnamejquery.'").attr("data-tvatx", ui.item.tva_tx);
$("#'.$htmlnamejquery.'").attr("data-default-vat-code", ui.item.default_vat_code); $("#'.$htmlnamejquery.'").attr("data-default-vat-code", ui.item.default_vat_code);
'; ';
if (!empty($conf->global->PRODUIT_CUSTOMER_PRICES_BY_QTY)) { if (!empty($conf->global->PRODUIT_CUSTOMER_PRICES_BY_QTY) || !empty($conf->global->PRODUIT_CUSTOMER_PRICES_BY_QTY_MULTIPRICES)) {
$script .= ' $script .= '
// For customer price when PRODUIT_CUSTOMER_PRICES_BY_QTY is on // For customer price when PRODUIT_CUSTOMER_PRICES_BY_QTY is on
console.log("PRODUIT_CUSTOMER_PRICES_BY_QTY is on, propagate also prices by quantity into data-pbqxxx properties"); console.log("PRODUIT_CUSTOMER_PRICES_BY_QTY is on, propagate also prices by quantity into data-pbqxxx properties");

View File

@ -937,7 +937,7 @@ if (!empty($usemargins) && $user->rights->margins->creer) {
?> ?>
<?php <?php
if (!empty($conf->global->PRODUIT_CUSTOMER_PRICES_BY_QTY)) { if (!empty($conf->global->PRODUIT_CUSTOMER_PRICES_BY_QTY) || !empty($conf->global->PRODUIT_CUSTOMER_PRICES_BY_QTY_MULTIPRICES)) {
?> ?>
/* To process customer price per quantity (PRODUIT_CUSTOMER_PRICES_BY_QTY works only if combo product is not an ajax after x key pressed) */ /* To process customer price per quantity (PRODUIT_CUSTOMER_PRICES_BY_QTY works only if combo product is not an ajax after x key pressed) */
var pbq = parseInt($('option:selected', this).attr('data-pbq')); // When select is done from HTML select var pbq = parseInt($('option:selected', this).attr('data-pbq')); // When select is done from HTML select

View File

@ -378,7 +378,7 @@ class Stripe extends CommonObject
$paymentintent = null; $paymentintent = null;
if (is_object($object) && !empty($conf->global->STRIPE_REUSE_EXISTING_INTENT_IF_FOUND) && empty($conf->global->STRIPE_CARD_PRESENT)) { if (is_object($object) && getDolGlobalInt('STRIPE_REUSE_EXISTING_INTENT_IF_FOUND') && !getDolGlobalInt('STRIPE_CARD_PRESENT')) {
// Warning. If a payment was tried and failed, a payment intent was created. // Warning. If a payment was tried and failed, a payment intent was created.
// But if we change something on object to pay (amount or other that does not change the idempotency key), reusing same payment intent is not allowed by Stripe. // But if we change something on object to pay (amount or other that does not change the idempotency key), reusing same payment intent is not allowed by Stripe.
// Recommended solution is to recreate a new payment intent each time we need one (old one will be automatically closed by Stripe after a delay), Stripe will // Recommended solution is to recreate a new payment intent each time we need one (old one will be automatically closed by Stripe after a delay), Stripe will
@ -435,26 +435,26 @@ class Stripe extends CommonObject
// list of payment method types // list of payment method types
$paymentmethodtypes = array("card"); $paymentmethodtypes = array("card");
$descriptor = dol_trunc($tag, 10, 'right', 'UTF-8', 1); $descriptor = dol_trunc($tag, 10, 'right', 'UTF-8', 1);
if (!empty($conf->global->STRIPE_SEPA_DIRECT_DEBIT)) { if (getDolGlobalInt('STRIPE_SEPA_DIRECT_DEBIT')) {
$paymentmethodtypes[] = "sepa_debit"; //&& ($object->thirdparty->isInEEC()) $paymentmethodtypes[] = "sepa_debit"; //&& ($object->thirdparty->isInEEC())
//$descriptor = preg_replace('/ref=[^:=]+/', '', $descriptor); // Clean ref //$descriptor = preg_replace('/ref=[^:=]+/', '', $descriptor); // Clean ref
} }
if (!empty($conf->global->STRIPE_KLARNA)) { if (getDolGlobalInt('STRIPE_KLARNA')) {
$paymentmethodtypes[] = "klarna"; $paymentmethodtypes[] = "klarna";
} }
if (!empty($conf->global->STRIPE_BANCONTACT)) { if (getDolGlobalInt('STRIPE_BANCONTACT')) {
$paymentmethodtypes[] = "bancontact"; $paymentmethodtypes[] = "bancontact";
} }
if (!empty($conf->global->STRIPE_IDEAL)) { if (getDolGlobalInt('STRIPE_IDEAL')) {
$paymentmethodtypes[] = "ideal"; $paymentmethodtypes[] = "ideal";
} }
if (!empty($conf->global->STRIPE_GIROPAY)) { if (getDolGlobalInt('STRIPE_GIROPAY')) {
$paymentmethodtypes[] = "giropay"; $paymentmethodtypes[] = "giropay";
} }
if (!empty($conf->global->STRIPE_SOFORT)) { if (getDolGlobalInt('STRIPE_SOFORT')) {
$paymentmethodtypes[] = "sofort"; $paymentmethodtypes[] = "sofort";
} }
if (!empty($conf->global->STRIPE_CARD_PRESENT) && $mode == 'terminal') { if (getDolGlobalInt('STRIPE_CARD_PRESENT') && $mode == 'terminal') {
$paymentmethodtypes = array("card_present"); $paymentmethodtypes = array("card_present");
} }
@ -484,13 +484,13 @@ class Stripe extends CommonObject
//$dataforintent["setup_future_usage"] = "off_session"; //$dataforintent["setup_future_usage"] = "off_session";
$dataforintent["off_session"] = true; $dataforintent["off_session"] = true;
} }
if (!empty($conf->global->STRIPE_GIROPAY)) { if (getDolGlobalInt('STRIPE_GIROPAY')) {
unset($dataforintent['setup_future_usage']); unset($dataforintent['setup_future_usage']);
} }
if (!empty($conf->global->STRIPE_KLARNA)) { if (getDolGlobalInt('STRIPE_KLARNA')) {
unset($dataforintent['setup_future_usage']); unset($dataforintent['setup_future_usage']);
} }
if (!empty($conf->global->STRIPE_CARD_PRESENT) && $mode == 'terminal') { if (getDolGlobalInt('STRIPE_CARD_PRESENT') && $mode == 'terminal') {
unset($dataforintent['setup_future_usage']); unset($dataforintent['setup_future_usage']);
$dataforintent["capture_method"] = "manual"; $dataforintent["capture_method"] = "manual";
$dataforintent["confirmation_method"] = "manual"; $dataforintent["confirmation_method"] = "manual";
@ -500,7 +500,7 @@ class Stripe extends CommonObject
$description .= ' - '.$payment_method; $description .= ' - '.$payment_method;
} }
if ($conf->entity != $conf->global->STRIPECONNECT_PRINCIPAL && $stripefee > 0) { if ($conf->entity != getDolGlobalInt('STRIPECONNECT_PRINCIPAL') && $stripefee > 0) {
$dataforintent["application_fee_amount"] = $stripefee; $dataforintent["application_fee_amount"] = $stripefee;
} }
if ($usethirdpartyemailforreceiptemail && is_object($object) && $object->thirdparty->email) { if ($usethirdpartyemailforreceiptemail && is_object($object) && $object->thirdparty->email) {

View File

@ -171,6 +171,11 @@ table.liste th.wrapcolumntitle.liste_titre_sel:not(.maxwidthsearch), table.liste
max-width: 100px; max-width: 100px;
text-overflow: ellipsis; text-overflow: ellipsis;
} }
th.wrapcolumntitle dl dt a span.fas.fa-list {
padding-bottom: 0;
vertical-align: bottom;
}
/*.liste_titre input[name=month_date_when], .liste_titre input[name=monthvalid], .liste_titre input[name=search_ordermonth], .liste_titre input[name=search_deliverymonth], /*.liste_titre input[name=month_date_when], .liste_titre input[name=monthvalid], .liste_titre input[name=search_ordermonth], .liste_titre input[name=search_deliverymonth],
.liste_titre input[name=search_smonth], .liste_titre input[name=search_month], .liste_titre input[name=search_emonth], .liste_titre input[name=smonth], .liste_titre input[name=month], .liste_titre select[name=month], .liste_titre input[name=search_smonth], .liste_titre input[name=search_month], .liste_titre input[name=search_emonth], .liste_titre input[name=smonth], .liste_titre input[name=month], .liste_titre select[name=month],
.liste_titre select[name=year], .liste_titre select[name=year],

View File

@ -485,6 +485,11 @@ th.wrapcolumntitle.liste_titre_sel:not(.maxwidthsearch), td.wrapcolumntitle.list
max-width: 120px; max-width: 120px;
text-overflow: ellipsis; text-overflow: ellipsis;
} }
th.wrapcolumntitle dl dt a span.fas.fa-list {
padding-bottom: 0;
vertical-align: bottom;
}
.liste_titre input[name=month_date_when], .liste_titre input[name=monthvalid], .liste_titre input[name=search_ordermonth], .liste_titre input[name=search_deliverymonth], .liste_titre input[name=month_date_when], .liste_titre input[name=monthvalid], .liste_titre input[name=search_ordermonth], .liste_titre input[name=search_deliverymonth],
.liste_titre input[name=search_smonth], .liste_titre input[name=search_month], .liste_titre input[name=search_emonth], .liste_titre input[name=smonth], .liste_titre input[name=month], .liste_titre input[name=search_smonth], .liste_titre input[name=search_month], .liste_titre input[name=search_emonth], .liste_titre input[name=smonth], .liste_titre input[name=month],
.liste_titre input[name=month_lim], .liste_titre input[name=month_start], .liste_titre input[name=month_end], .liste_titre input[name=month_create], .liste_titre input[name=month_lim], .liste_titre input[name=month_start], .liste_titre input[name=month_end], .liste_titre input[name=month_create],