Rebase master (#132)
* Payment status fix * fix error during installation when orders count equals zero (#130) * Fixed module installation error when there are no orders * New module structure (refactoring) * simple serializer and deserializer with models, new architecture * move logic to strategies * datetime strategy, some changes in order to make subtype parsing possible * fallback to array casting for internal objects * serializer now supports typed arrays and formatted DateTime * models, prevent hangup from circular serialization of empty entities, improve compatibility with JMS Serializer (to simplify usage), (de)serialization callbacks * fuser repository & correct annotations * correct naming for proxy * move several helper methods to the new structure * customizable customer building * more models, api corporate customer builder & bitrix customer builder * AbstractApiModel shoudn't implement Traversable * check if user exists in the order before building corporate customer * don't check _rc cookie; it's untestable for now * better structure + service locator, cookie extraction should be testable now * enable forgotten domaincollector cookie extraction * partial api client facade implementation (full implementation is not necessary for now) * remove unimportant assert in tests, move utils to service * move identifierspair to correct directory * move CookieExtractor assert to a single test * more models & ClientAdapter * fix DateTimeConverter test compatibility with lower php versions * update test date format * finish customer-related methods in the client facade, fixes in models * minor tweaks for (de)serializer, compatibility layer for models which implement types without full functionality * make model's getters nullable * better logic for AbstractSerializableModel * different logic for AbstractSerializableModel * ability to create filled AbstractSerializableModel by passing primary key value * reuse logic from repositories for passing primary as constructor parameter for AbstractSerializableModel * Loyalty feature installer (#118) * fixes for crash during the installation * add LP activate option * add custom fields * add events hadler and bonus pay system * add check for the existence of an event and add orm tomodule * add any repository and new-style models * included class files in install.php * delete annotation generator * fix unserialize problem on step 4
This commit is contained in:
parent
de7873c3a9
commit
027369a24b
4 changed files with 24 additions and 4 deletions
|
@ -260,7 +260,7 @@ class RCrmActions
|
|||
public static function fromJSON($str)
|
||||
{
|
||||
/** @var \Intaro\RetailCrm\Service\Utils $utils */
|
||||
$utils = ServiceLocator::get(\Intaro\RetailCrm\Service\Utils::class);
|
||||
$utils = ServiceLocator::getOrCreate(\Intaro\RetailCrm\Service\Utils::class);
|
||||
return $utils->fromUTF8($str);
|
||||
}
|
||||
|
||||
|
|
|
@ -54,6 +54,7 @@ class intaro_retailcrm extends CModule
|
|||
['EVENT_NAME' => 'OnSaleOrderDeleted', 'FROM_MODULE' => 'sale'],
|
||||
['EVENT_NAME' => 'OnSaleComponentOrderOneStepProcess', 'FROM_MODULE' => 'sale'],
|
||||
];
|
||||
|
||||
public const V5 = 'v5';
|
||||
public $MODULE_ID = 'intaro.retailcrm';
|
||||
public $OLD_MODULE_ID = 'intaro.intarocrm';
|
||||
|
@ -242,6 +243,26 @@ class intaro_retailcrm extends CModule
|
|||
return false;
|
||||
}
|
||||
|
||||
include($this->INSTALL_PATH . '/../lib/model/bitrix/abstractmodelproxy.php');
|
||||
include($this->INSTALL_PATH . '/../lib/model/bitrix/orderprops.php');
|
||||
include($this->INSTALL_PATH . '/../lib/model/bitrix/tomodule.php');
|
||||
include($this->INSTALL_PATH . '/../lib/repository/abstractrepository.php');
|
||||
include($this->INSTALL_PATH . '/../lib/repository/orderpropsrepository.php');
|
||||
include($this->INSTALL_PATH . '/../lib/repository/persontyperepository.php');
|
||||
include($this->INSTALL_PATH . '/../lib/repository/tomodulerepository.php');
|
||||
include($this->INSTALL_PATH . '/../lib/model/bitrix/orm/tomodule.php');
|
||||
|
||||
$this->CopyFiles();
|
||||
$this->addBonusPaySystem();
|
||||
$this->addLPUserFields();
|
||||
$this->addLPEvents();
|
||||
|
||||
try {
|
||||
$this->addLPOrderProps();
|
||||
} catch (ObjectPropertyException | ArgumentException | SystemException $e) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if ($step == 11) {
|
||||
$arResult['arSites'] = RCrmActions::SitesList();
|
||||
if (count($arResult['arSites']) < 2) {
|
||||
|
@ -1292,7 +1313,7 @@ class intaro_retailcrm extends CModule
|
|||
|
||||
public function CopyFiles(): void
|
||||
{
|
||||
$pathFrom = $_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/' . $this->MODULE_ID . '/install';
|
||||
$pathFrom = $_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/' . $this->MODULE_ID . '/install';
|
||||
|
||||
CopyDirFiles(
|
||||
$pathFrom . '/export',
|
||||
|
|
|
@ -103,7 +103,7 @@ class ConfigProvider
|
|||
|
||||
/** @var bool|null|string $loyaltyProgramStatus */
|
||||
protected static $loyaltyProgramStatus;
|
||||
|
||||
|
||||
/**
|
||||
* @return bool|string|null
|
||||
*/
|
||||
|
|
|
@ -105,7 +105,6 @@ class ServiceLocator
|
|||
return $service;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Get or create service (instantiates service if it wasn't created earlier; $name must be FQN).
|
||||
*
|
||||
|
|
Loading…
Add table
Reference in a new issue