FIX Relative discount with high nb of decimals
This commit is contained in:
parent
4705d41ed2
commit
30856d5b18
@ -597,9 +597,9 @@ if (empty($reshook)) {
|
||||
setEventMessages($object->error, $object->errors, 'errors');
|
||||
}
|
||||
} elseif ($action == 'setremisepercent' && $usercancreate) {
|
||||
$result = $object->setDiscount($user, price2num(GETPOST('remise_percent'), 2));
|
||||
$result = $object->setDiscount($user, price2num(GETPOST('remise_percent'), '', 2));
|
||||
} elseif ($action == 'setremiseabsolue' && $usercancreate) {
|
||||
$result = $object->set_remise_absolue($user, price2num(GETPOST('remise_absolue'), 'MU'));
|
||||
$result = $object->set_remise_absolue($user, price2num(GETPOST('remise_absolue'), 'MU', 2));
|
||||
} elseif ($action == 'addline' && GETPOST('submitforalllines', 'alpha') && GETPOST('vatforalllines', 'alpha') !== '') {
|
||||
// Define vat_rate
|
||||
$vat_rate = (GETPOST('vatforalllines') ? GETPOST('vatforalllines') : 0);
|
||||
|
||||
@ -204,7 +204,7 @@ if (empty($reshook)) {
|
||||
$object->note_private = GETPOST('note_private', 'alpha');
|
||||
$object->note_public = GETPOST('note_public', 'alpha');
|
||||
$object->fk_project = GETPOST('projectid', 'int');
|
||||
$object->remise_percent = price2num(GETPOST('remise_percent'), 2);
|
||||
$object->remise_percent = price2num(GETPOST('remise_percent'), '', 2);
|
||||
$object->ref = GETPOST('ref', 'alpha');
|
||||
$object->ref_customer = GETPOST('ref_customer', 'alpha');
|
||||
$object->ref_supplier = GETPOST('ref_supplier', 'alpha');
|
||||
|
||||
@ -748,7 +748,7 @@ if (empty($reshook)) {
|
||||
GETPOST('product_desc', 'restricthtml'),
|
||||
$ht,
|
||||
price2num(GETPOST('qty'), 'MS'),
|
||||
price2num(GETPOST('remise_percent'), 2),
|
||||
price2num(GETPOST('remise_percent'), '', 2),
|
||||
$vat_rate,
|
||||
$localtax1_rate,
|
||||
$localtax2_rate,
|
||||
|
||||
@ -1272,8 +1272,8 @@ if (empty($reshook)) {
|
||||
$localtax1_tx = get_localtax($tva_tx, 1, $mysoc, $object->thirdparty);
|
||||
$localtax2_tx = get_localtax($tva_tx, 2, $mysoc, $object->thirdparty);
|
||||
|
||||
$remise_percent = price2num(GETPOST('remise_percent'), 2);
|
||||
$pu_ht_devise = price2num(GETPOST('multicurrency_subprice'), 'MU');
|
||||
$remise_percent = price2num(GETPOST('remise_percent'), '', 2);
|
||||
$pu_ht_devise = price2num(GETPOST('multicurrency_subprice'), 'MU', 2);
|
||||
|
||||
// Extrafields Lines
|
||||
$extralabelsline = $extrafields->fetch_name_optionals_label($object->table_element_line);
|
||||
|
||||
@ -820,7 +820,7 @@ if (empty($reshook)) {
|
||||
if (GETPOST('propalid') > 0) {
|
||||
// Define cost price for margin calculation
|
||||
$buyprice = 0;
|
||||
if (($result = $propal->defineBuyPrice($pu_ht, price2num(GETPOST('remise_percent'), 2), $object->id)) < 0) {
|
||||
if (($result = $propal->defineBuyPrice($pu_ht, price2num(GETPOST('remise_percent'), '', 2), $object->id)) < 0) {
|
||||
dol_syslog($langs->trans('FailedToGetCostPrice'));
|
||||
setEventMessages($langs->trans('FailedToGetCostPrice'), null, 'errors');
|
||||
} else {
|
||||
@ -835,7 +835,7 @@ if (empty($reshook)) {
|
||||
$localtax1_tx, // localtax1
|
||||
$localtax2_tx, // localtax2
|
||||
$object->id,
|
||||
price2num(GETPOST('remise_percent'), 2),
|
||||
price2num(GETPOST('remise_percent'), '', 2),
|
||||
$price_base_type,
|
||||
$pu_ttc,
|
||||
0,
|
||||
@ -860,7 +860,7 @@ if (empty($reshook)) {
|
||||
} elseif (GETPOST('commandeid') > 0) {
|
||||
// Define cost price for margin calculation
|
||||
$buyprice = 0;
|
||||
if (($result = $commande->defineBuyPrice($pu_ht, GETPOST('remise_percent', 2), $object->id)) < 0) {
|
||||
if (($result = $commande->defineBuyPrice($pu_ht, price2num(GETPOST('remise_percent'), '', 2), $object->id)) < 0) {
|
||||
dol_syslog($langs->trans('FailedToGetCostPrice'));
|
||||
setEventMessages($langs->trans('FailedToGetCostPrice'), null, 'errors');
|
||||
} else {
|
||||
@ -875,7 +875,7 @@ if (empty($reshook)) {
|
||||
$localtax1_tx, // localtax1
|
||||
$localtax2_tx, // localtax2
|
||||
$object->id,
|
||||
price2num(GETPOST('remise_percent'), 2),
|
||||
price2num(GETPOST('remise_percent'), '', 2),
|
||||
'',
|
||||
'',
|
||||
$price_base_type,
|
||||
@ -894,13 +894,13 @@ if (empty($reshook)) {
|
||||
);
|
||||
|
||||
if ($result > 0) {
|
||||
header("Location: ".DOL_URL_ROOT."/commande/card.php?id=".$commande->id);
|
||||
header("Location: ".DOL_URL_ROOT."/commande/card.php?id=".urlencode($commande->id));
|
||||
exit;
|
||||
}
|
||||
} elseif (GETPOST('factureid') > 0) {
|
||||
// Define cost price for margin calculation
|
||||
$buyprice = 0;
|
||||
if (($result = $facture->defineBuyPrice($pu_ht, GETPOST('remise_percent', 2), $object->id)) < 0) {
|
||||
if (($result = $facture->defineBuyPrice($pu_ht, price2num(GETPOST('remise_percent'), '', 2), $object->id)) < 0) {
|
||||
dol_syslog($langs->trans('FailedToGetCostPrice'));
|
||||
setEventMessages($langs->trans('FailedToGetCostPrice'), null, 'errors');
|
||||
} else {
|
||||
@ -915,7 +915,7 @@ if (empty($reshook)) {
|
||||
$localtax1_tx,
|
||||
$localtax2_tx,
|
||||
$object->id,
|
||||
price2num(GETPOST('remise_percent'), 2),
|
||||
price2num(GETPOST('remise_percent'), '', 2),
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
|
||||
@ -715,7 +715,7 @@ END;
|
||||
|
||||
// Discount qty min
|
||||
print '<tr><td>'.$langs->trans("DiscountQtyMin").'</td>';
|
||||
print '<td><input class="flat" name="remise_percent" size="4" value="'.(GETPOSTISSET('remise_percent') ? vatrate(price2num(GETPOST('remise_percent'), 2)) : (isset($object->fourn_remise_percent) ?vatrate($object->fourn_remise_percent) : '')).'"> %';
|
||||
print '<td><input class="flat" name="remise_percent" size="4" value="'.(GETPOSTISSET('remise_percent') ? vatrate(price2num(GETPOST('remise_percent'), '', 2)) : (isset($object->fourn_remise_percent) ?vatrate($object->fourn_remise_percent) : '')).'"> %';
|
||||
print '</td>';
|
||||
print '</tr>';
|
||||
|
||||
|
||||
@ -412,10 +412,10 @@ if (empty($reshook)) {
|
||||
// Récupération des variables
|
||||
$rowid = GETPOST('rowid', 'int');
|
||||
$priceid = GETPOST('priceid', 'int');
|
||||
$newprice = price2num(GETPOST("price"), 'MU');
|
||||
$newprice = price2num(GETPOST("price"), 'MU', 2);
|
||||
// $newminprice=price2num(GETPOST("price_min"),'MU'); // TODO : Add min price management
|
||||
$quantity = price2num(GETPOST('quantity'), 'MS');
|
||||
$remise_percent = price2num(GETPOST('remise_percent'), 2);
|
||||
$quantity = price2num(GETPOST('quantity'), 'MS', 2);
|
||||
$remise_percent = price2num(GETPOST('remise_percent'), '', 2);
|
||||
$remise = 0; // TODO : allow discount by amount when available on documents
|
||||
|
||||
if (empty($quantity)) {
|
||||
|
||||
@ -258,8 +258,8 @@ if (empty($reshook)) {
|
||||
$object->cond_reglement_id = GETPOST('cond_reglement_id');
|
||||
$object->mode_reglement_id = GETPOST('mode_reglement_id');
|
||||
$object->fk_account = GETPOST('fk_account', 'int');
|
||||
$object->remise_percent = price2num(GETPOST('remise_percent'), 2);
|
||||
$object->remise_absolue = price2num(GETPOST('remise_absolue'), 'MU');
|
||||
$object->remise_percent = price2num(GETPOST('remise_percent'), '', 2);
|
||||
$object->remise_absolue = price2num(GETPOST('remise_absolue'), 'MU', 2);
|
||||
$object->socid = GETPOST('socid');
|
||||
$object->fk_project = GETPOST('projectid', 'int');
|
||||
$object->model_pdf = GETPOST('model');
|
||||
@ -915,8 +915,8 @@ if (empty($reshook)) {
|
||||
$result = $object->updateline(
|
||||
GETPOST('lineid', 'int'),
|
||||
$ht,
|
||||
price2num(GETPOST('qty'), 'MS'),
|
||||
price2num(GETPOST('remise_percent'), 2),
|
||||
price2num(GETPOST('qty'), 'MS', 2),
|
||||
price2num(GETPOST('remise_percent'), '', 2),
|
||||
$vat_rate,
|
||||
$localtax1_rate,
|
||||
$localtax2_rate,
|
||||
@ -996,9 +996,9 @@ if (empty($reshook)) {
|
||||
// Terms of payments
|
||||
$result = $object->setPaymentTerms(GETPOST('cond_reglement_id', 'int'));
|
||||
} elseif ($action == 'setremisepercent' && $usercancreate) {
|
||||
$result = $object->set_remise_percent($user, price2num(GETPOST('remise_percent'), 2));
|
||||
$result = $object->set_remise_percent($user, price2num(GETPOST('remise_percent'), '', 2));
|
||||
} elseif ($action == 'setremiseabsolue' && $usercancreate) {
|
||||
$result = $object->set_remise_absolue($user, price2num(GETPOST('remise_absolue'), 'MU'));
|
||||
$result = $object->set_remise_absolue($user, price2num(GETPOST('remise_absolue'), 'MU', 2));
|
||||
} elseif ($action == 'setmode' && $usercancreate) {
|
||||
// Payment mode
|
||||
$result = $object->setPaymentMethods(GETPOST('mode_reglement_id', 'int'));
|
||||
|
||||
Loading…
Reference in New Issue
Block a user