23 $model = $this->_objectManager->create(\
Magento\SalesRule\Model\Rule::class);
24 $this->_eventManager->dispatch(
25 'adminhtml_controller_salesrule_prepare_save',
31 if ($this->
getRequest()->getParam(
'to_date')) {
34 $inputFilter = new \Zend_Filter_Input(
39 $data = $inputFilter->getUnescaped();
44 throw new \Magento\Framework\Exception\LocalizedException(
__(
'The wrong rule is specified.'));
48 $session = $this->_objectManager->get(\
Magento\Backend\Model\Session::class);
51 if ($validateResult !==
true) {
52 foreach ($validateResult as $errorMessage) {
53 $this->messageManager->addErrorMessage($errorMessage);
61 $data[
'simple_action']
62 ) &&
$data[
'simple_action'] ==
'by_percent' && isset(
63 $data[
'discount_amount']
66 $data[
'discount_amount'] = min(100,
$data[
'discount_amount']);
68 if (isset(
$data[
'rule'][
'conditions'])) {
69 $data[
'conditions'] =
$data[
'rule'][
'conditions'];
71 if (isset(
$data[
'rule'][
'actions'])) {
77 $useAutoGeneration = (int)(
78 !empty(
$data[
'use_auto_generation']) &&
$data[
'use_auto_generation'] !==
'false' 80 $model->setUseAutoGeneration($useAutoGeneration);
85 $this->messageManager->addSuccessMessage(
__(
'You saved the rule.'));
93 }
catch (\
Magento\Framework\Exception\LocalizedException $e) {
94 $this->messageManager->addErrorMessage($e->getMessage());
102 }
catch (\Exception $e) {
103 $this->messageManager->addErrorMessage(
104 __(
'Something went wrong while saving the rule data. Please review the error log.')
106 $this->_objectManager->get(\Psr\Log\LoggerInterface::class)->critical($e);
107 $this->_objectManager->get(\
Magento\Backend\Model\Session::class)->setPageData(
$data);
_redirect($path, $arguments=[])