From efe13abfd02fb8a4b9f4454fc7fa5bb66c51b378 Mon Sep 17 00:00:00 2001 From: lLefevre Date: Tue, 6 Dec 2011 12:41:56 +0000 Subject: [PATCH] // fix small bugs git-svn-id: http://dev.prestashop.com/svn/v1/branches/1.5.x@10975 b9a71923-0436-4b27-9f14-aed3839534dd --- admin-dev/themes/template/products/form.tpl | 4 +- classes/AdminController.php | 4 +- controllers/admin/AdminProductsController.php | 88 ++++++++++--------- js/admin-products.js | 28 +++--- 4 files changed, 67 insertions(+), 57 deletions(-) diff --git a/admin-dev/themes/template/products/form.tpl b/admin-dev/themes/template/products/form.tpl index 3352c8d31..8671a6c84 100644 --- a/admin-dev/themes/template/products/form.tpl +++ b/admin-dev/themes/template/products/form.tpl @@ -68,7 +68,7 @@ var tabs_toolbar_save_buttons = []; {/foreach} $(document).ready(function(){ - $('#desc-product-newCombinaison').hide(); + $('#desc-product-newCombination').hide(); {* submenu binding *} $(".tab-page").click(function(e){ e.preventDefault(); @@ -130,7 +130,7 @@ $(document).ready(function(){ if (btn_name == "Combinations") { $('#desc-product-new').hide(); - $('#desc-product-newCombinaison').show(); + $('#desc-product-newCombination').show(); populate_attrs(); } else if (btn_name == 'Attachments') diff --git a/classes/AdminController.php b/classes/AdminController.php index 30b467f7d..5ea389a69 100644 --- a/classes/AdminController.php +++ b/classes/AdminController.php @@ -80,6 +80,7 @@ class AdminControllerCore extends Controller public $tpl_view_vars = array(); public $base_tpl_view = null; + public $base_tpl_form = null; /** @var bool if you want more fieldsets in the form */ public $multiple_fieldsets = false; @@ -1430,6 +1431,7 @@ class AdminControllerCore extends Controller $this->setHelperDisplay($helper); $helper->fields_value = $this->getFieldsValue($this->object); $helper->tpl_vars = $this->tpl_form_vars; + !is_null($this->base_tpl_form) ? $helper->base_tpl = $this->base_tpl_form : ''; if ($this->tabAccess['view']) { if (Tools::getValue('back')) @@ -2014,7 +2016,7 @@ class AdminControllerCore extends Controller if (isset($fieldset['form']['input'])) foreach ($fieldset['form']['input'] as $input) if (empty($this->fields_value[$input['name']])) - if ($input['type'] == 'group_shop' || $input['type'] == 'shop') + if (isset($input['type']) && ($input['type'] == 'group_shop' || $input['type'] == 'shop')) { if ($obj->id) { diff --git a/controllers/admin/AdminProductsController.php b/controllers/admin/AdminProductsController.php index f76492e66..2acdb725a 100644 --- a/controllers/admin/AdminProductsController.php +++ b/controllers/admin/AdminProductsController.php @@ -363,7 +363,7 @@ class AdminProductsControllerCore extends AdminController $product->active = 0; if ($product->add() && Category::duplicateProductCategories($id_product_old, $product->id) - && ($combinationImages = Product::duplicateAttributes($id_product_old, $product->id)) !== false + && ($combination_images = Product::duplicateAttributes($id_product_old, $product->id)) !== false && GroupReduction::duplicateReduction($id_product_old, $product->id) && Product::duplicateAccessories($id_product_old, $product->id) && Product::duplicateFeatures($id_product_old, $product->id) @@ -377,7 +377,7 @@ class AdminProductsControllerCore extends AdminController if ($product->hasAttributes()) Product::updateDefaultAttribute($product->id); - if (!Tools::getValue('noimage') && !Image::duplicateProductImages($id_product_old, $product->id, $combinationImages)) + if (!Tools::getValue('noimage') && !Image::duplicateProductImages($id_product_old, $product->id, $combination_images)) $this->_errors[] = Tools::displayError('An error occurred while copying images.'); else { @@ -1899,7 +1899,7 @@ class AdminProductsControllerCore extends AdminController 'desc' => $this->l('Create'), ); - $this->toolbar_btn['newCombinaison'] = array( + $this->toolbar_btn['newCombination'] = array( 'short' => 'Add a new combination', 'desc' => $this->l('Add a new combination'), 'class' => 'toolbar-new' @@ -1943,7 +1943,7 @@ class AdminProductsControllerCore extends AdminController $defaultLanguage = (int)(Configuration::get('PS_LANG_DEFAULT')); $this->tpl_form_vars['currentIndex'] = self::$currentIndex; - $this->fields_form = array("pouet"=>"eh oui"); + $this->fields_form = array(''); $this->addJs(_PS_JS_DIR_.'attributesBack.js'); $this->display = 'edit'; $this->addJqueryUI('ui.datepicker'); @@ -2649,7 +2649,7 @@ class AdminProductsControllerCore extends AdminController } public function initFormAttachments($obj, $languages, $defaultLanguage) - { + { $content = ''; if (!($obj = $this->loadObject(true))) return; @@ -2720,6 +2720,7 @@ class AdminProductsControllerCore extends AdminController
 
