55 lines
1.7 KiB
PHP
Executable File
55 lines
1.7 KiB
PHP
Executable File
<?php
|
|
|
|
namespace IpSupply\CartToQuote\Controller\Quote;
|
|
|
|
use Magento\Framework\App\Action\Context;
|
|
use Magento\Framework\View\Result\PageFactory;
|
|
|
|
class Data extends \Magento\Framework\App\Action\Action {
|
|
|
|
protected $pageFactory;
|
|
protected $cartItemFactory;
|
|
protected $_customerRepositoryInterface;
|
|
protected $request;
|
|
protected $customerSession;
|
|
protected $objectManager;
|
|
|
|
public function __construct(
|
|
Context $context,
|
|
PageFactory $pageFactory,
|
|
\IpSupply\CartToQuote\Model\CartItemFactory $cartItemFactory,
|
|
\Magento\Customer\Api\CustomerRepositoryInterface $customerRepositoryInterface,
|
|
\Magento\Framework\Webapi\Rest\Request $request
|
|
)
|
|
{
|
|
$this->cartItemFactory = $cartItemFactory;
|
|
$this->_customerRepositoryInterface = $customerRepositoryInterface;
|
|
$this->request = $request;
|
|
$this->objectManager = \Magento\Framework\App\ObjectManager::getInstance();
|
|
$this->customerSession = $this->objectManager->get(\Magento\Customer\Model\Session::class);
|
|
|
|
parent::__construct($context);
|
|
}
|
|
|
|
private function getCartItems($customerId) {
|
|
$collection = $this->cartItemFactory->create()->getCollection();
|
|
$data = $collection->addFieldToFilter('customer_id', ['eq' => $customerId])
|
|
->setOrder('name','ASC')
|
|
->getData();
|
|
return $data;
|
|
}
|
|
|
|
public function execute()
|
|
{
|
|
if($this->customerSession->isLoggedIn()) {
|
|
$customer = $this->customerSession->getCustomer();
|
|
echo json_encode($this->getCartItems($customer->getId()));
|
|
exit;
|
|
} else {
|
|
echo json_encode(array());
|
|
}
|
|
|
|
}
|
|
|
|
}
|