// small fix on carrierwizard

This commit is contained in:
Rémi Gaillard committed 2013-07-26 20:27:25 +02:00
1 parent 77f4eec64f
commit a786606c9a
2 files changed
+16 -7

No files matched your search

+12 -3
View File
@@ -753,7 +753,7 @@ class CarrierCore extends ObjectModel
* @param array $priceList Prices list in multiple arrays (changed to array since 1.5.0) * @param array $priceList Prices list in multiple arrays (changed to array since 1.5.0)
* @return boolean Insertion result * @return boolean Insertion result
*/ */
public function addDeliveryPrice($price_list) public function addDeliveryPrice($price_list, $delete = false)
{ {
if (!$price_list) if (!$price_list)
return false; return false;
@@ -772,6 +772,17 @@ class CarrierCore extends ObjectModel
if (!isset($values['id_shop_group'])) if (!isset($values['id_shop_group']))
$values['id_shop_group'] = (Shop::getContext() != Shop::CONTEXT_ALL) ? Shop::getContextShopGroupID() : null; $values['id_shop_group'] = (Shop::getContext() != Shop::CONTEXT_ALL) ? Shop::getContextShopGroupID() : null;
if ($delete)
Db::getInstance()->execute('
DELETE FROM `'._DB_PREFIX_.'delivery`
WHERE id_shop = '.(int)$values['id_shop'].'
AND id_shop_group='.(int)$values['id_shop_group'].'
AND id_carrier='.(int)$values['id_carrier'].
($values['id_range_price'] !== null ? ' AND id_range_price='.(int)$values['id_range_price'] : '').
($values['id_range_weight'] !== null ? ' AND id_range_weight='.(int)$values['id_range_weight'] : '').'
AND id_zone='.(int)$values['id_zone']
);
$sql .= '('; $sql .= '(';
foreach ($values as $v) foreach ($values as $v)
{ {
@@ -1280,10 +1291,8 @@ class CarrierCore extends ObjectModel
{ {
if ($delete) if ($delete)
Db::getInstance()->execute('DELETE FROM '._DB_PREFIX_.'carrier_group WHERE id_carrier = '.(int)$id_carrier); Db::getInstance()->execute('DELETE FROM '._DB_PREFIX_.'carrier_group WHERE id_carrier = '.(int)$id_carrier);
if (!count($groups)) if (!count($groups))
return true; return true;
$sql = 'INSERT INTO '._DB_PREFIX_.'carrier_group (id_carrier, id_group) VALUES '; $sql = 'INSERT INTO '._DB_PREFIX_.'carrier_group (id_carrier, id_group) VALUES ';
foreach ($groups as $id_group) foreach ($groups as $id_group)
$sql .= '('.(int)$this->id.', '.(int)$id_group.'),'; $sql .= '('.(int)$this->id.', '.(int)$id_group.'),';
@@ -335,8 +335,8 @@ class AdminCarrierWizardControllerCore extends AdminController
$range_table = $carrier->getRangeTable(); $range_table = $carrier->getRangeTable();
$range_obj = $carrier->getRangeObject(); $range_obj = $carrier->getRangeObject();
$price_by_range = Carrier::getDeliveryPriceByRanges($range_table, (int)$carrier->id); $price_by_range = Carrier::getDeliveryPriceByRanges($range_table, (int)$carrier->id);
} }
$zones = Zone::getZones(false); $zones = Zone::getZones(false);
foreach ($zones as $zone) foreach ($zones as $zone)
$fields_value['zones'][$zone['id_zone']] = Tools::getValue('zone_'.$zone['id_zone'], (in_array($zone['id_zone'], $carrier_zones_ids))); $fields_value['zones'][$zone['id_zone']] = Tools::getValue('zone_'.$zone['id_zone'], (in_array($zone['id_zone'], $carrier_zones_ids)));
@@ -614,7 +614,7 @@ class AdminCarrierWizardControllerCore extends AdminController
'price' => (float)$fee[$key] 'price' => (float)$fee[$key]
); );
if (!$carrier->addDeliveryPrice($price_list)) if (!$carrier->addDeliveryPrice($price_list, true))
return false; return false;
} }
} }
@@ -758,11 +758,11 @@ class AdminCarrierWizardControllerCore extends AdminController
if (count($carrier->getZone($zone['id_zone']))) if (count($carrier->getZone($zone['id_zone'])))
{ {
if (!isset($_POST['zone_'.$zone['id_zone']]) || !$_POST['zone_'.$zone['id_zone']]) if (!isset($_POST['zone_'.$zone['id_zone']]) || !$_POST['zone_'.$zone['id_zone']])
$return &= $carrier->deleteZone($zone['id_zone']); $return &= $carrier->deleteZone((int)$zone['id_zone']);
} }
else else
if (isset($_POST['zone_'.$zone['id_zone']]) && $_POST['zone_'.$zone['id_zone']]) if (isset($_POST['zone_'.$zone['id_zone']]) && $_POST['zone_'.$zone['id_zone']])
$return &= $carrier->addZone($zone['id_zone']); $return &= $carrier->addZone((int)$zone['id_zone']);
return $return; return $return;
} }