Merge branch '10.0' of git@github.com:Dolibarr/dolibarr.git into 10.0
This commit is contained in:
commit
733814a8a0
@ -428,7 +428,7 @@ class ProductFournisseur extends Product
|
||||
$sql .= " ".($newdefaultvatcode?"'".$this->db->escape($newdefaultvatcode)."'":"null").",";
|
||||
$sql .= " " . $newnpr . ",";
|
||||
$sql .= $conf->entity . ",";
|
||||
$sql .= $delivery_time_days . ",";
|
||||
$sql .= ($delivery_time_days != '' ? $delivery_time_days : 'null') . ",";
|
||||
$sql .= (empty($supplier_reputation) ? 'NULL' : "'" . $this->db->escape($supplier_reputation) . "'") . ",";
|
||||
$sql .= (empty($barcode) ? 'NULL' : "'" . $this->db->escape($barcode) . "'") . ",";
|
||||
$sql .= (empty($fk_barcode_type) ? 'NULL' : "'" . $this->db->escape($fk_barcode_type) . "'");
|
||||
@ -447,7 +447,7 @@ class ProductFournisseur extends Product
|
||||
if (! $error && empty($conf->global->PRODUCT_PRICE_SUPPLIER_NO_LOG)) {
|
||||
// Add record into log table
|
||||
// $this->product_fourn_price_id must be set
|
||||
$result = $this->logPrice($user, $now, $buyprice, $qty, $multicurrency_buyprice, $multicurrency_unitBuyPrice, $multicurrency_tx, $fk_multicurrenc, $multicurrency_code);
|
||||
$result = $this->logPrice($user, $now, $buyprice, $qty, $multicurrency_buyprice, $multicurrency_unitBuyPrice, $multicurrency_tx, $fk_multicurrency, $multicurrency_code);
|
||||
if ($result < 0) {
|
||||
$error++;
|
||||
}
|
||||
|
||||
@ -1792,25 +1792,25 @@ class SupplierProposal extends CommonObject
|
||||
*/
|
||||
public function updateOrCreatePriceFournisseur($user)
|
||||
{
|
||||
$productsupplier = new ProductFournisseur($this->db);
|
||||
global $conf;
|
||||
|
||||
dol_syslog(get_class($this)."::updateOrCreatePriceFournisseur", LOG_DEBUG);
|
||||
foreach ($this->lines as $product)
|
||||
{
|
||||
if ($product->subprice <= 0) continue;
|
||||
$productsupplier = new ProductFournisseur($this->db);
|
||||
|
||||
$idProductFourn = $productsupplier->find_min_price_product_fournisseur($product->fk_product, $product->qty);
|
||||
$res = $productsupplier->fetch($idProductFourn);
|
||||
$multicurrency_tx = 1;
|
||||
$fk_multicurrency = 0;
|
||||
|
||||
if ($productsupplier->id) {
|
||||
if ($productsupplier->fourn_qty == $product->qty) {
|
||||
$this->updatePriceFournisseur($productsupplier->product_fourn_price_id, $product, $user);
|
||||
} else {
|
||||
$this->createPriceFournisseur($product, $user);
|
||||
}
|
||||
} else {
|
||||
$this->createPriceFournisseur($product, $user);
|
||||
}
|
||||
if(empty($this->thirdparty)) $this->fetch_thirdparty();
|
||||
|
||||
$ref_fourn = $product->ref_fourn;
|
||||
if(empty($ref_fourn)) $ref_fourn = $product->ref_supplier;
|
||||
if(!empty($conf->multicurrency->enabled) && !empty($product->multicurrency_code)) list($fk_multicurrency, $multicurrency_tx) = MultiCurrency::getIdAndTxFromCode($this->db, $product->multicurrency_code);
|
||||
$productsupplier->id = $product->fk_product;
|
||||
|
||||
$productsupplier->update_buyprice($product->qty, $product->subprice, $user, 'HT', $this->thirdparty, '', $ref_fourn, $product->tva_tx, 0, 0, 0, $product->info_bits, '', '', array(), '', $product->multicurrency_subprice, 'HT', $multicurrency_tx, $product->multicurrency_code, '', '', '');
|
||||
}
|
||||
|
||||
return 1;
|
||||
@ -1848,11 +1848,12 @@ class SupplierProposal extends CommonObject
|
||||
*/
|
||||
public function createPriceFournisseur($product, $user)
|
||||
{
|
||||
$price=price2num($product->subprice*$product->qty, 'MU');
|
||||
global $conf;
|
||||
|
||||
$price=price2num($product->subprice*$product->qty, 'MU');
|
||||
$qty=price2num($product->qty);
|
||||
$unitPrice = price2num($product->subprice, 'MU');
|
||||
$now=dol_now();
|
||||
|
||||
$values = array(
|
||||
"'".$this->db->idate($now)."'",
|
||||
$product->fk_product,
|
||||
@ -1864,9 +1865,28 @@ class SupplierProposal extends CommonObject
|
||||
$product->tva_tx,
|
||||
$user->id
|
||||
);
|
||||
if (!empty($conf->multicurrency->enabled)) {
|
||||
if (!empty($product->multicurrency_code)) {
|
||||
include_once DOL_DOCUMENT_ROOT.'/multicurrency/class/multicurrency.class.php';
|
||||
$multicurrency = new MultiCurrency($this->db); //need to fetch because empty fk_multicurrency and rate
|
||||
$multicurrency->fetch(0, $product->multicurrency_code);
|
||||
if(! empty($multicurrency->id)) {
|
||||
$values[] = $multicurrency->id;
|
||||
$values[] = "'".$product->multicurrency_code."'";
|
||||
$values[] = $product->multicurrency_subprice;
|
||||
$values[] = $product->multicurrency_total_ht;
|
||||
$values[] = $multicurrency->rate->rate;
|
||||
}
|
||||
else {
|
||||
for($i = 0; $i < 5; $i++) $values[] = 'NULL';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$sql = 'INSERT INTO '.MAIN_DB_PREFIX.'product_fournisseur_price ';
|
||||
$sql .= '(datec, fk_product, fk_soc, ref_fourn, price, quantity, unitprice, tva_tx, fk_user) VALUES ('.implode(',', $values).')';
|
||||
$sql .= '(datec, fk_product, fk_soc, ref_fourn, price, quantity, unitprice, tva_tx, fk_user';
|
||||
if(!empty($conf->multicurrency->enabled) && !empty($product->multicurrency_code)) $sql .= ',fk_multicurrency, multicurrency_code, multicurrency_unitprice, multicurrency_price, multicurrency_tx';
|
||||
$sql .= ') VALUES ('.implode(',', $values).')';
|
||||
|
||||
$resql = $this->db->query($sql);
|
||||
if (!$resql) {
|
||||
|
||||
@ -48,7 +48,7 @@ if (defined('THEME_ONLY_CONSTANT')) return;
|
||||
session_cache_limiter('public');
|
||||
|
||||
|
||||
require_once '../../main.inc.php';
|
||||
require_once __DIR__.'/../../main.inc.php'; // __DIR__ allow this script to be included in custom themes
|
||||
require_once DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php';
|
||||
|
||||
// Load user to have $user->conf loaded (not done into main because of NOLOGIN constant defined)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user