mirror of
https://github.com/retailcrm/prestashop-module.git
synced 2025-03-01 19:03:14 +03:00
The 'isFromCart' parameter was added when creating an order
This commit is contained in:
parent
3110960d06
commit
de9f0720f9
@ -1,3 +1,6 @@
|
||||
## v3.5.2
|
||||
* Добавлен признак корзины при создании заказа
|
||||
|
||||
## v3.5.1
|
||||
* Обновление формата даты в корзинах
|
||||
|
||||
|
@ -396,7 +396,8 @@ class RetailcrmExport
|
||||
throw new RetailcrmNotFoundException('Order not found');
|
||||
}
|
||||
|
||||
$customer = new Customer($object->id_customer);
|
||||
$customerId = $object->id_customer;
|
||||
$customer = new Customer($customerId);
|
||||
$apiResponse = static::$api->ordersGet($object->id);
|
||||
$existingOrder = [];
|
||||
|
||||
@ -418,6 +419,29 @@ class RetailcrmExport
|
||||
}
|
||||
|
||||
if (empty($existingOrder)) {
|
||||
try {
|
||||
$reference = new RetailcrmReferences(static::$api);
|
||||
$site = $reference->getSite()['code'];
|
||||
$crmCart = static::$api->cartGet($customerId, $site);
|
||||
|
||||
if (!empty($crmCart['cart'])) {
|
||||
// If the order is from a corporate customer, need to clear the cart for the contact person
|
||||
if (!empty($crmOrder['contragent']['legalName']) && !empty($crmOrder['contact'])) {
|
||||
static::$api->cartClear(
|
||||
[
|
||||
'clearedAt' => date('Y-m-d H:i:sP'),
|
||||
'customer' => ['externalId' => $customerId],
|
||||
],
|
||||
$site
|
||||
);
|
||||
} else {
|
||||
$crmOrder['isFromCart'] = true;
|
||||
}
|
||||
}
|
||||
} catch (Throwable $exception) {
|
||||
self::handleError($customerId, $exception);
|
||||
}
|
||||
|
||||
$response = static::$api->ordersCreate($crmOrder);
|
||||
} else {
|
||||
$response = static::$api->ordersEdit($crmOrder);
|
||||
|
@ -100,8 +100,7 @@ class RetailcrmExportOrdersHelper
|
||||
|
||||
$sqlOrdersInfo = 'FROM `' . _DB_PREFIX_ . 'retailcrm_exported_orders` eo
|
||||
LEFT JOIN `' . _DB_PREFIX_ . 'orders` o on o.`id_order` = eo.`id_order`
|
||||
WHERE ( eo.`id_order` IS NULL OR ( 1 ' . Shop::addSqlRestriction(false, 'o') . ' ) )'
|
||||
;
|
||||
WHERE ( eo.`id_order` IS NULL OR ( 1 ' . Shop::addSqlRestriction(false, 'o') . ' ) )';
|
||||
|
||||
if (0 < count($ordersIds)) {
|
||||
$sqlOrdersInfo .= ' AND (eo.`id_order` IN ( ' . pSQL(implode(', ', $ordersIds)) . ')
|
||||
|
@ -120,8 +120,7 @@ class RetailcrmMissingEvent extends RetailcrmAbstractEvent implements RetailcrmE
|
||||
} else {
|
||||
$order['status'] = array_key_exists($orderInstance->current_state, $status)
|
||||
? $status[$orderInstance->current_state]
|
||||
: 'completed'
|
||||
;
|
||||
: 'completed';
|
||||
}
|
||||
|
||||
/**
|
||||
@ -134,8 +133,7 @@ class RetailcrmMissingEvent extends RetailcrmAbstractEvent implements RetailcrmE
|
||||
if ($address instanceof Address) {
|
||||
$phone = null === $address->phone
|
||||
? null === $address->phone_mobile ? '' : $address->phone_mobile
|
||||
: $address->phone
|
||||
;
|
||||
: $address->phone;
|
||||
|
||||
$postcode = $address->postcode;
|
||||
$city = $address->city;
|
||||
|
@ -48,7 +48,7 @@ require_once dirname(__FILE__) . '/bootstrap.php';
|
||||
|
||||
class RetailCRM extends Module
|
||||
{
|
||||
const VERSION = '3.5.1';
|
||||
const VERSION = '3.5.2';
|
||||
|
||||
const API_URL = 'RETAILCRM_ADDRESS';
|
||||
const API_KEY = 'RETAILCRM_API_TOKEN';
|
||||
@ -203,8 +203,7 @@ class RetailCRM extends Module
|
||||
&& ($this->use_new_hooks ? $this->registerHook('actionCustomerAccountUpdate') : true)
|
||||
&& ($this->use_new_hooks ? $this->registerHook('actionValidateCustomerAddressForm') : true)
|
||||
&& $this->installDB()
|
||||
&& $this->installTab()
|
||||
;
|
||||
&& $this->installTab();
|
||||
}
|
||||
|
||||
/**
|
||||
@ -358,8 +357,7 @@ class RetailCRM extends Module
|
||||
&& Configuration::deleteByName(RetailcrmJobManager::CURRENT_TASK)
|
||||
&& Configuration::deleteByName(RetailcrmCli::CURRENT_TASK_CLI)
|
||||
&& $this->uninstallDB()
|
||||
&& $this->uninstallTab()
|
||||
;
|
||||
&& $this->uninstallTab();
|
||||
}
|
||||
|
||||
public function enable($force_all = false)
|
||||
@ -369,8 +367,7 @@ class RetailCRM extends Module
|
||||
self::updateCrmModuleState($context->shop->id);
|
||||
|
||||
return parent::enable($force_all)
|
||||
&& $this->installTab()
|
||||
;
|
||||
&& $this->installTab();
|
||||
}
|
||||
|
||||
public function disable($force_all = false)
|
||||
|
@ -146,8 +146,7 @@ function upgrade_module_3_4_0($module)
|
||||
'retailcrm/views/templates/admin/settings.tpl',
|
||||
])
|
||||
&& $module->uninstallOldTabs()
|
||||
&& $module->installTab()
|
||||
;
|
||||
&& $module->installTab();
|
||||
}
|
||||
|
||||
function retailcrm_convert_old_default_values_format()
|
||||
|
Loading…
x
Reference in New Issue
Block a user