1
0
mirror of synced 2024-11-25 23:06:08 +03:00

event side effects (hisotry) fix

This commit is contained in:
Grisha Pomadchin 2014-03-13 12:58:52 +04:00
parent 2f309dee4a
commit 274fd7a9a4
3 changed files with 17 additions and 7 deletions

View File

@ -368,10 +368,10 @@ class ICrmOrderActions
$dateStart = $dateStart->format('Y-m-d H:i:s');
}
$dateFinish = new \DateTime();
$orderHistory = $api->orderHistory($dateStart);
$dateStart = new \DateTime($dateStart);
// pushing existing orders
foreach ($orderHistory as $order) {
@ -866,11 +866,13 @@ class ICrmOrderActions
// set PAYED
if($optionsPayment[$order['paymentStatus']])
CSaleOrder::PayOrder($order['externalId'], $optionsPayment[$order['paymentStatus']]);
$dateStart = new \DateTime();
}
}
if(count($orderHistory))
COption::SetOptionString(self::$MODULE_ID, self::$CRM_ORDER_HISTORY_DATE, $dateFinish->format('Y-m-d H:i:s'));
COption::SetOptionString(self::$MODULE_ID, self::$CRM_ORDER_HISTORY_DATE, $dateStart->format('Y-m-d H:i:s'));
$USER->Logout();
if($realUser) $USER->Authorize($realUser);

View File

@ -59,6 +59,9 @@ class ICrmOrderEvent {
* @param mixed $arFields - Order arFields for sending template
*/
function onSendOrderMail($ID, &$eventName, &$arFields) {
if(isset($GLOBALS['INTARO_CRM_FROM_HISTORY']) && $GLOBALS['INTARO_CRM_FROM_HISTORY'])
return;
if(self::writeDataOnOrderCreate($ID))
COption::SetOptionString(self::$MODULE_ID, self::$CRM_ORDER_LAST_ID, $ID);
else {
@ -160,6 +163,9 @@ class ICrmOrderEvent {
* @return boolean
*/
function onSaleCancelOrder($ID, $cancel, $reason) {
if(isset($GLOBALS['INTARO_CRM_FROM_HISTORY']) && $GLOBALS['INTARO_CRM_FROM_HISTORY'])
return;
if(!$ID || !$cancel)
return true;
@ -223,6 +229,9 @@ class ICrmOrderEvent {
* @return boolean
*/
function onSalePayOrder($ID, $payed) {
if(isset($GLOBALS['INTARO_CRM_FROM_HISTORY']) && $GLOBALS['INTARO_CRM_FROM_HISTORY'])
return;
if(!$ID || !$payed || ($payed != 'Y'))
return true;
@ -259,7 +268,6 @@ class ICrmOrderEvent {
$api->orderEdit($order);
// error pushing order
if ($api->getStatusCode() != 201)
ICrmOrderActions::eventLog('ICrmOrderEvent::onSalePayOrder', 'IntaroCrm\RestApi::orderEdit', $api->getLastError());

View File

@ -1,5 +1,5 @@
<?
$arModuleVersion = array(
"VERSION" => "1.0.1",
"VERSION_DATE" => "2014-03-13 11:57:00",
"VERSION" => "0.5.3",
"VERSION_DATE" => "2014-01-28 12:55:00",
);