From ab2ebc38531d725a6f5ad5d837cbcb4fa79ae0a7 Mon Sep 17 00:00:00 2001 From: bMancone Date: Wed, 4 Jan 2012 17:29:30 +0000 Subject: [PATCH] // #PSFV-299 git-svn-id: http://dev.prestashop.com/svn/v1/branches/1.5.x@12159 b9a71923-0436-4b27-9f14-aed3839534dd --- .../default/template/suppliers/view.tpl | 16 ++++++++--- classes/Supplier.php | 28 +++++++++++++++++-- .../admin/AdminSuppliersController.php | 13 +++++++++ 3 files changed, 51 insertions(+), 6 deletions(-) diff --git a/admin-dev/themes/default/template/suppliers/view.tpl b/admin-dev/themes/default/template/suppliers/view.tpl index 83ba2ba58..5610336bb 100644 --- a/admin-dev/themes/default/template/suppliers/view.tpl +++ b/admin-dev/themes/default/template/suppliers/view.tpl @@ -36,8 +36,10 @@ {if !$product->hasAttributes()} - - {if !empty($product->reference)}{/if} + + {if !empty($product->product_supplier_reference)}{/if} + {if !empty($product->product_supplier_price_te)}{/if} + {if !empty($product->reference)}{/if} {if !empty($product->ean13)}{/if} {if !empty($product->upc)}{/if} {if $stock_management}{/if} @@ -48,13 +50,17 @@
{$product->name}{l s='Ref:'} {$product->reference}{l s='Name:'}{$product->name}{l s='Supplier Reference:'} {$product->product_supplier_reference}{l s='Wholesale price:'} {$product->product_supplier_price_te}{l s='Reference:'} {$product->reference}{l s='EAN13:'} {$product->ean13}{l s='UPC:'} {$product->upc}{l s='Available Quantity:'} {$product->quantity}
+ + + + - - + + @@ -63,6 +69,8 @@ {foreach $product->combinaison AS $id_product_attribute => $product_attribute} + + diff --git a/classes/Supplier.php b/classes/Supplier.php index 104e9c96c..82dcb7cd0 100644 --- a/classes/Supplier.php +++ b/classes/Supplier.php @@ -288,7 +288,8 @@ class SupplierCore extends ObjectModel public function getProductsLite($id_lang) { $sql = ' - SELECT p.`id_product`, pl.`name` + SELECT p.`id_product`, + pl.`name` FROM `'._DB_PREFIX_.'product` p LEFT JOIN `'._DB_PREFIX_.'product_lang` pl ON ( p.`id_product` = pl.`id_product` @@ -300,7 +301,8 @@ class SupplierCore extends ObjectModel ) GROUP BY p.`id_product`'; - return Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS($sql); + $res = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS($sql); + return $res; } /* @@ -328,5 +330,27 @@ class SupplierCore extends ObjectModel if (parent::delete()) return $this->deleteImage(); } + + /** + * Gets product informations + * + * @since 1.5.0 + * @param int $id_supplier + * @param int $id_product + * @param int $id_product_attribute + * @return array + */ + public static function getProductInformationsBySupplier($id_supplier, $id_product, $id_product_attribute = 0) + { + $query = new DbQuery(); + $query->select('product_supplier_reference, product_supplier_price_te, id_currency'); + $query->from('product_supplier'); + $query->where('id_supplier = '.(int)$id_supplier); + $query->where('id_product = '.(int)$id_product); + $query->where('id_product_attribute = '.(int)$id_product_attribute); + $res = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS($query); + + return $res[0]; + } } diff --git a/controllers/admin/AdminSuppliersController.php b/controllers/admin/AdminSuppliersController.php index 3ba3300ff..e41517b90 100644 --- a/controllers/admin/AdminSuppliersController.php +++ b/controllers/admin/AdminSuppliersController.php @@ -261,6 +261,11 @@ class AdminSuppliersControllerCore extends AdminController $combinaisons = $products[$i]->getAttributeCombinaisons($this->context->language->id); foreach ($combinaisons as $k => $combinaison) { + $comb_infos = Supplier::getProductInformationsBySupplier($this->object->id, + $products[$i]->id, + $combinaison['id_product_attribute']); + $comb_array[$combinaison['id_product_attribute']]['product_supplier_reference'] = $comb_infos['product_supplier_reference']; + $comb_array[$combinaison['id_product_attribute']]['product_supplier_price_te'] = Tools::displayPrice($comb_infos['product_supplier_price_te'], new Currency($comb_infos['id_currency'])); $comb_array[$combinaison['id_product_attribute']]['reference'] = $combinaison['reference']; $comb_array[$combinaison['id_product_attribute']]['ean13'] = $combinaison['ean13']; $comb_array[$combinaison['id_product_attribute']]['upc'] = $combinaison['upc']; @@ -284,6 +289,14 @@ class AdminSuppliersControllerCore extends AdminController isset($comb_array) ? $products[$i]->combinaison = $comb_array : ''; unset($comb_array); } + else + { + $product_infos = Supplier::getProductInformationsBySupplier($this->object->id, + $products[$i]->id, + 0); + $products[$i]->product_supplier_reference = $product_infos['product_supplier_reference']; + $products[$i]->product_supplier_price_te = Tools::displayPrice($product_infos['product_supplier_price_te'], new Currency($product_infos['id_currency'])); + } } $this->tpl_view_vars = array(
{l s='Attribute name'}{l s='Supplier Reference'}{l s='Wholesale price'} {l s='Reference'} {l s='EAN13'} {l s='UPC'}
{$product_attribute.attributes}{$product_attribute.product_supplier_reference}{$product_attribute.product_supplier_price_te} {$product_attribute.reference} {$product_attribute.ean13} {$product_attribute.upc}