77 lines
3.3 KiB
PHP
Executable File
77 lines
3.3 KiB
PHP
Executable File
<?php
|
|
|
|
namespace IpSupply\CustomerComplain\Block\Widget;
|
|
|
|
use Magento\Framework\View\Element\Template;
|
|
use Magento\Widget\Block\BlockInterface;
|
|
use Magento\Framework\View\Element\Template\Context;
|
|
use Magento\Framework\App\ObjectManager;
|
|
use Magento\Framework\Translate\Inline\StateInterface;
|
|
use Magento\Framework\Escaper;
|
|
use Magento\Framework\Mail\Template\TransportBuilder;
|
|
use Magento\Framework\UrlInterface;
|
|
use Magento\Framework\Message\ManagerInterface;
|
|
|
|
class CustomerComplainWidget extends Template implements BlockInterface {
|
|
protected $_objectManager;
|
|
protected $_escaper;
|
|
protected $_inlineTranslation;
|
|
protected $_transportBuilder;
|
|
protected $_urlInterface;
|
|
protected $_messageManager;
|
|
|
|
public function __construct(Escaper $escaper, StateInterface $inlineTranslation, TransportBuilder $transportBuilder, UrlInterface $urlInterface, ManagerInterface $messageManager, Context $context, array $data = []) {
|
|
$this->_objectManager = ObjectManager::getInstance();
|
|
$this->_escaper = $escaper;
|
|
$this->_inlineTranslation = $inlineTranslation;
|
|
$this->_transportBuilder = $transportBuilder;
|
|
$this->_urlInterface = $urlInterface;
|
|
$this->_messageManager = $messageManager;
|
|
parent::__construct($context, $data);
|
|
}
|
|
|
|
public function execute() {
|
|
$data = $this->getRequest()->getPostValue();
|
|
if(!empty($data)) {
|
|
$scopeConfig = $this->_objectManager->create('\Magento\Framework\App\Config\ScopeConfigInterface');
|
|
$email_contact = $scopeConfig->getValue('trans_email/ident_general/email',\Magento\Store\Model\ScopeInterface::SCOPE_STORE);
|
|
$this->_inlineTranslation->suspend();
|
|
$sender = [
|
|
"name" => $this->_escaper->escapeHtml($data["fullname"]),
|
|
"email" => $this->_escaper->escapeHtml($data["email"])
|
|
];
|
|
$transport = $this->_transportBuilder
|
|
->setTemplateIdentifier('email_asset_complain_template')
|
|
->setTemplateOptions(
|
|
[
|
|
'area' => \Magento\Framework\App\Area::AREA_FRONTEND,
|
|
'store' => \Magento\Store\Model\Store::DEFAULT_STORE_ID,
|
|
]
|
|
)
|
|
->setTemplateVars([
|
|
'title' => $this->getData("complain_title"),
|
|
'gender' => $data["gender"],
|
|
'fullname' => $data["fullname"],
|
|
'email' => $data["email"],
|
|
'phone' => $data["phone"],
|
|
'company' => $data["company"],
|
|
'invoice' => $data['invoice'],
|
|
'article' => $data['article'],
|
|
'customer_number' => $data['customer_number'],
|
|
'reason' => $data['reason'],
|
|
'opinion' => $data["opinion"]
|
|
])
|
|
->setFrom($sender)
|
|
->addTo($email_contact)
|
|
->getTransport();
|
|
$transport->sendMessage();
|
|
$this->_inlineTranslation->resume();
|
|
$this->_messageManager->addSuccess(__("Thanks you. We'll respond to you very soon."));
|
|
}
|
|
}
|
|
|
|
function getAssetUrl($asset) {
|
|
$assetRepository = $this->_objectManager->get('Magento\Framework\View\Asset\Repository');
|
|
return $assetRepository->createAsset($asset)->getUrl();
|
|
}
|
|
} |