diff --git a/admin-dev/themes/default/template/controllers/orders/_customized_data.tpl b/admin-dev/themes/default/template/controllers/orders/_customized_data.tpl
index 744cb17a4..f0be3dac4 100755
--- a/admin-dev/themes/default/template/controllers/orders/_customized_data.tpl
+++ b/admin-dev/themes/default/template/controllers/orders/_customized_data.tpl
@@ -26,7 +26,7 @@
{if $product.customizedDatas}
- | {if isset($product.image) && $product.image->id}{$product.image_tag}{else}'--'{/if} |
+ {if isset($product.image) && $product.image->id}{$product.image_tag}{else}--{/if} |
{$product['product_name']} - {l s='customized'}
diff --git a/admin-dev/themes/default/template/controllers/orders/form.tpl b/admin-dev/themes/default/template/controllers/orders/form.tpl
index 21febfe12..297e35d8a 100755
--- a/admin-dev/themes/default/template/controllers/orders/form.tpl
+++ b/admin-dev/themes/default/template/controllers/orders/form.tpl
@@ -139,7 +139,7 @@
$('.delete_product').live('click', function(e) {
e.preventDefault();
var to_delete = $(this).attr('rel').split('_');
- deleteProduct(to_delete[1], to_delete[2]);
+ deleteProduct(to_delete[1], to_delete[2], to_delete[3]);
});
$('.delete_discount').live('click', function(e) {
e.preventDefault();
@@ -184,7 +184,7 @@
if ($(this).val() != cart_quantity[$(this).attr('rel')])
{
var product = $(this).attr('rel').split('_');
- updateQty(product[0], product[1], $(this).val() - cart_quantity[$(this).attr('rel')]);
+ updateQty(product[0], product[1], product[2], $(this).val() - cart_quantity[$(this).attr('rel')]);
}
});
$('.increaseqty_product, .decreaseqty_product').live('click', function(e) {
@@ -193,7 +193,7 @@
var sign = '';
if ($(this).hasClass('decreaseqty_product'))
sign = '-';
- updateQty(product[0], product[1], sign+1);
+ updateQty(product[0], product[1],product[2], sign+1);
});
$('#id_product').live('keydown', function(e) {
$(this).click();
@@ -396,7 +396,7 @@
});
}
- function deleteProduct(id_product, id_product_attribute)
+ function deleteProduct(id_product, id_product_attribute, id_customization)
{
$.ajax({
type:"POST",
@@ -410,6 +410,7 @@
action: "deleteProduct",
id_product: id_product,
id_product_attribute: id_product_attribute,
+ id_customization: id_customization,
id_cart: id_cart,
id_customer: id_customer
},
@@ -640,9 +641,9 @@
$.each(products, function() {
cart_quantity[this.id_product+'_'+this.id_product_attribute] = this.cart_quantity;
cart_content += ' | '+this.name+' '+this.attributes_small+' | '+this.reference+' | | ';
- cart_content += '';
- cart_content += '';
- cart_content += '  ';
+ cart_content += ' ';
+ cart_content += ' | '+this.total+' | ';
});
$('#customer_cart tbody').html(cart_content);
@@ -671,8 +672,7 @@
function displaySummary(jsonSummary)
{
- if (jsonSummary.summary.products.length)
- updateCartProducts(jsonSummary.summary.products);
+ updateCartProducts(jsonSummary.summary.products);
updateCartVouchers(jsonSummary.summary.discounts);
updateAddressesList(jsonSummary.addresses, jsonSummary.cart.id_address_delivery, jsonSummary.cart.id_address_invoice);
@@ -720,7 +720,7 @@
resetBind();
}
- function updateQty(id_product, id_product_attribute, qty)
+ function updateQty(id_product, id_product_attribute, id_customization, qty)
{
$.ajax({
type:"POST",
@@ -734,6 +734,7 @@
action: "updateQty",
id_product: id_product,
id_product_attribute: id_product_attribute,
+ id_customization: id_customization,
qty: qty,
id_customer: id_customer,
id_cart: id_cart,
@@ -771,7 +772,7 @@
else
{
$('#products_err').hide();
- updateQty(id_product, $('#ipa_'+id_product+' option:selected').val(), $('#qty').val());
+ updateQty(id_product, $('#ipa_'+id_product+' option:selected').val(), 0, $('#qty').val());
}
}
diff --git a/classes/Cart.php b/classes/Cart.php
index b9441c1b8..41cc47716 100644
--- a/classes/Cart.php
+++ b/classes/Cart.php
@@ -471,7 +471,7 @@ class CartCore extends ObjectModel
{
$sql->select('cu.`id_customization`, cu.`quantity` AS customization_quantity');
$sql->leftJoin('customization', 'cu',
- 'p.`id_product` = cu.`id_product` AND cp.`id_product_attribute` = cu.id_product_attribute');
+ 'p.`id_product` = cu.`id_product` AND cp.`id_product_attribute` = cu.id_product_attribute AND cu.id_cart='.(int)$this->id);
}
else
$sql->select('0 AS customization_quantity, 0 AS id_customization');
diff --git a/controllers/admin/AdminCartsController.php b/controllers/admin/AdminCartsController.php
index c6e372bef..a2a97238f 100755
--- a/controllers/admin/AdminCartsController.php
+++ b/controllers/admin/AdminCartsController.php
@@ -233,8 +233,7 @@ class AdminCartsControllerCore extends AdminController
$errors[] = Tools::displayError('Invalid combination');
if (count($errors))
die(Tools::jsonEncode($errors));
-
- if ($this->context->cart->deleteProduct($id_product, $id_product_attribute))
+ if ($this->context->cart->deleteProduct($id_product, $id_product_attribute, (int)Tools::getValue('id_customization')))
echo Tools::jsonEncode($this->ajaxReturnVars());
}
}
@@ -254,7 +253,7 @@ class AdminCartsControllerCore extends AdminController
$field_id = 'customization_'.$id_product.'_'.$customization_field['id_customization_field'];
if ($customization_field['type'] == Product::CUSTOMIZE_TEXTFIELD)
{
- if (!isset($_POST[$field_id]))
+ if (!isset($_POST[$field_id]) || empty($_POST[$field_id]))
{
if ($customization_field['required'])
$errors[] = Tools::displayError('Please fill in all required fields');
|