diff --git a/intaro.intarocrm/classes/general/ICrmOrderActions.php b/intaro.intarocrm/classes/general/ICrmOrderActions.php index d71bb9e9..216a7b31 100755 --- a/intaro.intarocrm/classes/general/ICrmOrderActions.php +++ b/intaro.intarocrm/classes/general/ICrmOrderActions.php @@ -258,8 +258,40 @@ class ICrmOrderActions global $USER; if(!isset($USER) || !$USER) { // for agent; to add order User - $USER = new CUser; - $USER->Update(1, array()); + $rsUser = CUser::GetByLogin('intarocrm'); + + if($arUser = $rsUser->Fetch()) { + $USER = new CUser; + $USER->Update($arUser['ID'], array()); + } else { + $login = 'intarocrm'; + $serverName = 0 < strlen(SITE_SERVER_NAME)? SITE_SERVER_NAME : 'server.com'; + $email = $login . '@' . $server_name; + $userPassword = randString(10); + + $user = new CUser; + $arFields = array( + "NAME" => $login, + "LAST_NAME" => $login, + "EMAIL" => $email, + "LOGIN" => $login, + "LID" => "ru", + "ACTIVE" => "Y", + "GROUP_ID" => array(2), + "PASSWORD" => $userPassword, + "CONFIRM_PASSWORD" => $userPassword + ); + + $id = $user->Add($arFields); + + if (!$id) { + self::eventLog('ICrmOrderActions::orderHistory', 'USER', $user->LAST_ERROR); + return; + } + + $USER = new CUser; + $USER->Update($id, array()); + } } if (!CModule::IncludeModule("iblock")) { @@ -553,7 +585,8 @@ class ICrmOrderActions 'PRODUCT_PROVIDER_CLASS' => $p['PRODUCT_PROVIDER_CLASS'], 'DETAIL_PAGE_URL' => $p['DETAIL_PAGE_URL'], 'CATALOG_XML_ID' => $p['CATALOG_XML_ID'], - 'PRODUCT_XML_ID' => $p['PRODUCT_XML_ID'] + 'PRODUCT_XML_ID' => $p['PRODUCT_XML_ID'], + 'CUSTOM_PRICE' => 'Y' ); if (isset($item['initialPrice']) && $item['initialPrice']) @@ -573,7 +606,7 @@ class ICrmOrderActions $arProduct['PRICE'] -= $arProduct['DISCOUNT_PRICE']; if (isset($item['offer']['name']) && $item['offer']['name']) - $arProduct['NAME'] = $item['offer']['name']; + $arProduct['NAME'] = self::fromJSON($item['offer']['name']); CSaleBasket::Add($arProduct); continue; @@ -600,7 +633,7 @@ class ICrmOrderActions $arProduct['QUANTITY'] = $item['quantity']; if (isset($item['offer']['name']) && $item['offer']['name']) - $arProduct['NAME'] = $item['offer']['name']; + $arProduct['NAME'] = self::fromJSON($item['offer']['name']); CSaleBasket::Update($p['ID'], $arProduct); CSaleBasket::DeleteAll($userId); diff --git a/intaro.intarocrm/install/index.php b/intaro.intarocrm/install/index.php index adf3e4c0..1f1be1e0 100755 --- a/intaro.intarocrm/install/index.php +++ b/intaro.intarocrm/install/index.php @@ -702,7 +702,7 @@ class intaro_intarocrm extends CModule { COption::SetOptionString($this->MODULE_ID, $this->CRM_PAYMENT_STATUSES, serialize($paymentStatusesArr)); COption::SetOptionString($this->MODULE_ID, $this->CRM_PAYMENT, serialize($paymentArr)); COption::SetOptionString($this->MODULE_ID, $this->CRM_ORDER_LAST_ID, 0); - COption::SetOptionString($this->MODULE_ID, $this->CRM_ORDER_DISCHARGE, 0); + 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_HISTORY_DATE, date('Y-m-d H:i:s')); diff --git a/intaro.intarocrm/install/version.php b/intaro.intarocrm/install/version.php index 0662ec30..f63c5364 100644 --- a/intaro.intarocrm/install/version.php +++ b/intaro.intarocrm/install/version.php @@ -1,5 +1,5 @@ "0.5.0", - "VERSION_DATE" => "2013-10-31 12:11:00", + "VERSION" => "0.5.1", + "VERSION_DATE" => "2013-11-27 13:03:00", ); \ No newline at end of file diff --git a/intaro.intarocrm/options.php b/intaro.intarocrm/options.php index 86079bf6..31936901 100755 --- a/intaro.intarocrm/options.php +++ b/intaro.intarocrm/options.php @@ -503,7 +503,7 @@ if (isset($_POST['Update']) && ($_POST['Update'] == 'Y')) {