<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\SalesRule\Controller\Adminhtml\Promo\Quote; use Magento\Framework\App\Action\HttpPostActionInterface; /** * Controller class NewConditionHtml. Returns condition html */ class NewConditionHtml extends \Magento\SalesRule\Controller\Adminhtml\Promo\Quote implements HttpPostActionInterface { /** * New condition html action * * @return void */ public function execute() { $id = $this->getRequest()->getParam('id'); $formName = $this->getRequest()->getParam('form_namespace'); $typeArr = explode('|', str_replace('-', '/', $this->getRequest()->getParam('type'))); $type = $typeArr[0]; $model = $this->_objectManager->create( $type )->setId( $id )->setType( $type )->setRule( $this->_objectManager->create(\Magento\SalesRule\Model\Rule::class) )->setPrefix( 'conditions' ); if (!empty($typeArr[1])) { $model->setAttribute($typeArr[1]); } if ($model instanceof \Magento\Rule\Model\Condition\AbstractCondition) { $model->setJsFormObject($this->getRequest()->getParam('form')); $model->setFormName($formName); $html = $model->asHtmlRecursive(); } else { $html = ''; } $this->getResponse()->setBody($html); } }