30 Loader::includeModule(
'sale');
34 \CRestUtil::EVENTS => [
35 'OnSaleOrderSaved' => [
46 'OnSaleBeforeOrderDelete' => [
48 'OnSaleBeforeOrderDelete',
57 'OnPropertyValueEntitySaved' => [
59 'OnSalePropertyValueEntitySaved',
68 'OnPaymentEntitySaved' => [
70 'OnSalePaymentEntitySaved',
79 'OnShipmentEntitySaved' => [
81 'OnSaleShipmentEntitySaved',
90 'OnOrderEntitySaved' => [
92 'OnSaleOrderEntitySaved',
101 'OnPropertyValueDeleted' => [
103 'OnSalePropertyValueDeleted',
112 'OnPaymentDeleted' => [
114 'OnSalePaymentDeleted',
123 'OnShipmentDeleted' => [
125 'OnSaleShipmentDeleted',
134 'OnOrderDeleted' => [
136 'OnSaleOrderDeleted',
154 $eventParameters =
$event->getParameters();
156 $entity = $eventParameters[
'ENTITY'] ??
null;
157 $eventName = $handlerFields[
'EVENT_NAME'];
158 $eventHandler = $handlerFields[
'EVENT_HANDLER'];
163 LoggerDiag::addMessage(
167 'processEvent [process-01]' => [
168 'eventName' => $eventName,
176 switch(mb_strtolower($eventName))
178 case 'onsaleordersaved':
190 throw new RestException(
"Could not find entity ID in fields of event \"{$eventName}\"");
196 'XML_ID' =>
$entity->getField(
'XML_ID'),
201 LoggerDiag::addMessage(
202 mb_strtolower($eventName),
205 'processEvent [process-02]' => [
206 'parameters' => $parameters,
213 $instance->pushHandlerExecuted($eventHandler);
217 case 'onsalebeforeorderdelete':
220 throw new RestException(
"Event stopped");
228 'XML_ID' =>
$entity->getField(
'XML_ID'),
233 LoggerDiag::addMessage(
234 mb_strtolower($eventName),
237 'processEvent [process-03]' => [
238 'parameters' => $parameters,
247 case 'onpropertyvalueentitysaved':
248 case 'onpaymententitysaved':
249 case 'onshipmententitysaved':
250 case 'onorderentitysaved':
251 case 'onpropertyvaluedeleted':
252 case 'onpaymentdeleted':
253 case 'onshipmentdeleted':
254 case 'onorderdeleted':
265 $parameters = [
'FIELDS' => [
'ID' =>
$entityId]];
267 LoggerDiag::addMessage(
268 mb_strtolower($eventName),
271 'processEvent [process-04]' => [
272 'parameters' => $parameters,
282 throw new RestException(
"The Event \"{$eventName}\" is not supported in current context");
if( $daysToExpire >=0 &&$daysToExpire< 60 elseif)( $daysToExpire< 0)