1
0
mirror of synced 2025-02-12 13:09:22 +03:00

Merge pull request #32 from iyzoer/master

v.2.2.7
This commit is contained in:
Akolzin Dmitry 2017-10-26 16:35:44 +03:00 committed by GitHub
commit 0e1ec2b03c
6 changed files with 32 additions and 23 deletions

View File

@ -1,3 +1,6 @@
## 2017-10-26 v.2.2.7
* Исправлен баг при работе с одним сайтом
## 2017-10-25 v.2.2.6 ## 2017-10-25 v.2.2.6
* Доработана система синхронизации оплат * Доработана система синхронизации оплат
* Исправлены ошибки в истории заказов * Исправлены ошибки в истории заказов

View File

@ -151,15 +151,15 @@ class RetailCrmEvent
)); ));
//many sites? //many sites?
if(!empty($optionsSitesList) && array_key_exists($arOrder['LID'], $optionsSitesList)) { if ($optionsSitesList) {
if (array_key_exists($arOrder['LID'], $optionsSitesList) && $optionsSitesList[$arOrder['LID']] !== null) {
$site = $optionsSitesList[$arOrder['LID']]; $site = $optionsSitesList[$arOrder['LID']];
} else { } else {
$site = null;
}
if ($site == null) {
return; return;
} }
} elseif (!$optionsSitesList) {
$site = null;
}
//new order? //new order?
$orderCrm = RCrmActions::apiMethod($api, 'ordersGet', __METHOD__, $arOrder['ID'], $site); $orderCrm = RCrmActions::apiMethod($api, 'ordersGet', __METHOD__, $arOrder['ID'], $site);
@ -230,19 +230,19 @@ class RetailCrmEvent
$newOrder = Bitrix\Sale\Order::load($arPayment['ORDER_ID']); $newOrder = Bitrix\Sale\Order::load($arPayment['ORDER_ID']);
$arPayment['LID'] = $newOrder->getField('LID'); $arPayment['LID'] = $newOrder->getField('LID');
} catch (Bitrix\Main\ArgumentNullException $e) { } catch (Bitrix\Main\ArgumentNullException $e) {
RCrmActions::eventLog('RetailCrmHistory::orderHistory', 'Bitrix\Sale\Order::load', $e->getMessage() . ': ' . $arPayment['ORDER_ID']); RCrmActions::eventLog('RetailCrmEvent::paymentSave', 'Bitrix\Sale\Order::load', $e->getMessage() . ': ' . $arPayment['ORDER_ID']);
return; return;
} }
if(!empty($optionsSitesList) && array_key_exists($arPayment['LID'], $optionsSitesList)) { if ($optionsSitesList) {
$site = $optionsSitesList[$arPayment['LID']]; if (array_key_exists($arOrder['LID'], $optionsSitesList) && $optionsSitesList[$arOrder['LID']] !== null) {
$site = $optionsSitesList[$arOrder['LID']];
} else { } else {
$site = null;
}
if ($site == null) {
return; return;
} }
} elseif (!$optionsSitesList) {
$site = null;
}
$api_host = COption::GetOptionString(self::$MODULE_ID, self::$CRM_API_HOST_OPTION, 0); $api_host = COption::GetOptionString(self::$MODULE_ID, self::$CRM_API_HOST_OPTION, 0);
$api_key = COption::GetOptionString(self::$MODULE_ID, self::$CRM_API_KEY_OPTION, 0); $api_key = COption::GetOptionString(self::$MODULE_ID, self::$CRM_API_KEY_OPTION, 0);
@ -299,7 +299,7 @@ class RetailCrmEvent
$paymentToCrm['order']['externalId'] = $arPayment['ORDER_ID']; $paymentToCrm['order']['externalId'] = $arPayment['ORDER_ID'];
} }
} else { } else {
RCrmActions::eventLog('RetailCrmOrder::orderSend', 'payments', 'OrderID = ' . $arFields['ID'] . '. Payment not found.'); RCrmActions::eventLog('RetailCrmEvent::paymentSave', 'payments', 'OrderID = ' . $arPayment['ID'] . '. Payment not found.');
} }
if (!array_key_exists($arPayment['ID'], $paymentsExternalIds)) { if (!array_key_exists($arPayment['ID'], $paymentsExternalIds)) {
@ -339,7 +339,7 @@ class RetailCrmEvent
$newOrder = Bitrix\Sale\Order::load($arPayment['ORDER_ID']); $newOrder = Bitrix\Sale\Order::load($arPayment['ORDER_ID']);
$arPayment['LID'] = $newOrder->getField('LID'); $arPayment['LID'] = $newOrder->getField('LID');
} catch (Bitrix\Main\ArgumentNullException $e) { } catch (Bitrix\Main\ArgumentNullException $e) {
RCrmActions::eventLog('RetailCrmHistory::orderHistory', 'Bitrix\Sale\Order::load', $e->getMessage() . ': ' . $arPayment['ORDER_ID']); RCrmActions::eventLog('RetailCrmEvent::paymentDelete', 'Bitrix\Sale\Order::load', $e->getMessage() . ': ' . $arPayment['ORDER_ID']);
return; return;
} }

