Пример #1
0
 /**
  * @param int $customerId
  * @param int $websiteId
  * @param string|null $skipConfirmationIfEmail
  * @param bool $expected
  * @dataProvider dataProviderIsConfirmationRequired
  */
 public function testIsConfirmationRequired($customerId, $websiteId, $skipConfirmationIfEmail, $expected)
 {
     $customerEmail = '*****@*****.**';
     $this->registryMock->expects($this->any())->method('registry')->with('skip_confirmation_if_email')->willReturn($skipConfirmationIfEmail);
     $this->_scopeConfigMock->expects($this->any())->method('getValue')->with(Customer::XML_PATH_IS_CONFIRM, ScopeInterface::SCOPE_WEBSITES, $websiteId)->willReturn($expected);
     $this->_model->setData('id', $customerId);
     $this->_model->setData('website_id', $websiteId);
     $this->_model->setData('email', $customerEmail);
     $this->assertEquals($expected, $this->_model->isConfirmationRequired());
 }
Пример #2
0
 /**
  * Set customer model and the customer id in session
  *
  * @param   Customer $customerModel
  * @return  $this
  * @deprecated use setCustomerId() instead
  */
 public function setCustomer(Customer $customerModel)
 {
     $this->_customerModel = $customerModel;
     $this->_httpContext->setValue(\Magento\Customer\Helper\Data::CONTEXT_GROUP, $customerModel->getGroupId(), \Magento\Customer\Model\Group::NOT_LOGGED_IN_ID);
     $this->setCustomerId($customerModel->getId());
     if (!$customerModel->isConfirmationRequired() && $customerModel->getConfirmation()) {
         $customerModel->setConfirmation(null)->save();
     }
     /**
      * The next line is a workaround.
      * It is used to distinguish users that are logged in from user data set via methods similar to setCustomerId()
      */
     $this->unsIsCustomerEmulated();
     return $this;
 }
 /**
  * Send either confirmation or welcome email after an account creation
  *
  * @param CustomerModel $customerModel
  * @param Data\Customer $customer
  * @param string        $redirectUrl
  * @return void
  */
 protected function _sendEmailConfirmation(CustomerModel $customerModel, Data\Customer $customer, $redirectUrl)
 {
     try {
         if ($customerModel->isConfirmationRequired()) {
             $customerModel->sendNewAccountEmail(self::NEW_ACCOUNT_EMAIL_CONFIRMATION, $redirectUrl, $customer->getStoreId());
         } else {
             $customerModel->sendNewAccountEmail(self::NEW_ACCOUNT_EMAIL_REGISTERED, $redirectUrl, $customer->getStoreId());
         }
     } catch (MailException $e) {
         // If we are not able to send a new account email, this should be ignored
         $this->logger->logException($e);
     }
 }
Пример #4
-1
 /**
  * Set customer model and the customer id in session
  *
  * @param   Customer $customerModel
  * @return  $this
  * @deprecated use setCustomerId() instead
  */
 public function setCustomer(Customer $customerModel)
 {
     $this->_customerModel = $customerModel;
     $this->_httpContext->setValue(\Magento\Customer\Helper\Data::CONTEXT_GROUP, $customerModel->getGroupId(), \Magento\Customer\Model\Group::NOT_LOGGED_IN_ID);
     $this->setCustomerId($customerModel->getId());
     if (!$customerModel->isConfirmationRequired() && $customerModel->getConfirmation()) {
         $customerModel->setConfirmation(null)->save();
     }
     return $this;
 }