// #PSFV-94 : Add possibility to add product in a supplier order
git-svn-id: http://dev.prestashop.com/svn/v1/branches/1.5.x@9906 b9a71923-0436-4b27-9f14-aed3839534dd
This commit is contained in:
@@ -246,13 +246,52 @@ class SupplierOrderCore extends ObjectModel
|
||||
$this->discount_value_te = $this->total_te - $this->total_with_discount_te;
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieves the product entries for the current order
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function getEntries($id_lang = null)
|
||||
{
|
||||
if ($id_lang == null)
|
||||
$id_lang = Context::getContext()->language->id;
|
||||
|
||||
// build query
|
||||
$query = new DbQuery();
|
||||
|
||||
$query->select('
|
||||
s.*,
|
||||
IFNULL(CONCAT(pl.name, \' : \', GROUP_CONCAT(agl.name, \' - \', al.name SEPARATOR \', \')), pl.name) as name,
|
||||
p.reference as reference,
|
||||
p.ean13 as ean13');
|
||||
|
||||
$query->from('supplier_order_detail s');
|
||||
|
||||
$query->innerjoin('product_lang pl ON (pl.id_product = s.id_product AND pl.id_lang = '.$id_lang.')');
|
||||
|
||||
$query->leftjoin('product p ON p.id_product = s.id_product');
|
||||
$query->leftjoin('product_attribute_combination pac ON (pac.id_product_attribute = s.id_product_attribute)');
|
||||
$query->leftjoin('attribute atr ON (atr.id_attribute = pac.id_attribute)');
|
||||
$query->leftjoin('attribute_lang al ON (al.id_attribute = atr.id_attribute AND al.id_lang = '.$id_lang.')');
|
||||
$query->leftjoin('attribute_group_lang agl ON (agl.id_attribute_group = atr.id_attribute_group AND agl.id_lang = '.$id_lang.')');
|
||||
|
||||
$query->where('s.id_supplier_order = '.(int)$this->id);
|
||||
|
||||
$query->groupBy('s.id_supplier_order_detail');
|
||||
|
||||
return Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS($query);
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieves the product entries collection for the current order
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function getEntriesCollection()
|
||||
public function getEntriesCollection($id_lang = null)
|
||||
{
|
||||
if ($id_lang == null)
|
||||
$id_lang = Context::getContext()->language->id;
|
||||
|
||||
// build query
|
||||
$query = new DbQuery();
|
||||
$query->select('s.*');
|
||||
|
||||
@@ -110,7 +110,7 @@ class SupplierOrderDetailCore extends ObjectModel
|
||||
* @var float This is like $price_with_discount_te, considering the global order discount.
|
||||
* (i.e. if SupplierOrder::discount_rate is set)
|
||||
*/
|
||||
public $price_with_order_discount_te;
|
||||
public $price_with_order_discount_te = 0;
|
||||
|
||||
protected $fieldsRequired = array(
|
||||
'id_supplier_order',
|
||||
@@ -167,13 +167,13 @@ class SupplierOrderDetailCore extends ObjectModel
|
||||
{
|
||||
$this->validateFields();
|
||||
|
||||
$fields['id_supplier_order'] = (int)$this->id_supplier;
|
||||
$fields['id_product'] = (int)$this->id_employee;
|
||||
$fields['id_product_attribute'] = (int)$this->id_warehouse;
|
||||
$fields['id_supplier_order'] = (int)$this->id_supplier_order;
|
||||
$fields['id_product'] = (int)$this->id_product;
|
||||
$fields['id_product_attribute'] = (int)$this->id_product_attribute;
|
||||
$fields['id_currency'] = (int)$this->id_currency;
|
||||
$fields['exchange_rate'] = (float)$this->exchange_rate;
|
||||
$fields['unit_price_te'] = (float)$this->unit_price_te;
|
||||
$fields['quantity'] = (int)$this->id_state;
|
||||
$fields['quantity'] = (int)$this->quantity;
|
||||
$fields['price_te'] = (float)$this->price_te;
|
||||
$fields['discount_rate'] = (float)$this->discount_rate;
|
||||
$fields['discount_value_te'] = (float)$this->discount_value_te;
|
||||
@@ -221,10 +221,10 @@ class SupplierOrderDetailCore extends ObjectModel
|
||||
|
||||
// calcul entry discount value
|
||||
if ($this->discount_rate != null && is_numeric($this->discount_rate) && $this->discount_rate > 0)
|
||||
$htis->discount_value_te = (float)$htis->price_te * ((float)$this->discount_rate / 100);
|
||||
$htis->discount_value_te = (float)$this->price_te * ((float)$this->discount_rate / 100);
|
||||
|
||||
// calcul entry price with discount
|
||||
$this->price_with_discount_te = $htis->price_te - $htis->discount_value_te;
|
||||
$this->price_with_discount_te = $this->price_te - $this->discount_value_te;
|
||||
|
||||
// calcul tax value
|
||||
$this->tax_value = $this->price_with_discount_te * ((float)$this->tax_rate / 100);
|
||||
|
||||
Reference in New Issue
Block a user