Debug v17
This commit is contained in:
parent
3228945547
commit
44e140ef38
@ -424,11 +424,10 @@ if (empty($reshook)) {
|
||||
|
||||
if (GETPOST('prod_entry_mode', 'alpha') == 'free') {
|
||||
$idprod = 0;
|
||||
$tva_tx = (GETPOST('tva_tx', 'alpha') ? price2num(preg_replace('/\s*\(.*\)/', '', GETPOST('tva_tx', 'alpha'))) : 0);
|
||||
} else {
|
||||
$idprod = GETPOST('idprod', 'int');
|
||||
$tva_tx = '';
|
||||
}
|
||||
$tva_tx = (GETPOST('tva_tx', 'alpha') ? price2num(preg_replace('/\s*\(.*\)/', '', GETPOST('tva_tx', 'alpha'))) : 0);
|
||||
|
||||
$qty = price2num(GETPOST('qty'.$predef, 'alpha'), 'MS');
|
||||
$remise_percent = (GETPOSTISSET('remise_percent'.$predef) ? price2num(GETPOST('remise_percent'.$predef), 2) : 0);
|
||||
@ -467,12 +466,8 @@ if (empty($reshook)) {
|
||||
// Clean parameters
|
||||
$date_start = dol_mktime(GETPOST('date_start'.$predef.'hour'), GETPOST('date_start'.$predef.'min'), GETPOST('date_start'.$predef.'sec'), GETPOST('date_start'.$predef.'month'), GETPOST('date_start'.$predef.'day'), GETPOST('date_start'.$predef.'year'));
|
||||
$date_end = dol_mktime(GETPOST('date_end'.$predef.'hour'), GETPOST('date_end'.$predef.'min'), GETPOST('date_end'.$predef.'sec'), GETPOST('date_end'.$predef.'month'), GETPOST('date_end'.$predef.'day'), GETPOST('date_end'.$predef.'year'));
|
||||
$price_base_type = (GETPOST('price_base_type', 'alpha') ?GETPOST('price_base_type', 'alpha') : 'HT');
|
||||
|
||||
// Ecrase $pu par celui du produit
|
||||
// Ecrase $desc par celui du produit
|
||||
// Ecrase $tva_tx par celui du produit
|
||||
// Ecrase $base_price_type par celui du produit
|
||||
if ($idprod > 0) {
|
||||
$prod = new Product($db);
|
||||
$prod->fetch($idprod);
|
||||
@ -484,19 +479,13 @@ if (empty($reshook)) {
|
||||
$tva_npr = 0;
|
||||
}
|
||||
|
||||
$pu_ht = $prod->price;
|
||||
$pu_ttc = $prod->price_ttc;
|
||||
$price_min = $prod->price_min;
|
||||
$price_min_ttc = $prod->price_min_ttc;
|
||||
$price_base_type = $prod->price_base_type;
|
||||
|
||||
// On defini prix unitaire
|
||||
if ($conf->global->PRODUIT_MULTIPRICES && $object->thirdparty->price_level) {
|
||||
$pu_ht = $prod->multiprices[$object->thirdparty->price_level];
|
||||
$pu_ttc = $prod->multiprices_ttc[$object->thirdparty->price_level];
|
||||
$price_min = $prod->multiprices_min[$object->thirdparty->price_level];
|
||||
$price_min_ttc = $prod->multiprices_min_ttc[$object->thirdparty->price_level];
|
||||
$price_base_type = $prod->multiprices_base_type[$object->thirdparty->price_level];
|
||||
} elseif (!empty($conf->global->PRODUIT_CUSTOMER_PRICES)) {
|
||||
// If price per customer
|
||||
require_once DOL_DOCUMENT_ROOT.'/product/class/productcustomerprice.class.php';
|
||||
@ -508,11 +497,8 @@ if (empty($reshook)) {
|
||||
$result = $prodcustprice->fetchAll('', '', 0, 0, $filter);
|
||||
if ($result) {
|
||||
if (count($prodcustprice->lines) > 0) {
|
||||
$pu_ht = price($prodcustprice->lines[0]->price);
|
||||
$pu_ttc = price($prodcustprice->lines[0]->price_ttc);
|
||||
$price_min = price($prodcustprice->lines[0]->price_min);
|
||||
$price_min_ttc = price($prodcustprice->lines[0]->price_min_ttc);
|
||||
$price_base_type = $prodcustprice->lines[0]->price_base_type;
|
||||
$tva_tx = $prodcustprice->lines[0]->tva_tx;
|
||||
if ($prodcustprice->lines[0]->default_vat_code && !preg_match('/\(.*\)/', $tva_tx)) {
|
||||
$tva_tx .= ' ('.$prodcustprice->lines[0]->default_vat_code.')';
|
||||
@ -532,16 +518,11 @@ if (empty($reshook)) {
|
||||
if (!empty($price_ht) || $price_ht === '0') {
|
||||
$pu_ht = price2num($price_ht, 'MU');
|
||||
$pu_ttc = price2num($pu_ht * (1 + ($tmpvat / 100)), 'MU');
|
||||
$price_base_type = 'HT';
|
||||
} elseif (!empty($price_ttc) || $price_ttc === '0') {
|
||||
$pu_ttc = price2num($price_ttc, 'MU');
|
||||
$pu_ht = price2num($pu_ttc / (1 + ($tmpvat / 100)), 'MU');
|
||||
} elseif ($tmpvat != $tmpprodvat) {
|
||||
// Is this still used ?
|
||||
if ($price_base_type != 'HT') {
|
||||
$pu_ht = price2num($pu_ttc / (1 + ($tmpvat / 100)), 'MU');
|
||||
} else {
|
||||
$pu_ttc = price2num($pu_ht * (1 + ($tmpvat / 100)), 'MU');
|
||||
}
|
||||
$price_base_type = 'TTC';
|
||||
}
|
||||
|
||||
$desc = $prod->description;
|
||||
@ -571,8 +552,16 @@ if (empty($reshook)) {
|
||||
$pu_ht_devise = price2num($price_ht_devise, 'MU');
|
||||
$pu_ttc_devise = price2num($price_ttc_devise, 'MU');
|
||||
|
||||
$price_base_type = 'HT';
|
||||
if ($pu_ttc && !$pu_ht) {
|
||||
$tmpvat = price2num(preg_replace('/\s*\(.*\)/', '', $tva_tx));
|
||||
|
||||
// Set unit price to use
|
||||
if (!empty($price_ht) || $price_ht === '0') {
|
||||
$pu_ht = price2num($price_ht, 'MU');
|
||||
$pu_ttc = price2num($pu_ht * (1 + ($tmpvat / 100)), 'MU');
|
||||
$price_base_type = 'HT';
|
||||
} elseif (!empty($price_ttc) || $price_ttc === '0') {
|
||||
$pu_ttc = price2num($price_ttc, 'MU');
|
||||
$pu_ht = price2num($pu_ttc / (1 + ($tmpvat / 100)), 'MU');
|
||||
$price_base_type = 'TTC';
|
||||
}
|
||||
}
|
||||
|
||||
@ -718,7 +718,8 @@ if (!empty($usemargins) && $user->rights->margins->creer) {
|
||||
{
|
||||
console.log("objectline_create.tpl Call method change() after change on #idprod or #idprodfournprice (senderissupplier=<?php echo $senderissupplier; ?>). this.val = "+$(this).val());
|
||||
|
||||
setforpredef(); // TODO Keep vat combo visible and set it to first entry into list that match result of get_default_tva
|
||||
setforpredef(); // TODO Keep vat combo visible and set it to first entry into list that match result of get_default_tva(product)
|
||||
|
||||
jQuery('#trlinefordates').show();
|
||||
|
||||
<?php
|
||||
@ -734,7 +735,7 @@ if (!empty($usemargins) && $user->rights->margins->creer) {
|
||||
<?php if (!empty($conf->global->PRODUIT_CUSTOMER_PRICES_BY_QTY) || !empty($conf->global->PRODUIT_CUSTOMER_PRICES_BY_QTY_MULTIPRICES)) { ?>
|
||||
if (isNaN(pbq)) { console.log("We use experimental option PRODUIT_CUSTOMER_PRICES_BY_QTY or PRODUIT_CUSTOMER_PRICES_BY_QTY but we could not get the id of pbq from product combo list, so load of price may be 0 if product has differet prices"); }
|
||||
<?php } ?>
|
||||
// Get the HT price for the product and display it
|
||||
// Get the price for the product and display it
|
||||
console.log("Load unit price without tax and set it into #price_ht for product id="+$(this).val()+" socid=<?php print $object->socid; ?>");
|
||||
$.post('<?php echo DOL_URL_ROOT; ?>/product/ajax/products.php?action=fetch',
|
||||
{ 'id': $(this).val(), 'socid': <?php print $object->socid; ?>, 'token': '<?php print currentToken(); ?>' },
|
||||
@ -755,7 +756,7 @@ if (!empty($usemargins) && $user->rights->margins->creer) {
|
||||
if (data.mandatory_period == 1 && data.type == 1) {
|
||||
jQuery('#date_start').addClass('inputmandatory');
|
||||
jQuery('#date_end').addClass('inputmandatory');
|
||||
}else{
|
||||
} else {
|
||||
jQuery('#date_start').removeClass('inputmandatory');
|
||||
jQuery('#date_end').removeClass('inputmandatory');
|
||||
}
|
||||
@ -767,6 +768,23 @@ if (!empty($usemargins) && $user->rights->margins->creer) {
|
||||
console.log("objectline_create.tpl set content of price_ht");
|
||||
jQuery("#price_ht").val(data.price_ht);
|
||||
}
|
||||
|
||||
var tva_tx = data.tva_tx;
|
||||
var default_vat_code = data.default_vat_code;
|
||||
|
||||
// Now set the VAT
|
||||
var stringforvatrateselection = tva_tx;
|
||||
if (typeof default_vat_code != 'undefined' && default_vat_code != null) {
|
||||
stringforvatrateselection = stringforvatrateselection+' ('+default_vat_code+')';
|
||||
}
|
||||
// Set vat rate if field is an input box
|
||||
$('#tva_tx').val(tva_tx);
|
||||
// Set vat rate by selecting the combo
|
||||
//$('#tva_tx option').val(tva_tx); // This is bugged, it replaces the vat key of all options
|
||||
$('#tva_tx option').removeAttr('selected');
|
||||
console.log("stringforvatrateselection="+stringforvatrateselection+" -> value of option label for this key="+$('#tva_tx option[value="'+stringforvatrateselection+'"]').val());
|
||||
$('#tva_tx option[value="'+stringforvatrateselection+'"]').prop('selected', true);
|
||||
|
||||
<?php
|
||||
if (!empty($conf->global->PRODUIT_AUTOFILL_DESC) && $conf->global->PRODUIT_AUTOFILL_DESC == 1) {
|
||||
if (getDolGlobalInt('MAIN_MULTILANGS') && !empty($conf->global->PRODUIT_TEXTS_IN_THIRDPARTY_LANGUAGE)) { ?>
|
||||
@ -919,39 +937,41 @@ if (!empty($usemargins) && $user->rights->margins->creer) {
|
||||
?>
|
||||
|
||||
<?php
|
||||
if (!empty($conf->global->PRODUIT_CUSTOMER_PRICES_BY_QTY)) {?>
|
||||
/* 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
|
||||
if (isNaN(pbq)) { pbq = jQuery('#idprod').attr('data-pbq'); } // When select is done from HTML input with autocomplete
|
||||
var pbqup = parseFloat($('option:selected', this).attr('data-pbqup'));
|
||||
if (isNaN(pbqup)) { pbqup = jQuery('#idprod').attr('data-pbqup'); }
|
||||
var pbqbase = $('option:selected', this).attr('data-pbqbase');
|
||||
if (isNaN(pbqbase)) { pbqbase = jQuery('#idprod').attr('data-pbqbase'); }
|
||||
var pbqqty = parseFloat($('option:selected', this).attr('data-pbqqty'));
|
||||
if (isNaN(pbqqty)) { pbqqty = jQuery('#idprod').attr('data-pbqqty'); }
|
||||
var pbqpercent = parseFloat($('option:selected', this).attr('data-pbqpercent'));
|
||||
if (isNaN(pbqpercent)) { pbqpercent = jQuery('#idprod').attr('data-pbqpercent'); }
|
||||
if (!empty($conf->global->PRODUIT_CUSTOMER_PRICES_BY_QTY)) {
|
||||
?>
|
||||
/* 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
|
||||
if (isNaN(pbq)) { pbq = jQuery('#idprod').attr('data-pbq'); } // When select is done from HTML input with autocomplete
|
||||
var pbqup = parseFloat($('option:selected', this).attr('data-pbqup'));
|
||||
if (isNaN(pbqup)) { pbqup = jQuery('#idprod').attr('data-pbqup'); }
|
||||
var pbqbase = $('option:selected', this).attr('data-pbqbase');
|
||||
if (isNaN(pbqbase)) { pbqbase = jQuery('#idprod').attr('data-pbqbase'); }
|
||||
var pbqqty = parseFloat($('option:selected', this).attr('data-pbqqty'));
|
||||
if (isNaN(pbqqty)) { pbqqty = jQuery('#idprod').attr('data-pbqqty'); }
|
||||
var pbqpercent = parseFloat($('option:selected', this).attr('data-pbqpercent'));
|
||||
if (isNaN(pbqpercent)) { pbqpercent = jQuery('#idprod').attr('data-pbqpercent'); }
|
||||
|
||||
if ((jQuery('#idprod').val() > 0) && ! isNaN(pbq) && pbq > 0)
|
||||
{
|
||||
var pbqupht = pbqup; /* TODO support of price per qty TTC not yet available */
|
||||
if ((jQuery('#idprod').val() > 0) && ! isNaN(pbq) && pbq > 0)
|
||||
{
|
||||
var pbqupht = pbqup; /* TODO support of price per qty TTC not yet available */
|
||||
|
||||
console.log("We choose a price by quanty price_by_qty id = "+pbq+" price_by_qty upht = "+pbqupht+" price_by_qty qty = "+pbqqty+" price_by_qty percent = "+pbqpercent);
|
||||
jQuery("#pbq").val(pbq);
|
||||
jQuery("#price_ht").val(pbqupht);
|
||||
if (jQuery("#qty").val() < pbqqty)
|
||||
{
|
||||
jQuery("#qty").val(pbqqty);
|
||||
}
|
||||
if (jQuery("#remise_percent").val() < pbqpercent)
|
||||
{
|
||||
jQuery("#remise_percent").val(pbqpercent);
|
||||
}
|
||||
} else { jQuery("#pbq").val(''); }
|
||||
console.log("We choose a price by quanty price_by_qty id = "+pbq+" price_by_qty upht = "+pbqupht+" price_by_qty qty = "+pbqqty+" price_by_qty percent = "+pbqpercent);
|
||||
jQuery("#pbq").val(pbq);
|
||||
jQuery("#price_ht").val(pbqupht);
|
||||
if (jQuery("#qty").val() < pbqqty)
|
||||
{
|
||||
jQuery("#qty").val(pbqqty);
|
||||
}
|
||||
if (jQuery("#remise_percent").val() < pbqpercent)
|
||||
{
|
||||
jQuery("#remise_percent").val(pbqpercent);
|
||||
}
|
||||
} else { jQuery("#pbq").val(''); }
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
// Deal with supplier
|
||||
|
||||
// Deal with supplier ref price
|
||||
if (jQuery('#idprodfournprice').val() > 0)
|
||||
{
|
||||
console.log("objectline_create.tpl #idprodfournprice is > 0, so we set some properties into page");
|
||||
@ -975,7 +995,7 @@ if (!empty($usemargins) && $user->rights->margins->creer) {
|
||||
if (typeof default_vat_code === 'undefined') { default_vat_code = jQuery('#idprodfournprice').attr('data-default-vat-code');} // When select is done from HTML input with ajax autocomplete
|
||||
|
||||
var stringforvatrateselection = tva_tx;
|
||||
if (typeof default_vat_code != 'undefined') {
|
||||
if (typeof default_vat_code != 'undefined' && default_vat_code != null) {
|
||||
stringforvatrateselection = stringforvatrateselection+' ('+default_vat_code+')';
|
||||
}
|
||||
|
||||
@ -992,7 +1012,7 @@ if (!empty($usemargins) && $user->rights->margins->creer) {
|
||||
// Set vat rate by selecting the combo
|
||||
//$('#tva_tx option').val(tva_tx); // This is bugged, it replaces the vat key of all options
|
||||
$('#tva_tx option').removeAttr('selected');
|
||||
console.log("stringforvatrateselection="+stringforvatrateselection+" -> value of option for this selection="+$('#tva_tx option[value="'+stringforvatrateselection+'"]').val());
|
||||
console.log("stringforvatrateselection="+stringforvatrateselection+" -> value of option label for this key="+$('#tva_tx option[value="'+stringforvatrateselection+'"]').val());
|
||||
$('#tva_tx option[value="'+stringforvatrateselection+'"]').prop('selected', true);
|
||||
|
||||
if (jQuery("#qty").val() < qty) {
|
||||
|
||||
@ -93,6 +93,7 @@ if ($action == 'fetch' && !empty($id)) {
|
||||
$outprice_ht = null;
|
||||
$outprice_ttc = null;
|
||||
$outpricebasetype = null;
|
||||
$outtva_tx_formated = 0;
|
||||
$outtva_tx = 0;
|
||||
$outdefault_vat_code = '';
|
||||
$outqty = 1;
|
||||
@ -140,7 +141,8 @@ if ($action == 'fetch' && !empty($id)) {
|
||||
$outprice_ttc = price($objp->unitprice * (1 + ($object->tva_tx / 100)));
|
||||
|
||||
$outpricebasetype = $object->price_base_type;
|
||||
$outtva_tx = $object->tva_tx;
|
||||
$outtva_tx_formated = price($object->tva_tx);
|
||||
$outtva_tx = price2num($object->tva_tx);
|
||||
$outdefault_vat_code = $object->default_vat_code;
|
||||
|
||||
$outqty = $objp->quantity;
|
||||
@ -165,15 +167,17 @@ if ($action == 'fetch' && !empty($id)) {
|
||||
$objp = $db->fetch_object($result);
|
||||
if ($objp) {
|
||||
$found = true;
|
||||
$outprice_ht = price($objp->price);
|
||||
$outprice_ttc = price($objp->price_ttc);
|
||||
$outprice_ht = price($objp->price); // formated for langage user because is inserted into input field
|
||||
$outprice_ttc = price($objp->price_ttc); // formated for langage user because is inserted into input field
|
||||
$outpricebasetype = $objp->price_base_type;
|
||||
if (!empty($conf->global->PRODUIT_MULTIPRICES_USE_VAT_PER_LEVEL)) {
|
||||
$outtva_tx = $objp->tva_tx;
|
||||
$outtva_tx_formated = price($objp->tva_tx); // formated for langage user because is inserted into input field
|
||||
$outtva_tx = price2num($objp->tva_tx); // international numeric
|
||||
$outdefault_vat_code = $objp->default_vat_code;
|
||||
} else {
|
||||
// The common and default behaviour.
|
||||
$outtva_tx = $object->tva_tx;
|
||||
$outtva_tx_formated = price($object->tva_tx);
|
||||
$outtva_tx = price2num($object->tva_tx);
|
||||
$outdefault_vat_code = $object->default_vat_code;
|
||||
}
|
||||
}
|
||||
@ -195,7 +199,8 @@ if ($action == 'fetch' && !empty($id)) {
|
||||
$outprice_ht = price($prodcustprice->lines[0]->price);
|
||||
$outprice_ttc = price($prodcustprice->lines[0]->price_ttc);
|
||||
$outpricebasetype = $prodcustprice->lines[0]->price_base_type;
|
||||
$outtva_tx = $prodcustprice->lines[0]->tva_tx;
|
||||
$outtva_tx_formated = price($prodcustprice->lines[0]->tva_tx);
|
||||
$outtva_tx = price2num($prodcustprice->lines[0]->tva_tx);
|
||||
$outdefault_vat_code = $prodcustprice->lines[0]->default_vat_code;
|
||||
}
|
||||
}
|
||||
@ -205,7 +210,8 @@ if ($action == 'fetch' && !empty($id)) {
|
||||
$outprice_ht = price($object->price);
|
||||
$outprice_ttc = price($object->price_ttc);
|
||||
$outpricebasetype = $object->price_base_type;
|
||||
$outtva_tx = $object->tva_tx;
|
||||
$outtva_tx_formated = price($object->tva_tx);
|
||||
$outtva_tx = price2num($object->tva_tx);
|
||||
$outdefault_vat_code = $object->default_vat_code;
|
||||
}
|
||||
|
||||
@ -219,6 +225,7 @@ if ($action == 'fetch' && !empty($id)) {
|
||||
'price_ht' => $outprice_ht,
|
||||
'price_ttc' => $outprice_ttc,
|
||||
'pricebasetype' => $outpricebasetype,
|
||||
'tva_tx_formated' => $outtva_tx_formated,
|
||||
'tva_tx' => $outtva_tx,
|
||||
'default_vat_code' => $outdefault_vat_code,
|
||||
'qty' => $outqty,
|
||||
|
||||
Loading…
Reference in New Issue
Block a user