'; $this->tpl_form_vars['custom_form'] = $content; + } public function initFormInformations($product, $languages, $defaultLanguage) @@ -2908,8 +2909,8 @@ class AdminProductsControllerCore extends AdminController if ($postAccessories = Tools::getValue('inputAccessories')) { $postAccessoriesTab = explode('-', Tools::getValue('inputAccessories')); - foreach ($postAccessoriesTab as $accessoryId) - if (!$this->haveThisAccessory($accessoryId, $accessories) && $accessory = Product::getAccessoryById($accessoryId)) + foreach ($postAccessoriesTab as $accessory_id) + if (!$this->haveThisAccessory($accessory_id, $accessories) && $accessory = Product::getAccessoryById($accessory_id)) $accessories[] = $accessory; } $data->assign('accessories', $accessories); @@ -2921,7 +2922,7 @@ class AdminProductsControllerCore extends AdminController // TinyMCE $iso_tiny_mce = $this->context->language->iso_code; $iso_tiny_mce = (file_exists(_PS_JS_DIR_.'tiny_mce/langs/'.$iso_tiny_mce.'.js') ? $iso_tiny_mce : 'en'); - $data->assign('ad', dirname($_SERVER["PHP_SELF"])); + $data->assign('ad', dirname($_SERVER['PHP_SELF'])); $data->assign('iso_tiny_mce', $iso_tiny_mce); $categoryBox = Tools::getValue('categoryBox', array()); $data->assign('product', $product); @@ -3111,7 +3112,7 @@ class AdminProductsControllerCore extends AdminController $combArray = array(); if (is_array($combinaisons)) { - $combinationImages = $product->getCombinationImages($this->context->language->id); + $combination_images = $product->getCombinationImages($this->context->language->id); foreach ($combinaisons as $k => $combinaison) { if ($currency->format % 2 != 0) @@ -3129,7 +3130,7 @@ class AdminProductsControllerCore extends AdminController $combArray[$combinaison['id_product_attribute']]['reference'] = $combinaison['reference']; $combArray[$combinaison['id_product_attribute']]['ean13'] = $combinaison['ean13']; $combArray[$combinaison['id_product_attribute']]['upc'] = $combinaison['upc']; - $combArray[$combinaison['id_product_attribute']]['id_image'] = isset($combinationImages[$combinaison['id_product_attribute']][0]['id_image']) ? $combinationImages[$combinaison['id_product_attribute']][0]['id_image'] : 0; + $combArray[$combinaison['id_product_attribute']]['id_image'] = isset($combination_images[$combinaison['id_product_attribute']][0]['id_image']) ? $combination_images[$combinaison['id_product_attribute']][0]['id_image'] : 0; $combArray[$combinaison['id_product_attribute']]['available_date'] = strftime($combinaison['available_date']); $combArray[$combinaison['id_product_attribute']]['default_on'] = $combinaison['default_on']; /*$combArray[$combinaison['id_product_attribute']]['minimal_quantity'] = $combinaison['minimal_quantity']; @@ -3262,7 +3263,7 @@ class AdminProductsControllerCore extends AdminController $groups = array(); if (is_array($combinaisons)) { - $combinationImages = $product->getCombinationImages($this->context->language->id); + $combination_images = $product->getCombinationImages($this->context->language->id); foreach ($combinaisons as $k => $combinaison) { $combArray[$combinaison['id_product_attribute']]['wholesale_price'] = $combinaison['wholesale_price']; @@ -3274,7 +3275,7 @@ class AdminProductsControllerCore extends AdminController $combArray[$combinaison['id_product_attribute']]['upc'] = $combinaison['upc']; $combArray[$combinaison['id_product_attribute']]['minimal_quantity'] = $combinaison['minimal_quantity']; $combArray[$combinaison['id_product_attribute']]['available_date'] = strftime($combinaison['available_date']); - $combArray[$combinaison['id_product_attribute']]['id_image'] = isset($combinationImages[$combinaison['id_product_attribute']][0]['id_image']) ? $combinationImages[$combinaison['id_product_attribute']][0]['id_image'] : 0; + $combArray[$combinaison['id_product_attribute']]['id_image'] = isset($combination_images[$combinaison['id_product_attribute']][0]['id_image']) ? $combination_images[$combinaison['id_product_attribute']][0]['id_image'] : 0; $combArray[$combinaison['id_product_attribute']]['default_on'] = $combinaison['default_on']; $combArray[$combinaison['id_product_attribute']]['ecotax'] = $combinaison['ecotax']; $combArray[$combinaison['id_product_attribute']]['attributes'][] = array($combinaison['group_name'], $combinaison['attribute_name'], $combinaison['id_attribute']); @@ -3699,20 +3700,20 @@ class AdminProductsControllerCore extends AdminController $content = 'var combination_images = new Array();'; if (!$allCombinationImages = $obj->getCombinationImages($this->context->language->id)) return $content; - foreach ($allCombinationImages as $id_product_attribute => $combinationImages) + foreach ($allCombinationImages as $id_product_attribute => $combination_images) { $i = 0; - $content .= 'combination_images['.(int)($id_product_attribute).'] = new Array();'; - foreach ($combinationImages as $combinationImage) - $content .= 'combination_images['.(int)($id_product_attribute).']['.$i++.'] = '.(int)($combinationImage['id_image']).';'; + $content .= 'combination_images['.(int)$id_product_attribute.'] = new Array();'; + foreach ($combination_images as $combination_image) + $content .= 'combination_images['.(int)$id_product_attribute.']['.$i++.'] = '.(int)$combination_image['id_image'].';'; } return $content; } - public function haveThisAccessory($accessoryId, $accessories) + public function haveThisAccessory($accessory_id, $accessories) { foreach ($accessories as $accessory) - if ((int)($accessory['id_product']) == (int)($accessoryId)) + if ((int)$accessory['id_product'] == (int)$accessory_id) return true; return false; } @@ -3723,19 +3724,19 @@ class AdminProductsControllerCore extends AdminController $product->packItems = Pack::getItems($product->id, $this->context->language->id); $input_pack_items = ''; - if(Tools::getValue('inputPackItems')) + if (Tools::getValue('inputPackItems')) $input_pack_items = Tools::getValue('inputPackItems'); else - foreach ($product->packItems as $packItem) - $input_pack_items .= $packItem->pack_quantity.'x'.$packItem->id.'-'; + foreach ($product->packItems as $pack_item) + $input_pack_items .= $pack_item->pack_quantity.'x'.$pack_item->id.'-'; $this->tpl_form_vars['input_pack_items'] = $input_pack_items; $input_namepack_items = ''; if (Tools::getValue('namePackItems')) $input_namepack_items = Tools::getValue('namePackItems'); else - foreach ($product->packItems as $packItem) - $input_namepack_items.= $packItem->pack_quantity.' x '.$packItem->name.'¤'; + foreach ($product->packItems as $pack_item) + $input_namepack_items .= $pack_item->pack_quantity.' x '.$pack_item->name.'¤'; $this->tpl_form_vars['input_namepack_items'] = $input_namepack_items; } @@ -3749,14 +3750,14 @@ class AdminProductsControllerCore extends AdminController $items = Tools::getValue('inputPackItems'); $lines = array_unique(explode('-', $items)); // lines is an array of string with format : QTYxID - if(count($lines)) + if (count($lines)) foreach ($lines as $line) if (!empty($line)) { list($qty, $item_id) = explode('x', $line); if ($qty > 0 && isset($item_id)) { - if (!Pack::addItem((int)($product->id), (int)($item_id), (int)($qty))) + if (!Pack::addItem((int)$product->id, (int)$item_id, (int)$qty)) return false; } } @@ -3786,7 +3787,8 @@ class AdminProductsControllerCore extends AdminController */ protected function loadObject($opt = false) { - if ($id = (int)(Tools::getValue($this->identifier)) AND Validate::isUnsignedId($id)) + $id = (int)Tools::getValue($this->identifier); + if ($id && Validate::isUnsignedId($id)) { if (!$this->object) $this->object = new $this->className($id); @@ -3816,19 +3818,25 @@ class AdminProductsControllerCore extends AdminController { parent::setMedia(); - $this->addjQueryPlugin('fileuploader'); - - $this->addJqueryUI(array( - 'ui.core', - 'ui.widget', - 'ui.progressbar' - )); - - $this->addJS(array( - _PS_JS_DIR_.'admin-products.js', - _PS_JS_DIR_.'price.js', - _PS_JS_DIR_.'tiny_mce/tiny_mce.js', - _PS_JS_DIR_.'tinymce.inc.js' - )); + if ($this->display == 'edit' || $this->display == 'add') + { + $this->addjQueryPlugin(array( + 'fileuploader', + 'autocomplete' + )); + + $this->addJqueryUI(array( + 'ui.core', + 'ui.widget', + 'ui.progressbar' + )); + + $this->addJS(array( + _PS_JS_DIR_.'admin-products.js', + _PS_JS_DIR_.'price.js', + _PS_JS_DIR_.'tiny_mce/tiny_mce.js', + _PS_JS_DIR_.'tinymce.inc.js' + )); + } } } diff --git a/js/admin-products.js b/js/admin-products.js index c3da50962..6b4592f1b 100644 --- a/js/admin-products.js +++ b/js/admin-products.js @@ -23,37 +23,37 @@ * International Registered Trademark & Property of PrestaShop SA */ -/* Combinaition */ +/* Combination */ var posC = true; $(document).ready(function() { - $('#desc-product-newCombinaison').click(function() { + $('#desc-product-newCombination').click(function() { if (posC == true) - removeButtonCombinaison('add'); + removeButtonCombination('add'); else - addButtonCombinaison('add'); + addButtonCombination('add'); }); }); -function removeButtonCombinaison(item) +function removeButtonCombination(item) { $('#add_new_combination').show(); - $('.process-icon-newCombinaison').removeClass('toolbar-new'); - $('.process-icon-newCombinaison').addClass('toolbar-cancel'); + $('.process-icon-newCombination').removeClass('toolbar-new'); + $('.process-icon-newCombination').addClass('toolbar-cancel'); $('#submitProductAttribute').val($('#submitProductAttribute').attr(item)); - $('#desc-product-newCombinaison div').html($('#ResetBtn').val()); + $('#desc-product-newCombination div').html($('#ResetBtn').val()); $('id_product_attribute').val(0); init_elems(); posC = false; } -function addButtonCombinaison(item) +function addButtonCombination(item) { $('#add_new_combination').hide(); - $('.process-icon-newCombinaison').removeClass('toolbar-cancel'); - $('.process-icon-newCombinaison').addClass('toolbar-new'); + $('.process-icon-newCombination').removeClass('toolbar-cancel'); + $('.process-icon-newCombination').addClass('toolbar-new'); $('#submitProductAttribute').val($('#submitProductAttribute').attr(item)); - $('#desc-product-newCombinaison div').html($('#submitProductAttribute').val()); + $('#desc-product-newCombination div').html($('#submitProductAttribute').val()); posC = true; } @@ -140,7 +140,7 @@ function editProductAttribute(ids, token) $('#add_new_combination').show(); $('#attribute_quantity').show(); $('#product_att_list').html(''); - removeButtonCombinaison('update'); + removeButtonCombination('update'); $.scrollTo('#add_new_combination', 1200, { offset: -100 }); var wholesale_price = Math.abs(data[0]['wholesale_price']); @@ -202,7 +202,7 @@ function editProductAttribute(ids, token) } }); } -/* END Combinaition */ +/* END Combination */ function addPackItem() {