Fixes #21. Исправлена склейка типов доставки

This commit is contained in:
Akolzin Dmitry 2018-12-05 10:34:19 +03:00
parent 6ba09d3ac5
commit 8f216b0210

View File

@ -11,11 +11,13 @@ class ControllerApiRetailcrm extends Controller
} else { } else {
$this->load->model('localisation/country'); $this->load->model('localisation/country');
$this->load->model('setting/setting'); $this->load->model('setting/setting');
$countries = $this->model_setting_setting->getSetting('retailcrm')['retailcrm_country']; $setting = $this->model_setting_setting->getSetting('retailcrm');
$response = array(); $response = array();
foreach ($countries as $country) { if (isset($setting['retailcrm_country']) && $setting['retailcrm_country']) {
$response = array_merge($response, $this->getDeliveryTypesByZones($country)); foreach ($setting['retailcrm_country'] as $country) {
$response = $this->mergeDeliveryTypes($country, $response);
}
} }
} }
@ -121,6 +123,18 @@ class ControllerApiRetailcrm extends Controller
return $deliveryTypes; return $deliveryTypes;
} }
private function mergeDeliveryTypes($country, $result) {
$delivery_types = $this->getDeliveryTypesByZones($country);
foreach ($delivery_types as $shipping_module => $shipping_type) {
if (isset($result[$shipping_module])) {
$result[$shipping_module] = array_merge($result[$shipping_module], $shipping_type);
} else {
$result[$shipping_module] = $shipping_type;
}
}
return $result;
}
private function auth() private function auth()
{ {
if (version_compare(VERSION, '2.1.0', '>=')) { if (version_compare(VERSION, '2.1.0', '>=')) {