Merge branch 'origin/master'
This commit is contained in:
commit
ffc5c8c3b4
@ -20,6 +20,7 @@ class ICrmOrderActions
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Mass order uploading, without repeating; always returns true, but writes error log
|
* Mass order uploading, without repeating; always returns true, but writes error log
|
||||||
|
* @param $pSize
|
||||||
* @param $failed -- flag to export failed orders
|
* @param $failed -- flag to export failed orders
|
||||||
* @return boolean
|
* @return boolean
|
||||||
*/
|
*/
|
||||||
@ -362,19 +363,71 @@ class ICrmOrderActions
|
|||||||
|
|
||||||
$dateStart = COption::GetOptionString(self::$MODULE_ID, self::$CRM_ORDER_HISTORY_DATE, null);
|
$dateStart = COption::GetOptionString(self::$MODULE_ID, self::$CRM_ORDER_HISTORY_DATE, null);
|
||||||
|
|
||||||
|
if(!$dateStart) {
|
||||||
|
$dateStart = new \DateTime();
|
||||||
|
$dateStart = $dateStart->format('Y-m-d H:i:s');
|
||||||
|
}
|
||||||
|
|
||||||
$orderHistory = $api->orderHistory($dateStart);
|
$orderHistory = $api->orderHistory($dateStart);
|
||||||
|
|
||||||
if($dateStart)
|
|
||||||
$dateStart = new \DateTime($dateStart);
|
$dateStart = new \DateTime($dateStart);
|
||||||
|
|
||||||
// pushing existing orders
|
// pushing existing orders
|
||||||
foreach ($orderHistory as $order) {
|
foreach ($orderHistory as $order) {
|
||||||
|
|
||||||
if(!isset($order['externalId']) && !$order['externalId']) {
|
if(!isset($order['externalId']) || !$order['externalId']) {
|
||||||
|
|
||||||
// we dont need new orders without any customers (can check only for externalId)
|
// we dont need new orders without any customers (can check only for externalId)
|
||||||
if(!isset($order['customer']['externalId']) && !$order['customer']['externalId'])
|
if(!isset($order['customer']['externalId']) && !$order['customer']['externalId']) {
|
||||||
|
if (!$order['customer']['email']) {
|
||||||
|
$login = 'user_' . (microtime(true) * 100);
|
||||||
|
$server_name = 0 < strlen(SITE_SERVER_NAME)?
|
||||||
|
SITE_SERVER_NAME : 'server.com';
|
||||||
|
$order['customer']['email'] = $login . '@' . $server_name;
|
||||||
|
$registerNewUser = true;
|
||||||
|
} else {
|
||||||
|
// if email already used
|
||||||
|
$dbUser = CUser::GetList(($by = 'ID'), ($sort = 'ASC'), array('=EMAIL' => $order['email']));
|
||||||
|
if ($dbUser->SelectedRowsCount() == 0) {
|
||||||
|
$login = $order['customer']['email'];
|
||||||
|
$registerNewUser = true;
|
||||||
|
} elseif ($dbUser->SelectedRowsCount() == 1) {
|
||||||
|
$arUser = $dbUser->Fetch();
|
||||||
|
$registeredUserID = $arUser['ID'];
|
||||||
|
} else {
|
||||||
|
$login = 'user_' . (microtime(true) * 100);
|
||||||
|
$registerNewUser = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if($registerNewUser) {
|
||||||
|
$useCaptcha = COption::GetOptionString('main', 'captcha_registration', 'N');
|
||||||
|
if ($useCaptcha == 'Y')
|
||||||
|
COption::SetOptionString('main', 'captcha_registration', 'N');
|
||||||
|
$userPassword = randString(10);
|
||||||
|
$newUser = $USER->Register($login, $order['customer']['firstName'], $order['customer']['lastName'],
|
||||||
|
$userPassword, $userPassword, $order['customer']['email']);
|
||||||
|
if ($useCaptcha == 'Y')
|
||||||
|
COption::SetOptionString('main', 'captcha_registration', 'Y');
|
||||||
|
if ($newUser['TYPE'] == 'ERROR') {
|
||||||
|
self::eventLog('ICrmOrderActions::orderHistory', 'CUser::Register', $newUser['MESSAGE']);
|
||||||
continue;
|
continue;
|
||||||
|
} else {
|
||||||
|
$registeredUserID = $USER->GetID();
|
||||||
|
$USER->Logout();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$order['customer']['externalId'] = $registeredUserID;
|
||||||
|
}
|
||||||
|
|
||||||
|
$api->customerFixExternalIds(array(array('id' => $order['customer']['id'], 'externalId' => $order['customer']['externalId'])));
|
||||||
|
|
||||||
|
if ($api->getStatusCode() != 200) {
|
||||||
|
//handle err - write log & continue
|
||||||
|
self::eventLog('ICrmOrderActions::orderHistory', 'IntaroCrm\RestApi::customerFixExternalIds', $api->getLastError());
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// new order
|
// new order
|
||||||
$newOrderFields = array(
|
$newOrderFields = array(
|
||||||
@ -446,7 +499,7 @@ class ICrmOrderActions
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (count($optionsOrderProps[$arFields['PERSON_TYPE_ID']] > 4)) {
|
if (count($optionsOrderProps[$arFields['PERSON_TYPE_ID']]) > 4) {
|
||||||
switch ($ar['CODE']) {
|
switch ($ar['CODE']) {
|
||||||
/* case $optionsOrderProps[$arFields['PERSON_TYPE_ID']]['country']: $resOrderDeliveryAddress['country'] = self::toJSON($ar['VALUE']);
|
/* case $optionsOrderProps[$arFields['PERSON_TYPE_ID']]['country']: $resOrderDeliveryAddress['country'] = self::toJSON($ar['VALUE']);
|
||||||
break;
|
break;
|
||||||
@ -515,7 +568,7 @@ class ICrmOrderActions
|
|||||||
if (isset($order['deliveryAddress']['text']))
|
if (isset($order['deliveryAddress']['text']))
|
||||||
self::addOrderProperty($optionsOrderProps[$arFields['PERSON_TYPE_ID']]['text'], self::fromJSON($order['deliveryAddress']['text']), $order['externalId']);
|
self::addOrderProperty($optionsOrderProps[$arFields['PERSON_TYPE_ID']]['text'], self::fromJSON($order['deliveryAddress']['text']), $order['externalId']);
|
||||||
|
|
||||||
if (count($optionsOrderProps[$arFields['PERSON_TYPE_ID']] > 4)) {
|
if (count($optionsOrderProps[$arFields['PERSON_TYPE_ID']]) > 4) {
|
||||||
if (isset($order['deliveryAddress']['street']))
|
if (isset($order['deliveryAddress']['street']))
|
||||||
self::addOrderProperty($optionsOrderProps[$arFields['PERSON_TYPE_ID']]['street'],
|
self::addOrderProperty($optionsOrderProps[$arFields['PERSON_TYPE_ID']]['street'],
|
||||||
self::fromJSON($order['deliveryAddress']['street']), $order['externalId']);
|
self::fromJSON($order['deliveryAddress']['street']), $order['externalId']);
|
||||||
@ -710,6 +763,16 @@ class ICrmOrderActions
|
|||||||
if($arFields['CANCELED'] == 'Y')
|
if($arFields['CANCELED'] == 'Y')
|
||||||
$wasCanaceled = true;
|
$wasCanaceled = true;
|
||||||
|
|
||||||
|
$resultDeliveryTypeId = $optionsDelivTypes[$order['deliveryType']];
|
||||||
|
|
||||||
|
if(isset($order['deliveryService']) && !empty($order['deliveryService'])) {
|
||||||
|
if (strpos($order['deliveryService']['code'], "-") !== false)
|
||||||
|
$deliveryServiceCode = explode("-", $order['deliveryService']['code'], 2);
|
||||||
|
|
||||||
|
if ($deliveryServiceCode)
|
||||||
|
$resultDeliveryTypeId = $resultDeliveryTypeId . ':' . $deliveryServiceCode[1];
|
||||||
|
}
|
||||||
|
|
||||||
// orderUpdate
|
// orderUpdate
|
||||||
$arFields = self::clearArr(array(
|
$arFields = self::clearArr(array(
|
||||||
'PRICE_DELIVERY' => $order['deliveryCost'],
|
'PRICE_DELIVERY' => $order['deliveryCost'],
|
||||||
@ -719,7 +782,7 @@ class ICrmOrderActions
|
|||||||
'PAY_SYSTEM_ID' => $optionsPayTypes[$order['paymentType']],
|
'PAY_SYSTEM_ID' => $optionsPayTypes[$order['paymentType']],
|
||||||
//'PAYED' => $optionsPayment[$order['paymentStatus']],
|
//'PAYED' => $optionsPayment[$order['paymentStatus']],
|
||||||
//'PERSON_TYPE_ID' => $optionsOrderTypes[$order['orderType']],
|
//'PERSON_TYPE_ID' => $optionsOrderTypes[$order['orderType']],
|
||||||
'DELIVERY_ID' => $optionsDelivTypes[$order['deliveryType']],
|
'DELIVERY_ID' => $resultDeliveryTypeId,
|
||||||
'STATUS_ID' => $optionsPayStatuses[$order['status']],
|
'STATUS_ID' => $optionsPayStatuses[$order['status']],
|
||||||
'REASON_CANCELED' => $order['statusComment'],
|
'REASON_CANCELED' => $order['statusComment'],
|
||||||
'USER_DESCRIPTION' => $order['customerComment'],
|
'USER_DESCRIPTION' => $order['customerComment'],
|
||||||
@ -807,10 +870,10 @@ class ICrmOrderActions
|
|||||||
*
|
*
|
||||||
* creates order or returns array of order and customer for mass upload
|
* creates order or returns array of order and customer for mass upload
|
||||||
*
|
*
|
||||||
* @param type $orderId
|
* @param array $arFields
|
||||||
* @param type $api
|
* @param $api
|
||||||
* @param type $arParams
|
* @param $arParams
|
||||||
* @param type $send
|
* @param $send
|
||||||
* @return boolean
|
* @return boolean
|
||||||
* @return array - array('order' = $order, 'customer' => $customer)
|
* @return array - array('order' = $order, 'customer' => $customer)
|
||||||
*/
|
*/
|
||||||
@ -884,6 +947,22 @@ class ICrmOrderActions
|
|||||||
else
|
else
|
||||||
$resultDeliveryTypeId = $arFields['DELIVERY_ID'];
|
$resultDeliveryTypeId = $arFields['DELIVERY_ID'];
|
||||||
|
|
||||||
|
// deliveryService
|
||||||
|
$deliveryService = array();
|
||||||
|
if(count($arId) > 1) {
|
||||||
|
$dbDeliveryType = CSaleDeliveryHandler::GetBySID($arId[0]);
|
||||||
|
|
||||||
|
if ($arDeliveryType = $dbDeliveryType->GetNext()) {
|
||||||
|
foreach($arDeliveryType['PROFILES'] as $id => $profile) {
|
||||||
|
if($id == $arId[1]) {
|
||||||
|
$deliveryService = array(
|
||||||
|
'code' => $arId[0] . '-' . $id,
|
||||||
|
'name' => $profile['TITLE']
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
$resOrder = array();
|
$resOrder = array();
|
||||||
$resOrderDeliveryAddress = array();
|
$resOrderDeliveryAddress = array();
|
||||||
@ -993,6 +1072,7 @@ class ICrmOrderActions
|
|||||||
'paymentStatus' => $arParams['optionsPayment'][$arFields['PAYED']],
|
'paymentStatus' => $arParams['optionsPayment'][$arFields['PAYED']],
|
||||||
'orderType' => $arParams['optionsOrderTypes'][$arFields['PERSON_TYPE_ID']],
|
'orderType' => $arParams['optionsOrderTypes'][$arFields['PERSON_TYPE_ID']],
|
||||||
'deliveryType' => $arParams['optionsDelivTypes'][$resultDeliveryTypeId],
|
'deliveryType' => $arParams['optionsDelivTypes'][$resultDeliveryTypeId],
|
||||||
|
'deliveryService' => $deliveryService,
|
||||||
'status' => $arParams['optionsPayStatuses'][$arFields['STATUS_ID']],
|
'status' => $arParams['optionsPayStatuses'][$arFields['STATUS_ID']],
|
||||||
'statusComment' => $arFields['REASON_CANCELED'],
|
'statusComment' => $arFields['REASON_CANCELED'],
|
||||||
'customerComment' => $arFields['USER_DESCRIPTION'],
|
'customerComment' => $arFields['USER_DESCRIPTION'],
|
||||||
@ -1032,8 +1112,8 @@ class ICrmOrderActions
|
|||||||
* removes all empty fields from arrays
|
* removes all empty fields from arrays
|
||||||
* working with nested arrs
|
* working with nested arrs
|
||||||
*
|
*
|
||||||
* @param type $arr
|
* @param array $arr
|
||||||
* @return boolean
|
* @return array
|
||||||
*/
|
*/
|
||||||
public static function clearArr($arr) {
|
public static function clearArr($arr) {
|
||||||
if(!$arr || !is_array($arr))
|
if(!$arr || !is_array($arr))
|
||||||
@ -1052,9 +1132,9 @@ class ICrmOrderActions
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @global type $APPLICATION
|
* @global $APPLICATION
|
||||||
* @param type $str in SITE_CHARSET
|
* @param $str in SITE_CHARSET
|
||||||
* @return type $str in utf-8
|
* @return $str in utf-8
|
||||||
*/
|
*/
|
||||||
public static function toJSON($str) {
|
public static function toJSON($str) {
|
||||||
global $APPLICATION;
|
global $APPLICATION;
|
||||||
@ -1064,9 +1144,9 @@ class ICrmOrderActions
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @global type $APPLICATION
|
* @global $APPLICATION
|
||||||
* @param type $str in utf-8
|
* @param $str in utf-8
|
||||||
* @return type $str in SITE_CHARSET
|
* @return $str in SITE_CHARSET
|
||||||
*/
|
*/
|
||||||
public static function fromJSON($str) {
|
public static function fromJSON($str) {
|
||||||
global $APPLICATION;
|
global $APPLICATION;
|
||||||
|
@ -125,9 +125,9 @@ class RestApi
|
|||||||
* @param array $orders - массив, содержащий id и externalId заказа
|
* @param array $orders - массив, содержащий id и externalId заказа
|
||||||
* @return array
|
* @return array
|
||||||
*/
|
*/
|
||||||
public function orderFixExternalIds($order)
|
public function orderFixExternalIds($orders)
|
||||||
{
|
{
|
||||||
$dataJson = json_encode($order);
|
$dataJson = json_encode($orders);
|
||||||
$this->parameters['orders'] = $dataJson;
|
$this->parameters['orders'] = $dataJson;
|
||||||
|
|
||||||
$url = $this->apiUrl.'orders/fix-external-ids';
|
$url = $this->apiUrl.'orders/fix-external-ids';
|
||||||
@ -241,6 +241,22 @@ class RestApi
|
|||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Обновление externalId у клиентов с переданными id
|
||||||
|
*
|
||||||
|
* @param array $customers- массив, содержащий id и externalId заказа
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public function customerFixExternalIds($customers)
|
||||||
|
{
|
||||||
|
$dataJson = json_encode($customers);
|
||||||
|
$this->parameters['customers'] = $dataJson;
|
||||||
|
|
||||||
|
$url = $this->apiUrl.'customers/fix-external-ids';
|
||||||
|
$result = $this->curlRequest($url, 'POST');
|
||||||
|
return $result;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Удаление клиента
|
* Удаление клиента
|
||||||
*
|
*
|
||||||
@ -313,6 +329,34 @@ class RestApi
|
|||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Получение списка служб доставки
|
||||||
|
*
|
||||||
|
* @return array - массив типов доставки
|
||||||
|
*/
|
||||||
|
public function deliveryServicesList()
|
||||||
|
{
|
||||||
|
$url = $this->apiUrl.'reference/delivery-services';
|
||||||
|
$result = $this->curlRequest($url);
|
||||||
|
return $result;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Редактирование службы доставки
|
||||||
|
*
|
||||||
|
* @param array $deliveryService - информация о типе доставки
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public function deliveryServiceEdit($deliveryService)
|
||||||
|
{
|
||||||
|
$dataJson = json_encode($deliveryService);
|
||||||
|
$this->parameters['deliveryService'] = $dataJson;
|
||||||
|
|
||||||
|
$url = $this->apiUrl.'reference/delivery-services/'.$deliveryService['code'].'/edit';
|
||||||
|
$result = $this->curlRequest($url, 'POST');
|
||||||
|
return $result;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Получение списка типов оплаты
|
* Получение списка типов оплаты
|
||||||
|
@ -75,7 +75,9 @@ class ICrmOrderEvent {
|
|||||||
/**
|
/**
|
||||||
* writeDataOnOrderCreate via api
|
* writeDataOnOrderCreate via api
|
||||||
*
|
*
|
||||||
* @param integer $ID - Order Id
|
* @param $ID - Order Id
|
||||||
|
* @param array $arFields
|
||||||
|
* @return boolean
|
||||||
*/
|
*/
|
||||||
function writeDataOnOrderCreate($ID, $arFields) {
|
function writeDataOnOrderCreate($ID, $arFields) {
|
||||||
|
|
||||||
|
@ -26,6 +26,7 @@ class intaro_intarocrm extends CModule {
|
|||||||
var $CRM_API_KEY_OPTION = 'api_key';
|
var $CRM_API_KEY_OPTION = 'api_key';
|
||||||
var $CRM_ORDER_TYPES_ARR = 'order_types_arr';
|
var $CRM_ORDER_TYPES_ARR = 'order_types_arr';
|
||||||
var $CRM_DELIVERY_TYPES_ARR = 'deliv_types_arr';
|
var $CRM_DELIVERY_TYPES_ARR = 'deliv_types_arr';
|
||||||
|
var $CRM_DELIVERY_SERVICES_ARR = 'deliv_services_arr';
|
||||||
var $CRM_PAYMENT_TYPES = 'pay_types_arr';
|
var $CRM_PAYMENT_TYPES = 'pay_types_arr';
|
||||||
var $CRM_PAYMENT_STATUSES = 'pay_statuses_arr';
|
var $CRM_PAYMENT_STATUSES = 'pay_statuses_arr';
|
||||||
var $CRM_PAYMENT = 'payment_arr'; //order payment Y/N
|
var $CRM_PAYMENT = 'payment_arr'; //order payment Y/N
|
||||||
@ -204,6 +205,7 @@ class intaro_intarocrm extends CModule {
|
|||||||
}
|
}
|
||||||
|
|
||||||
$arResult['deliveryTypesList'] = $this->INTARO_CRM_API->deliveryTypesList();
|
$arResult['deliveryTypesList'] = $this->INTARO_CRM_API->deliveryTypesList();
|
||||||
|
$arResult['deliveryServicesList'] = $this->INTARO_CRM_API->deliveryServicesList();
|
||||||
$arResult['paymentTypesList'] = $this->INTARO_CRM_API->paymentTypesList();
|
$arResult['paymentTypesList'] = $this->INTARO_CRM_API->paymentTypesList();
|
||||||
$arResult['paymentStatusesList'] = $this->INTARO_CRM_API->paymentStatusesList(); // --statuses
|
$arResult['paymentStatusesList'] = $this->INTARO_CRM_API->paymentStatusesList(); // --statuses
|
||||||
$arResult['paymentList'] = $this->INTARO_CRM_API->orderStatusesList();
|
$arResult['paymentList'] = $this->INTARO_CRM_API->orderStatusesList();
|
||||||
@ -247,6 +249,25 @@ class intaro_intarocrm extends CModule {
|
|||||||
} while ($arDeliveryTypesList = $dbDeliveryTypesList->Fetch());
|
} while ($arDeliveryTypesList = $dbDeliveryTypesList->Fetch());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//bitrix deliveryServicesList
|
||||||
|
$dbDeliveryServicesList = CSaleDeliveryHandler::GetList(
|
||||||
|
array(
|
||||||
|
'SORT' => 'ASC',
|
||||||
|
'NAME' => 'ASC'
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'ACTIVE' => 'Y'
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
//form delivery services ids arr
|
||||||
|
if ($arDeliveryServicesList = $dbDeliveryServicesList->Fetch()) {
|
||||||
|
do {
|
||||||
|
//auto delivery types
|
||||||
|
$deliveryTypesArr[$arDeliveryServicesList['SID']] = htmlspecialchars(trim($_POST['delivery-type-' . $arDeliveryServicesList['SID']]));
|
||||||
|
} while ($arDeliveryServicesList = $dbDeliveryServicesList->Fetch());
|
||||||
|
}
|
||||||
|
|
||||||
//bitrix paymentTypesList
|
//bitrix paymentTypesList
|
||||||
$dbPaymentTypesList = CSalePaySystem::GetList(
|
$dbPaymentTypesList = CSalePaySystem::GetList(
|
||||||
array(
|
array(
|
||||||
@ -425,6 +446,8 @@ class intaro_intarocrm extends CModule {
|
|||||||
$input['order-type-' . $bitrixOrderType['ID']] .= '</select>';
|
$input['order-type-' . $bitrixOrderType['ID']] .= '</select>';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
$APPLICATION->RestartBuffer();
|
$APPLICATION->RestartBuffer();
|
||||||
header('Content-Type: application/x-javascript; charset=' . LANG_CHARSET);
|
header('Content-Type: application/x-javascript; charset=' . LANG_CHARSET);
|
||||||
die(json_encode(array("success" => true, "result" => $input)));
|
die(json_encode(array("success" => true, "result" => $input)));
|
||||||
@ -476,10 +499,12 @@ class intaro_intarocrm extends CModule {
|
|||||||
//prepare crm lists
|
//prepare crm lists
|
||||||
$arResult['orderTypesList'] = $this->INTARO_CRM_API->orderTypesList();
|
$arResult['orderTypesList'] = $this->INTARO_CRM_API->orderTypesList();
|
||||||
$arResult['deliveryTypesList'] = $this->INTARO_CRM_API->deliveryTypesList();
|
$arResult['deliveryTypesList'] = $this->INTARO_CRM_API->deliveryTypesList();
|
||||||
|
$arResult['deliveryServicesList'] = $this->INTARO_CRM_API->deliveryServicesList();
|
||||||
$arResult['paymentTypesList'] = $this->INTARO_CRM_API->paymentTypesList();
|
$arResult['paymentTypesList'] = $this->INTARO_CRM_API->paymentTypesList();
|
||||||
$arResult['paymentStatusesList'] = $this->INTARO_CRM_API->paymentStatusesList(); // --statuses
|
$arResult['paymentStatusesList'] = $this->INTARO_CRM_API->paymentStatusesList(); // --statuses
|
||||||
$arResult['paymentList'] = $this->INTARO_CRM_API->orderStatusesList();
|
$arResult['paymentList'] = $this->INTARO_CRM_API->orderStatusesList();
|
||||||
$arResult['paymentGroupList'] = $this->INTARO_CRM_API->orderStatusGroupsList(); // -- statuses groups
|
$arResult['paymentGroupList'] = $this->INTARO_CRM_API->orderStatusGroupsList(); // -- statuses groups
|
||||||
|
|
||||||
//bitrix orderTypesList -- personTypes
|
//bitrix orderTypesList -- personTypes
|
||||||
$dbOrderTypesList = CSalePersonType::GetList(
|
$dbOrderTypesList = CSalePersonType::GetList(
|
||||||
array(
|
array(
|
||||||
@ -512,6 +537,23 @@ class intaro_intarocrm extends CModule {
|
|||||||
} while ($arDeliveryTypesList = $dbDeliveryTypesList->Fetch());
|
} while ($arDeliveryTypesList = $dbDeliveryTypesList->Fetch());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// bitrix deliveryServicesList
|
||||||
|
$dbDeliveryServicesList = CSaleDeliveryHandler::GetList(
|
||||||
|
array(
|
||||||
|
'SORT' => 'ASC',
|
||||||
|
'NAME' => 'ASC'
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'ACTIVE' => 'Y'
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
if ($arDeliveryServicesList = $dbDeliveryServicesList->Fetch()) {
|
||||||
|
do {
|
||||||
|
$arResult['bitrixDeliveryTypesList'][] = array('ID' => $arDeliveryServicesList['SID'], 'NAME' => $arDeliveryServicesList['NAME']);
|
||||||
|
} while ($arDeliveryServicesList = $dbDeliveryServicesList->Fetch());
|
||||||
|
}
|
||||||
|
|
||||||
//bitrix paymentTypesList
|
//bitrix paymentTypesList
|
||||||
$dbPaymentTypesList = CSalePaySystem::GetList(
|
$dbPaymentTypesList = CSalePaySystem::GetList(
|
||||||
array(
|
array(
|
||||||
@ -601,7 +643,18 @@ class intaro_intarocrm extends CModule {
|
|||||||
), false, false, array()
|
), false, false, array()
|
||||||
);
|
);
|
||||||
|
|
||||||
//form delivery types ids arr
|
//bitrix deliveryServicesList
|
||||||
|
$dbDeliveryServicesList = CSaleDeliveryHandler::GetList(
|
||||||
|
array(
|
||||||
|
'SORT' => 'ASC',
|
||||||
|
'NAME' => 'ASC'
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'ACTIVE' => 'Y'
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
//form delivery types / services ids arr
|
||||||
$deliveryTypesArr = array();
|
$deliveryTypesArr = array();
|
||||||
|
|
||||||
if (htmlspecialchars(trim($_POST['delivery-types-export'])) == 'false') {
|
if (htmlspecialchars(trim($_POST['delivery-types-export'])) == 'false') {
|
||||||
@ -610,8 +663,16 @@ class intaro_intarocrm extends CModule {
|
|||||||
$deliveryTypesArr[$arDeliveryTypesList['ID']] = htmlspecialchars(trim($_POST['delivery-type-' . $arDeliveryTypesList['ID']]));
|
$deliveryTypesArr[$arDeliveryTypesList['ID']] = htmlspecialchars(trim($_POST['delivery-type-' . $arDeliveryTypesList['ID']]));
|
||||||
} while ($arDeliveryTypesList = $dbDeliveryTypesList->Fetch());
|
} while ($arDeliveryTypesList = $dbDeliveryTypesList->Fetch());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ($arDeliveryServicesList = $dbDeliveryServicesList->Fetch()) {
|
||||||
|
do {
|
||||||
|
//auto delivery types
|
||||||
|
$deliveryTypesArr[$arDeliveryServicesList['SID']] = htmlspecialchars(trim($_POST['delivery-type-' . $arDeliveryServicesList['SID']]));
|
||||||
|
|
||||||
|
} while ($arDeliveryServicesList = $dbDeliveryServicesList->Fetch());
|
||||||
|
}
|
||||||
} elseif (htmlspecialchars(trim($_POST['delivery-types-export'])) == 'true') {
|
} elseif (htmlspecialchars(trim($_POST['delivery-types-export'])) == 'true') {
|
||||||
// send to intaro crm and save
|
// send to intaro crm and save delivery types!
|
||||||
if ($arDeliveryTypesList = $dbDeliveryTypesList->Fetch()) {
|
if ($arDeliveryTypesList = $dbDeliveryTypesList->Fetch()) {
|
||||||
do {
|
do {
|
||||||
// parse id
|
// parse id
|
||||||
@ -636,7 +697,7 @@ class intaro_intarocrm extends CModule {
|
|||||||
'paymentTypes' => ''
|
'paymentTypes' => ''
|
||||||
)));
|
)));
|
||||||
|
|
||||||
// error pushing customer
|
// error pushing dt
|
||||||
if ($this->INTARO_CRM_API->getStatusCode() != 200) {
|
if ($this->INTARO_CRM_API->getStatusCode() != 200) {
|
||||||
if ($this->INTARO_CRM_API->getStatusCode() != 201) {
|
if ($this->INTARO_CRM_API->getStatusCode() != 201) {
|
||||||
//handle err
|
//handle err
|
||||||
@ -645,6 +706,49 @@ class intaro_intarocrm extends CModule {
|
|||||||
}
|
}
|
||||||
} while ($arDeliveryTypesList = $dbDeliveryTypesList->Fetch());
|
} while ($arDeliveryTypesList = $dbDeliveryTypesList->Fetch());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ($arDeliveryServicesList = $dbDeliveryServicesList->Fetch()) {
|
||||||
|
do {
|
||||||
|
|
||||||
|
$deliveryTypesArr[$arDeliveryServicesList['SID']] = $arDeliveryServicesList['SID'];
|
||||||
|
|
||||||
|
// send to crm
|
||||||
|
$this->INTARO_CRM_API->deliveryTypeEdit(ICrmOrderActions::clearArr(array(
|
||||||
|
'code' => $arDeliveryServicesList['SID'],
|
||||||
|
'name' => ICrmOrderActions::toJSON($arDeliveryServicesList['NAME']),
|
||||||
|
'defaultCost' => 0,
|
||||||
|
'description' => ICrmOrderActions::toJSON($arDeliveryTypesList['DESCRIPTION']),
|
||||||
|
'paymentTypes' => ''
|
||||||
|
)));
|
||||||
|
|
||||||
|
// error pushing dt
|
||||||
|
if ($this->INTARO_CRM_API->getStatusCode() != 200) {
|
||||||
|
if ($this->INTARO_CRM_API->getStatusCode() != 201) {
|
||||||
|
//handle err
|
||||||
|
ICrmOrderActions::eventLog('install/index.php', 'IntaroCrm\RestApi::deliveryTypeEdit', $this->INTARO_CRM_API->getLastError());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach($arDeliveryServicesList['PROFILES'] as $id => $profile) {
|
||||||
|
|
||||||
|
// send to crm
|
||||||
|
$this->INTARO_CRM_API->deliveryServiceEdit(ICrmOrderActions::clearArr(array(
|
||||||
|
'code' => $arDeliveryServicesList['SID'] . '-' . $id,
|
||||||
|
'name' => ICrmOrderActions::toJSON($profile['TITLE']),
|
||||||
|
'deliveryType' => $arDeliveryServicesList['SID']
|
||||||
|
)));
|
||||||
|
|
||||||
|
// error pushing dt
|
||||||
|
if ($this->INTARO_CRM_API->getStatusCode() != 200) {
|
||||||
|
if ($this->INTARO_CRM_API->getStatusCode() != 201) {
|
||||||
|
//handle err
|
||||||
|
ICrmOrderActions::eventLog('install/index.php', 'IntaroCrm\RestApi::deliveryServiceEdit', $this->INTARO_CRM_API->getLastError());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
} while ($arDeliveryServicesList = $dbDeliveryServicesList->Fetch());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//bitrix paymentTypesList
|
//bitrix paymentTypesList
|
||||||
@ -704,7 +808,6 @@ class intaro_intarocrm extends CModule {
|
|||||||
COption::SetOptionString($this->MODULE_ID, $this->CRM_ORDER_LAST_ID, 0);
|
COption::SetOptionString($this->MODULE_ID, $this->CRM_ORDER_LAST_ID, 0);
|
||||||
COption::SetOptionString($this->MODULE_ID, $this->CRM_ORDER_DISCHARGE, 1);
|
COption::SetOptionString($this->MODULE_ID, $this->CRM_ORDER_DISCHARGE, 1);
|
||||||
COption::SetOptionString($this->MODULE_ID, $this->CRM_ORDER_FAILED_IDS, serialize(array()));
|
COption::SetOptionString($this->MODULE_ID, $this->CRM_ORDER_FAILED_IDS, serialize(array()));
|
||||||
COption::SetOptionString($this->MODULE_ID, $this->CRM_ORDER_HISTORY_DATE, date('Y-m-d H:i:s'));
|
|
||||||
|
|
||||||
$APPLICATION->IncludeAdminFile(
|
$APPLICATION->IncludeAdminFile(
|
||||||
GetMessage('MODULE_INSTALL_TITLE'),
|
GetMessage('MODULE_INSTALL_TITLE'),
|
||||||
@ -715,6 +818,13 @@ class intaro_intarocrm extends CModule {
|
|||||||
//handler
|
//handler
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (isset($_POST['back']) && $_POST['back']) {
|
||||||
|
$APPLICATION->IncludeAdminFile(
|
||||||
|
GetMessage('MODULE_INSTALL_TITLE'),
|
||||||
|
$_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/' . $this->MODULE_ID . '/install/step2.php'
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
if (!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && (strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest')
|
if (!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && (strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest')
|
||||||
&& isset($_POST['ajax']) && ($_POST['ajax'] == 1)) {
|
&& isset($_POST['ajax']) && ($_POST['ajax'] == 1)) {
|
||||||
ICrmOrderActions::uploadOrders(); // each 50
|
ICrmOrderActions::uploadOrders(); // each 50
|
||||||
@ -1049,6 +1159,9 @@ class intaro_intarocrm extends CModule {
|
|||||||
$this->INTARO_CRM_API = new \IntaroCrm\RestApi($api_host, $api_key);
|
$this->INTARO_CRM_API = new \IntaroCrm\RestApi($api_host, $api_key);
|
||||||
$this->INTARO_CRM_API->statisticUpdate();
|
$this->INTARO_CRM_API->statisticUpdate();
|
||||||
|
|
||||||
|
// in fin order
|
||||||
|
COption::SetOptionString($this->MODULE_ID, $this->CRM_ORDER_HISTORY_DATE, date('Y-m-d H:i:s'));
|
||||||
|
|
||||||
$APPLICATION->IncludeAdminFile(
|
$APPLICATION->IncludeAdminFile(
|
||||||
GetMessage('MODULE_INSTALL_TITLE'),
|
GetMessage('MODULE_INSTALL_TITLE'),
|
||||||
$_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/' . $this->MODULE_ID . '/install/step6.php'
|
$_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/' . $this->MODULE_ID . '/install/step6.php'
|
||||||
|
@ -97,8 +97,7 @@ $defaultPayment = array(
|
|||||||
if($(this).val() === 'true')
|
if($(this).val() === 'true')
|
||||||
$('tr.delivery-types').hide('slow');
|
$('tr.delivery-types').hide('slow');
|
||||||
else if($(this).val() === 'false')
|
else if($(this).val() === 'false')
|
||||||
$('tr.delivery-types').show('show');
|
$('tr.delivery-types').show('slow');
|
||||||
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
@ -96,7 +96,7 @@ $defaultOrderProps = array(
|
|||||||
<input type="submit" name="inst" value="<?php echo GetMessage("MOD_NEXT_STEP"); ?>" class="adm-btn-save">
|
<input type="submit" name="inst" value="<?php echo GetMessage("MOD_NEXT_STEP"); ?>" class="adm-btn-save">
|
||||||
</div>
|
</div>
|
||||||
<div align="left" style="float:right; width:50%; position:relative; visible: none;">
|
<div align="left" style="float:right; width:50%; position:relative; visible: none;">
|
||||||
<input type="submit" name="start" value="<?php echo GetMessage("MOD_PREV_STEP"); ?>" class="adm-btn-save">
|
<input type="submit" name="back" value="<?php echo GetMessage("MOD_PREV_STEP"); ?>" class="adm-btn-save">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<?
|
<?
|
||||||
$arModuleVersion = array(
|
$arModuleVersion = array(
|
||||||
"VERSION" => "0.5.2",
|
"VERSION" => "0.5.3",
|
||||||
"VERSION_DATE" => "2013-12-26 00:40:00",
|
"VERSION_DATE" => "2014-01-28 12:55:00",
|
||||||
);
|
);
|
@ -40,4 +40,3 @@ $MESS["UNIT_MEASUREMENT_M"] = "м.";
|
|||||||
$MESS["UNIT_MEASUREMENT_MG"] = "мг.";
|
$MESS["UNIT_MEASUREMENT_MG"] = "мг.";
|
||||||
$MESS["UNIT_MEASUREMENT_G"] = "г.";
|
$MESS["UNIT_MEASUREMENT_G"] = "г.";
|
||||||
$MESS["UNIT_MEASUREMENT_KG"] = "кг.";
|
$MESS["UNIT_MEASUREMENT_KG"] = "кг.";
|
||||||
?>
|
|
@ -52,4 +52,8 @@ $MESS ['HOUSE'] = 'Строение / корпус';
|
|||||||
$MESS ['ADDRESS_SHORT'] = 'Краткий адрес';
|
$MESS ['ADDRESS_SHORT'] = 'Краткий адрес';
|
||||||
$MESS ['ADDRESS_FULL'] = 'Детальный адрес';
|
$MESS ['ADDRESS_FULL'] = 'Детальный адрес';
|
||||||
|
|
||||||
$MESS ['ORDER_TYPE_INFO'] = 'Тип заказа:';
|
$MESS ['UPDATE_DELIVERY_SERVICES'] = 'Выгрузка служб доставок';
|
||||||
|
|
||||||
|
$MESS ['MESS_1'] = 'Произошла ошибка при выгрузке одной или нескольких служб доставок, попробуйте еще раз. Если проблема повторилась, обратитесь в Интаро Софт.';
|
||||||
|
$MESS ['MESS_2'] = 'Произошла ошибка сервера, обратитесь в Интаро Софт.';
|
||||||
|
|
||||||
|
@ -7,6 +7,7 @@ $CRM_API_HOST_OPTION = 'api_host';
|
|||||||
$CRM_API_KEY_OPTION = 'api_key';
|
$CRM_API_KEY_OPTION = 'api_key';
|
||||||
$CRM_ORDER_TYPES_ARR = 'order_types_arr';
|
$CRM_ORDER_TYPES_ARR = 'order_types_arr';
|
||||||
$CRM_DELIVERY_TYPES_ARR = 'deliv_types_arr';
|
$CRM_DELIVERY_TYPES_ARR = 'deliv_types_arr';
|
||||||
|
$CRM_DELIVERY_SERVICES_ARR = 'deliv_services_arr';
|
||||||
$CRM_PAYMENT_TYPES = 'pay_types_arr';
|
$CRM_PAYMENT_TYPES = 'pay_types_arr';
|
||||||
$CRM_PAYMENT_STATUSES = 'pay_statuses_arr';
|
$CRM_PAYMENT_STATUSES = 'pay_statuses_arr';
|
||||||
$CRM_PAYMENT = 'payment_arr'; //order payment Y/N
|
$CRM_PAYMENT = 'payment_arr'; //order payment Y/N
|
||||||
@ -91,6 +92,71 @@ $arResult['orderProps'] = array(
|
|||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
//ajax update deliveryServices
|
||||||
|
if (!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && (strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') && isset($_POST['ajax']) && ($_POST['ajax'] == 1)) {
|
||||||
|
$result = array();
|
||||||
|
|
||||||
|
$api_host = COption::GetOptionString($mid, $CRM_API_HOST_OPTION, 0);
|
||||||
|
$api_key = COption::GetOptionString($mid, $CRM_API_KEY_OPTION, 0);
|
||||||
|
|
||||||
|
$api = new IntaroCrm\RestApi($api_host, $api_key);
|
||||||
|
|
||||||
|
$api->paymentStatusesList();
|
||||||
|
|
||||||
|
//check connection & apiKey valid
|
||||||
|
if ((int) $api->getStatusCode() != 200) {
|
||||||
|
$APPLICATION->RestartBuffer();
|
||||||
|
header('Content-Type: application/x-javascript; charset=' . LANG_CHARSET);
|
||||||
|
die(json_encode(array('success' => false, 'errMsg' => $api->getStatusCode())));
|
||||||
|
}
|
||||||
|
|
||||||
|
$optionsDelivTypes = unserialize(COption::GetOptionString($mid, $CRM_DELIVERY_TYPES_ARR, 0));
|
||||||
|
|
||||||
|
// bitrix deliveryServicesList
|
||||||
|
$dbDeliveryServicesList = CSaleDeliveryHandler::GetList(
|
||||||
|
array(
|
||||||
|
'SORT' => 'ASC',
|
||||||
|
'NAME' => 'ASC'
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'ACTIVE' => 'Y'
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
if ($arDeliveryServicesList = $dbDeliveryServicesList->Fetch()) {
|
||||||
|
do {
|
||||||
|
|
||||||
|
if(!$optionsDelivTypes[$arDeliveryServicesList['SID']]) {
|
||||||
|
ICrmOrderActions::eventLog('options.php', 'No delivery type relations established', $arDeliveryServicesList['SID'] . ':' . $id);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach($arDeliveryServicesList['PROFILES'] as $id => $profile) {
|
||||||
|
|
||||||
|
// send to crm
|
||||||
|
$api->deliveryServiceEdit(ICrmOrderActions::clearArr(array(
|
||||||
|
'code' => $arDeliveryServicesList['SID'] . '-' . $id,
|
||||||
|
'name' => ICrmOrderActions::toJSON($profile['TITLE']),
|
||||||
|
'deliveryType' => $arDeliveryServicesList['SID']
|
||||||
|
)));
|
||||||
|
|
||||||
|
// error pushing dt
|
||||||
|
if ($api->getStatusCode() != 200) {
|
||||||
|
if ($api->getStatusCode() != 201) {
|
||||||
|
//handle err
|
||||||
|
ICrmOrderActions::eventLog('options.php', 'IntaroCrm\RestApi::deliveryServiceEdit', $api->getLastError());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
} while ($arDeliveryServicesList = $dbDeliveryServicesList->Fetch());
|
||||||
|
}
|
||||||
|
|
||||||
|
$APPLICATION->RestartBuffer();
|
||||||
|
header('Content-Type: application/x-javascript; charset=' . LANG_CHARSET);
|
||||||
|
die(json_encode(array('success' => true)));
|
||||||
|
}
|
||||||
|
|
||||||
//update connection settings
|
//update connection settings
|
||||||
if (isset($_POST['Update']) && ($_POST['Update'] == 'Y')) {
|
if (isset($_POST['Update']) && ($_POST['Update'] == 'Y')) {
|
||||||
$api_host = htmlspecialchars(trim($_POST['api_host']));
|
$api_host = htmlspecialchars(trim($_POST['api_host']));
|
||||||
@ -163,6 +229,25 @@ if (isset($_POST['Update']) && ($_POST['Update'] == 'Y')) {
|
|||||||
} while ($arDeliveryTypesList = $dbDeliveryTypesList->Fetch());
|
} while ($arDeliveryTypesList = $dbDeliveryTypesList->Fetch());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//bitrix deliveryServicesList
|
||||||
|
$dbDeliveryServicesList = CSaleDeliveryHandler::GetList(
|
||||||
|
array(
|
||||||
|
'SORT' => 'ASC',
|
||||||
|
'NAME' => 'ASC'
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'ACTIVE' => 'Y'
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
//form delivery services ids arr
|
||||||
|
if ($arDeliveryServicesList = $dbDeliveryServicesList->Fetch()) {
|
||||||
|
do {
|
||||||
|
//auto delivery types
|
||||||
|
$deliveryTypesArr[$arDeliveryServicesList['SID']] = htmlspecialchars(trim($_POST['delivery-type-' . $arDeliveryServicesList['SID']]));
|
||||||
|
} while ($arDeliveryServicesList = $dbDeliveryServicesList->Fetch());
|
||||||
|
}
|
||||||
|
|
||||||
//bitrix paymentTypesList
|
//bitrix paymentTypesList
|
||||||
$dbPaymentTypesList = CSalePaySystem::GetList(
|
$dbPaymentTypesList = CSalePaySystem::GetList(
|
||||||
array(
|
array(
|
||||||
@ -266,6 +351,7 @@ if (isset($_POST['Update']) && ($_POST['Update'] == 'Y')) {
|
|||||||
//prepare crm lists
|
//prepare crm lists
|
||||||
$arResult['orderTypesList'] = $api->orderTypesList();
|
$arResult['orderTypesList'] = $api->orderTypesList();
|
||||||
$arResult['deliveryTypesList'] = $api->deliveryTypesList();
|
$arResult['deliveryTypesList'] = $api->deliveryTypesList();
|
||||||
|
$arResult['deliveryServicesList'] = $api->deliveryServicesList();
|
||||||
$arResult['paymentTypesList'] = $api->paymentTypesList();
|
$arResult['paymentTypesList'] = $api->paymentTypesList();
|
||||||
$arResult['paymentStatusesList'] = $api->paymentStatusesList(); // --statuses
|
$arResult['paymentStatusesList'] = $api->paymentStatusesList(); // --statuses
|
||||||
$arResult['paymentList'] = $api->orderStatusesList();
|
$arResult['paymentList'] = $api->orderStatusesList();
|
||||||
@ -315,6 +401,23 @@ if (isset($_POST['Update']) && ($_POST['Update'] == 'Y')) {
|
|||||||
} while ($arDeliveryTypesList = $dbDeliveryTypesList->Fetch());
|
} while ($arDeliveryTypesList = $dbDeliveryTypesList->Fetch());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// bitrix deliveryServicesList
|
||||||
|
$dbDeliveryServicesList = CSaleDeliveryHandler::GetList(
|
||||||
|
array(
|
||||||
|
'SORT' => 'ASC',
|
||||||
|
'NAME' => 'ASC'
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'ACTIVE' => 'Y'
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
if ($arDeliveryServicesList = $dbDeliveryServicesList->Fetch()) {
|
||||||
|
do {
|
||||||
|
$arResult['bitrixDeliveryTypesList'][] = array('ID' => $arDeliveryServicesList['SID'], 'NAME' => $arDeliveryServicesList['NAME']);
|
||||||
|
} while ($arDeliveryServicesList = $dbDeliveryServicesList->Fetch());
|
||||||
|
}
|
||||||
|
|
||||||
//bitrix paymentTypesList
|
//bitrix paymentTypesList
|
||||||
$dbPaymentTypesList = CSalePaySystem::GetList(
|
$dbPaymentTypesList = CSalePaySystem::GetList(
|
||||||
array(
|
array(
|
||||||
@ -417,6 +520,38 @@ if (isset($_POST['Update']) && ($_POST['Update'] == 'Y')) {
|
|||||||
$('tr.address-detail-' + orderType).hide('slow');
|
$('tr.address-detail-' + orderType).hide('slow');
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
$('input[name="update-delivery-services"]').live('click', function() {
|
||||||
|
BX.showWait();
|
||||||
|
var updButton = this;
|
||||||
|
// hide next step button
|
||||||
|
$(updButton).css('opacity', '0.5').attr('disabled', 'disabled');
|
||||||
|
|
||||||
|
var handlerUrl = $(this).parents('form').attr('action');
|
||||||
|
var data = 'ajax=1';
|
||||||
|
|
||||||
|
$.ajax({
|
||||||
|
type: 'POST',
|
||||||
|
url: handlerUrl,
|
||||||
|
data: data,
|
||||||
|
dataType: 'json',
|
||||||
|
success: function(response) {
|
||||||
|
BX.closeWait();
|
||||||
|
$(updButton).css('opacity', '1').removeAttr('disabled');
|
||||||
|
|
||||||
|
if(!response.success)
|
||||||
|
alert('<?php echo GetMessage('MESS_1'); ?>');
|
||||||
|
},
|
||||||
|
error: function () {
|
||||||
|
BX.closeWait();
|
||||||
|
$(updButton).css('opacity', '1').removeAttr('disabled');
|
||||||
|
|
||||||
|
alert('<?php echo GetMessage('MESS_2'); ?>');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
return false;
|
||||||
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<form method="POST" action="<?php echo $uri; ?>" id="FORMACTION">
|
<form method="POST" action="<?php echo $uri; ?>" id="FORMACTION">
|
||||||
@ -471,6 +606,11 @@ if (isset($_POST['Update']) && ($_POST['Update'] == 'Y')) {
|
|||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<?php endforeach; ?>
|
<?php endforeach; ?>
|
||||||
|
<tr class="heading">
|
||||||
|
<td colspan="2">
|
||||||
|
<input type="submit" name="update-delivery-services" value="<?php echo GetMessage('UPDATE_DELIVERY_SERVICES'); ?>" class="adm-btn-save">
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
<tr class="heading">
|
<tr class="heading">
|
||||||
<td colspan="2"><b><?php echo GetMessage('PAYMENT_TYPES_LIST'); ?></b></td>
|
<td colspan="2"><b><?php echo GetMessage('PAYMENT_TYPES_LIST'); ?></b></td>
|
||||||
</tr>
|
</tr>
|
||||||
|
Loading…
Reference in New Issue
Block a user