160 lines
3.8 KiB
PHP
160 lines
3.8 KiB
PHP
<?php
|
|
|
|
namespace Bx\Discount\Handlers;
|
|
|
|
use Bitrix\Main\Entity\Event;
|
|
use Bx\Discount\Tools;
|
|
|
|
class SaleDiscount extends ADiscount
|
|
{
|
|
|
|
public static function onBeforeAdd(Event $event)
|
|
{
|
|
if(!Tools::isEnable()){
|
|
return;
|
|
}
|
|
|
|
$id = $event->getParameter("id");
|
|
|
|
if(is_array($id))
|
|
$id = $id["ID"];
|
|
|
|
$entity = $event->getEntity();
|
|
$entityDataClass = $entity->GetDataClass();
|
|
$eventType = $event->getEventType();
|
|
$arParameters = $event->getParameters();
|
|
|
|
$result = new \Bitrix\Main\Entity\EventResult();
|
|
if(!static::isValidData()){
|
|
$result->addError(
|
|
new \Bitrix\Main\Entity\EntityError(static::$lang['EMPTY_PRODUCT_TYPE'])
|
|
);
|
|
return $result;
|
|
}
|
|
}
|
|
|
|
public static function onAfterAdd(Event $event)
|
|
{
|
|
if(!Tools::isEnable()){
|
|
return;
|
|
}
|
|
|
|
$id = $event->getParameter('id');
|
|
|
|
if(is_array($id))
|
|
$id = $id['ID'];
|
|
|
|
$entity = $event->getEntity();
|
|
$entityDataClass = $entity->GetDataClass();
|
|
$eventType = $event->getEventType();
|
|
$arParameters = $event->getParameters();
|
|
|
|
if(!Tools::isSaleDiscountEditPage()){
|
|
return;
|
|
}
|
|
if(!Tools::isValidRequestData()){
|
|
return;
|
|
}
|
|
|
|
|
|
static::addAdditionalDiscountData($id);
|
|
}
|
|
|
|
public static function onBeforeUpdate(Event $event)
|
|
{
|
|
if(!Tools::isEnable()){
|
|
return;
|
|
}
|
|
|
|
$id = $event->getParameter('id');
|
|
|
|
if(is_array($id))
|
|
$id = $id['ID'];
|
|
|
|
$entity = $event->getEntity();
|
|
$entityDataClass = $entity->GetDataClass();
|
|
$eventType = $event->getEventType();
|
|
$arParameters = $event->getParameters();
|
|
$arFields = $event->getParameter('fields');
|
|
$isSaleDiscountEditPage = Tools::isSaleDiscountEditPage();
|
|
if(!$isSaleDiscountEditPage){
|
|
return;
|
|
}
|
|
//dd($id);
|
|
//$event->setParameter("fields",$arFields);
|
|
|
|
$result = new \Bitrix\Main\Entity\EventResult();
|
|
if(!static::isValidData()){
|
|
$result->addError(
|
|
new \Bitrix\Main\Entity\EntityError(static::$lang['EMPTY_PRODUCT_TYPE'])
|
|
);
|
|
return $result;
|
|
}
|
|
}
|
|
|
|
public static function onAfterUpdate(Event $event)
|
|
{
|
|
if(!Tools::isEnable()){
|
|
return;
|
|
}
|
|
|
|
$id = $event->getParameter('id');
|
|
|
|
if(is_array($id))
|
|
$id = $id['ID'];
|
|
|
|
$entity = $event->getEntity();
|
|
$entityDataClass = $entity->GetDataClass();
|
|
$eventType = $event->getEventType();
|
|
$arParameters = $event->getParameters();
|
|
$arFields = $event->getParameter('fields');
|
|
|
|
if(!Tools::isSaleDiscountEditPage()){
|
|
return;
|
|
}
|
|
if(!Tools::isValidRequestData()){
|
|
return;
|
|
}
|
|
|
|
static::updateAdditionalDiscountData($id);
|
|
}
|
|
|
|
public static function onBeforeDelete(Event $event)
|
|
{
|
|
if(!Tools::isEnable()){
|
|
return;
|
|
}
|
|
|
|
$id = $event->getParameter('id');
|
|
|
|
if(is_array($id))
|
|
$id = $id['ID'];
|
|
|
|
$entity = $event->getEntity();
|
|
$entityDataClass = $entity->GetDataClass();
|
|
$eventType = $event->getEventType();
|
|
$arParameters = $event->getParameters();
|
|
|
|
|
|
}
|
|
|
|
public static function onAfterDelete(Event $event)
|
|
{
|
|
if(!Tools::isEnable()){
|
|
return;
|
|
}
|
|
|
|
$id = $event->getParameter('id');
|
|
|
|
if(is_array($id))
|
|
$id = $id['ID'];
|
|
|
|
$entity = $event->getEntity();
|
|
$entityDataClass = $entity->GetDataClass();
|
|
$eventType = $event->getEventType();
|
|
$arParameters = $event->getParameters();
|
|
|
|
|
|
}
|
|
|
|
} |