Esempio n. 1
0
 /**
  * Customer logout action
  *
  * @return \Magento\Framework\Controller\Result\Redirect
  */
 public function execute()
 {
     $lastCustomerId = $this->session->getId();
     $this->session->logout()->setBeforeAuthUrl($this->_redirect->getRefererUrl())->setLastCustomerId($lastCustomerId);
     /** @var \Magento\Framework\Controller\Result\Redirect $resultRedirect */
     $resultRedirect = $this->resultRedirectFactory->create();
     $resultRedirect->setPath('*/*/logoutSuccess');
     return $resultRedirect;
 }
Esempio n. 2
0
 /**
  * Customer logout action
  *
  * @return \Magento\Framework\Controller\Result\Redirect
  */
 public function execute()
 {
     $lastCustomerId = $this->session->getId();
     $this->session->logout()->setBeforeAuthUrl($this->_redirect->getRefererUrl())->setLastCustomerId($lastCustomerId);
     if ($this->getCookieManager()->getCookie('mage-cache-sessid')) {
         $metadata = $this->getCookieMetadataFactory()->createCookieMetadata();
         $metadata->setPath('/');
         $this->getCookieManager()->deleteCookie('mage-cache-sessid', $metadata);
     }
     /** @var \Magento\Framework\Controller\Result\Redirect $resultRedirect */
     $resultRedirect = $this->resultRedirectFactory->create();
     $resultRedirect->setPath('*/*/logoutSuccess');
     return $resultRedirect;
 }
Esempio n. 3
0
 /**
  * @return Collection
  */
 public function getWishlist()
 {
     if (!$this->_wishlist) {
         $this->_wishlist = $this->_createWishList()->loadByCustomerId($this->_customerSession->getId());
         $this->_wishlist->getItemCollection()->addAttributeToSelect('name')->addAttributeToSelect('price')->addAttributeToSelect('small_image')->addAttributeToFilter('store_id', ['in' => $this->_wishlist->getSharedStoreIds()])->addAttributeToSort('added_at', 'desc')->setCurPage(1)->setPageSize(3)->load();
     }
     return $this->_wishlist->getItemCollection();
 }
Esempio n. 4
0
 /**
  * @return void
  */
 protected function _construct()
 {
     /*
      * setting cache to save the rss for 10 minutes
      */
     $this->setCacheKey('rss_catalog_category_' . $this->getRequest()->getParam('cid') . '_' . $this->getRequest()->getParam('store_id') . '_' . $this->customerSession->getId());
     $this->setCacheLifetime(600);
 }
Esempio n. 5
0
 /**
  * Instantiate current payment and put it into registry
  *
  * @return \Magento\RecurringPayment\Model\Payment
  * @throws \Magento\Framework\Model\Exception
  */
 protected function _initPayment()
 {
     $payment = $this->_objectManager->create('Magento\\RecurringPayment\\Model\\Payment')->load($this->getRequest()->getParam('payment'));
     if (!$payment->getId() || $payment->getCustomerId() != $this->_customerSession->getId()) {
         throw new \Magento\Framework\Model\Exception(__('We can\'t find the payment you specified.'));
     }
     $this->_coreRegistry->register('current_recurring_payment', $payment);
     return $payment;
 }
Esempio n. 6
0
 /**
  * Dispatch request
  *
  * @return ResponseInterface
  */
 public function execute()
 {
     $facebookHelper = $this->facebook->getRedirectLoginHelper();
     try {
         $accessToken = $facebookHelper->getAccessToken();
         if (isset($accessToken)) {
             $facebookUser = $this->facebook->get('/me?fields=' . static::FIELDS, $accessToken)->getGraphUser();
             $customer = $this->customerRepository->getByFacebookId($facebookUser->getId());
             if ($this->customerSession->getId()) {
                 $this->customer = $this->customerSession->getCustomerData();
                 $this->createOrUpdateAndLogin($facebookUser, $accessToken);
                 $this->messageManager->addSuccess(__("Your Facebook account is now connected to your account at our store."));
             } else {
                 if (!is_null($customer)) {
                     $this->customer = $customer;
                     $this->createOrUpdateAndLogin($facebookUser, $accessToken);
                     $this->messageManager->addSuccess(__("You have successfully logged in using your Facebook account."));
                 } else {
                     try {
                         $this->customer = $this->customerRepository->get($facebookUser->getEmail());
                     } finally {
                         $customer = $this->createOrUpdateAndLogin($facebookUser, $accessToken);
                         if ($this->customer->getId() == $customer->getId()) {
                             $this->messageManager->addSuccess(__("We have discovered you already have an account at our store." . " Your Facebook account is now connected to your store account."));
                         } else {
                             $this->messageManager->addSuccess(__("Your Facebook account is now connected to your new user account at our store."));
                         }
                     }
                 }
             }
         } else {
             throw new FacebookSDKException('The Facebook code is null');
         }
     } catch (FacebookSDKException $e) {
         $this->logger->addError($e->getMessage());
         $this->messageManager->addError(__("Oops. Something went wrong! Please try again later."));
     } catch (InputException $e) {
         $this->logger->addError($e->getMessage());
         $this->messageManager->addError(__("Some of required values is not received. Please, check your Facebook settings." . "Required fields: email, first name, last name."));
     } catch (Exception $e) {
         $this->logger->addError($e->getMessage());
         $this->messageManager->addError(__("Oops. Something went wrong! Please try again later."));
     }
     $this->_redirect($this->_redirect->getRefererUrl());
 }
Esempio n. 7
0
 /**
  * @return void
  */
 protected function _construct()
 {
     $this->setCacheKey('rss_catalog_category_' . $this->getRequest()->getParam('cid') . '_' . $this->getStoreId() . '_' . $this->customerSession->getId());
     parent::_construct();
 }
Esempio n. 8
0
 /**
  * Returns customer id from session
  *
  * @return int|null
  */
 public function getCustomerId()
 {
     return $this->customerSession->getId();
 }