View File

@ -1,2 +1 @@
- Доработана система синхронизации оплат - Исправлен баг при работе с одним сайтом
- Исправлены ошибки в истории заказов

View File

@ -335,6 +335,7 @@ class intaro_retailcrm extends CModule
$this->RETAIL_CRM_API = new \RetailCrm\ApiClient($api_host, $api_key); $this->RETAIL_CRM_API = new \RetailCrm\ApiClient($api_host, $api_key);
COption::SetOptionString($this->MODULE_ID, $this->CRM_API_HOST_OPTION, $api_host); COption::SetOptionString($this->MODULE_ID, $this->CRM_API_HOST_OPTION, $api_host);
COption::SetOptionString($this->MODULE_ID, $this->CRM_API_KEY_OPTION, $api_key); COption::SetOptionString($this->MODULE_ID, $this->CRM_API_KEY_OPTION, $api_key);
COption::SetOptionString($this->MODULE_ID, $this->CRM_SITES_LIST, serialize(array()));
} }
//prepare crm lists //prepare crm lists

View File

@ -1,5 +1,5 @@
<? <?
$arModuleVersion = array( $arModuleVersion = array(
"VERSION" => "2.2.6", "VERSION" => "2.2.7",
"VERSION_DATE" => "2017-09-25 12:00:00" "VERSION_DATE" => "2017-09-25 14:50:00"
); );

View File

@ -195,7 +195,13 @@ if (isset($_POST['Update']) && ($_POST['Update'] == 'Y')) {
//bitrix site list //bitrix site list
$siteListArr = array(); $siteListArr = array();
foreach ($arResult['arSites'] as $arSites) { foreach ($arResult['arSites'] as $arSites) {
if (count($arResult['arSites']) > 1) {
if ($_POST['sites-id-' . $arSites['LID']]) {
$siteListArr[$arSites['LID']] = htmlspecialchars(trim($_POST['sites-id-' . $arSites['LID']])); $siteListArr[$arSites['LID']] = htmlspecialchars(trim($_POST['sites-id-' . $arSites['LID']]));
} else {
$siteListArr[$arSites['LID']] = null;
}
}
} }
if ($api_host && $api_key) { if ($api_host && $api_key) {
@ -463,7 +469,7 @@ if (isset($_POST['Update']) && ($_POST['Update'] == 'Y')) {
} }
} }
COption::SetOptionString($mid, $CRM_SITES_LIST, serialize(RCrmActions::clearArr($siteListArr))); COption::SetOptionString($mid, $CRM_SITES_LIST, serialize($siteListArr));
COption::SetOptionString($mid, $CRM_ORDER_TYPES_ARR, serialize(RCrmActions::clearArr($orderTypesArr))); COption::SetOptionString($mid, $CRM_ORDER_TYPES_ARR, serialize(RCrmActions::clearArr($orderTypesArr)));
COption::SetOptionString($mid, $CRM_DELIVERY_TYPES_ARR, serialize(RCrmActions::clearArr($deliveryTypesArr))); COption::SetOptionString($mid, $CRM_DELIVERY_TYPES_ARR, serialize(RCrmActions::clearArr($deliveryTypesArr)));
COption::SetOptionString($mid, $CRM_PAYMENT_TYPES, serialize(RCrmActions::clearArr($paymentTypesArr))); COption::SetOptionString($mid, $CRM_PAYMENT_TYPES, serialize(RCrmActions::clearArr($paymentTypesArr)));