Example #1
0
 /**
  * @param bool $isActive
  * @dataProvider getActiveMethodsDataProvider
  */
 public function testGetActiveMethods($isActive)
 {
     $abstractMethod = $this->getMockBuilder('Magento\\Payment\\Model\\Method\\AbstractMethod')->disableOriginalConstructor()->setMethods(['setId', 'setStore', 'getConfigData'])->getMock();
     $this->scopeConfig->expects($this->once())->method('getValue')->with('payment', ScopeInterface::SCOPE_STORE, null)->will($this->returnValue($this->paymentMethodsList));
     $this->paymentMethodFactory->expects($this->once())->method('create')->with($this->paymentMethodsList['active_method']['model'])->will($this->returnValue($abstractMethod));
     $abstractMethod->expects($this->any())->method('setId')->with('active_method')->will($this->returnValue($abstractMethod));
     $abstractMethod->expects($this->any())->method('setStore')->with(null);
     $abstractMethod->expects($this->any())->method('getConfigData')->with('active', $this->isNull())->will($this->returnValue($isActive));
     $this->assertEquals($isActive ? ['active_method' => $abstractMethod] : [], $this->config->getActiveMethods());
 }
 /**
  * @param \Magento\Framework\Event\Observer $observer
  * @return void
  */
 public function execute(\Magento\Framework\Event\Observer $observer)
 {
     if ($observer->getEvent()->getState() != \Magento\Sales\Model\Order::STATE_NEW) {
         return;
     }
     $status = $observer->getEvent()->getStatus();
     $defaultStatus = $this->_salesOrderConfig->getStateDefaultStatus(\Magento\Sales\Model\Order::STATE_NEW);
     $methods = $this->_paymentConfig->getActiveMethods();
     foreach ($methods as $method) {
         if ($method->getConfigData('order_status') == $status) {
             $this->_resourceConfig->saveConfig('payment/' . $method->getCode() . '/order_status', $defaultStatus, 'default', 0);
         }
     }
 }
Example #3
0
 /**
  * @param \Magento\Framework\DataObject $postObject
  *
  * @return bool
  * @throws \Exception
  */
 public function sendrequest($postObject)
 {
     if (!filter_var($postObject->getData('to'), FILTER_VALIDATE_EMAIL)) {
         throw new \Exception($this->_dataHelper->__('Please enter a valid e-mail address.'));
     }
     if (strlen(trim($postObject->getData('replyto')))) {
         if (!filter_var($postObject->getData('replyto'), FILTER_VALIDATE_EMAIL)) {
             throw new \Exception($this->_dataHelper->__('Please enter a valid e-mail address (reply to).'));
         }
         $this->_transportBuilder->setReplyTo(trim($postObject->getData('replyto')));
     }
     $sender = ['name' => $this->_dataHelper->getStoreConfigData('trans_email/ident_general/name'), 'email' => $this->_dataHelper->getStoreConfigData('trans_email/ident_general/email')];
     if (!strlen($sender['email'])) {
         throw new \Exception('Please set your shop e-mail address!');
     }
     $modules = [];
     foreach ($this->_moduleLoader->load() as $module) {
         if (!in_array($module['name'], $this->_moduleBlacklist)) {
             $modules[] = $module['name'];
         }
     }
     natsort($modules);
     $payments = $this->_paymentConfig->getActiveMethods();
     /** @var \Magento\Framework\App\Config\Data $cfg */
     $cfg = $this->_scopePool->getScope(\Magento\Store\Model\ScopeInterface::SCOPE_STORE);
     $foreign = array();
     $mine = array();
     foreach ($payments as $paymentCode => $paymentModel) {
         /** @var AbstractPayment $paymentModel */
         $method = array('label' => $paymentModel->getTitle(), 'value' => $paymentCode, 'config' => []);
         if (preg_match('/^wirecard_/i', $paymentCode)) {
             $method['config'] = $cfg->getValue('payment/' . $paymentCode);
             $mine[$paymentCode] = $method;
         } else {
             $foreign[$paymentCode] = $method;
         }
     }
     $versioninfo = new \Magento\Framework\DataObject();
     $versioninfo->setData($this->_dataHelper->getVersionInfo());
     $transport = $this->_transportBuilder->setTemplateIdentifier('contact_support_email')->setTemplateOptions(['area' => \Magento\Framework\App\Area::AREA_ADMINHTML, 'store' => \Magento\Store\Model\Store::DEFAULT_STORE_ID])->setTemplateVars(['data' => $postObject, 'modules' => $modules, 'foreign' => $foreign, 'mine' => $mine, 'configstr' => $this->_dataHelper->getConfigString(), 'versioninfo' => $versioninfo])->setFrom($sender)->addTo($postObject->getData('to'))->getTransport();
     $transport->sendMessage();
     return true;
 }