diff --git a/.gitignore b/.gitignore index 6f1fa22..30ac73f 100644 --- a/.gitignore +++ b/.gitignore @@ -41,3 +41,5 @@ /var/package/* !/var/package/*.xml +/.idea/* +.DS_Store diff --git a/Block/Adminhtml/Category/Edit/BackButton.php b/Block/Adminhtml/Category/Edit/BackButton.php index b445581..94871e4 100644 --- a/Block/Adminhtml/Category/Edit/BackButton.php +++ b/Block/Adminhtml/Category/Edit/BackButton.php @@ -5,6 +5,7 @@ * @copyright Copyright © 2018 DevStone. All rights reserved. * @author david@nnucomputerwhiz.com */ + namespace DevStone\UsageCalculator\Block\Adminhtml\Category\Edit; use Magento\Backend\Block\Widget\Context; diff --git a/Block/Adminhtml/Category/Edit/DeleteButton.php b/Block/Adminhtml/Category/Edit/DeleteButton.php index db9c50c..09d3b79 100644 --- a/Block/Adminhtml/Category/Edit/DeleteButton.php +++ b/Block/Adminhtml/Category/Edit/DeleteButton.php @@ -5,6 +5,7 @@ * @copyright Copyright © 2018 DevStone. All rights reserved. * @author david@nnucomputerwhiz.com */ + namespace DevStone\UsageCalculator\Block\Adminhtml\Category\Edit; use Magento\Backend\Block\Widget\Context; diff --git a/Block/Adminhtml/Category/Edit/SaveAndContinueButton.php b/Block/Adminhtml/Category/Edit/SaveAndContinueButton.php index aa2c0b6..6f887de 100644 --- a/Block/Adminhtml/Category/Edit/SaveAndContinueButton.php +++ b/Block/Adminhtml/Category/Edit/SaveAndContinueButton.php @@ -5,6 +5,7 @@ * @copyright Copyright © 2018 DevStone. All rights reserved. * @author david@nnucomputerwhiz.com */ + namespace DevStone\UsageCalculator\Block\Adminhtml\Category\Edit; use Magento\Framework\View\Element\UiComponent\Control\ButtonProviderInterface; diff --git a/Block/Adminhtml/Category/Edit/SaveButton.php b/Block/Adminhtml/Category/Edit/SaveButton.php index b361e0d..11622a4 100644 --- a/Block/Adminhtml/Category/Edit/SaveButton.php +++ b/Block/Adminhtml/Category/Edit/SaveButton.php @@ -5,6 +5,7 @@ * @copyright Copyright © 2018 DevStone. All rights reserved. * @author david@nnucomputerwhiz.com */ + namespace DevStone\UsageCalculator\Block\Adminhtml\Category\Edit; use Magento\Framework\View\Element\UiComponent\Control\ButtonProviderInterface; diff --git a/Block/Adminhtml/Customer/AssignCustomers.php b/Block/Adminhtml/Customer/AssignCustomers.php index dadd533..f57fa1b 100644 --- a/Block/Adminhtml/Customer/AssignCustomers.php +++ b/Block/Adminhtml/Customer/AssignCustomers.php @@ -1,4 +1,10 @@ getRequest()->getParam('entity_id'); $customerArray = []; - if(isset($id)){ + if (isset($id)) { $collection = $this->collectionFactory->create(); foreach ($collection as $item) { $customerArray[$item->getCustomerId()] = $item->getCustomerId(); @@ -117,10 +122,15 @@ public function getUsageCustomer() return $customerArray; } - public function showGrid(){ + /** + * @return bool|mixed + */ + public function showGrid() + { $customLicense = $this->request->getParam('custom_license'); - if(isset($customLicense)) + if (isset($customLicense)) { return $customLicense; + } return false; } -} \ No newline at end of file +} diff --git a/Block/Adminhtml/Customer/Tab/Customer.php b/Block/Adminhtml/Customer/Tab/Customer.php index dc44b75..0f11407 100644 --- a/Block/Adminhtml/Customer/Tab/Customer.php +++ b/Block/Adminhtml/Customer/Tab/Customer.php @@ -1,4 +1,10 @@ customerFactory = $customerFactory; + $this->customerCollectionFactory = $customerCollectionFactory; $this->coreRegistry = $coreRegistry; $this->request = $request; $this->collectionFactory = $collectionFactory; + $this->resource = $resource; $this->visibility = $visibility ?: ObjectManager::getInstance()->get(Visibility::class); $this->status = $status ?: ObjectManager::getInstance()->get(Status::class); parent::__construct($context, $backendHelper, $data); @@ -86,10 +95,14 @@ protected function _construct() $this->setId('usage_calculator_customers'); $this->setDefaultSort('id'); $this->setDefaultFilter(['in_usage' => 1]); - $this->setUseAjax(true); } + /** + * @param Grid\Column $column + * @return $this|Extended + * @throws \Magento\Framework\Exception\LocalizedException + */ protected function _addColumnFilterToCollection($column) { if ($column->getId() == 'in_usage') { @@ -98,12 +111,16 @@ protected function _addColumnFilterToCollection($column) $customerIds = 0; } $linkField = 'entity_id'; - $filter = $column->getFilter(); + $filter = $column->getFilter(); if ($filter !== false && $column->getFilter()->getValue()) { $this->getCollection()->addFieldToFilter($linkField, ['in' => $customerIds]); } elseif (!empty($customerIds)) { $this->getCollection()->addFieldToFilter($linkField, ['nin' => $customerIds]); } + } elseif ($column->getId() == 'name') { + $this->getCollection()->getSelect()->where("CONCAT(e.firstname, ' ', e.lastname) like '%" . $column->getFilter()->getValue() . "%'"); + } elseif ($column->getId() == 'company') { + $this->getCollection()->getSelect()->where('company like "%' . $column->getFilter()->getValue() . '%"'); } else { parent::_addColumnFilterToCollection($column); } @@ -111,13 +128,13 @@ protected function _addColumnFilterToCollection($column) return $this; } - /** * @return Extended + * @throws \Magento\Framework\Exception\LocalizedException */ protected function _prepareCollection() { - $collection = $this->customerFactory->create()->getCollection()->addAttributeToSelect('*'); + $collection = $this->customerCollectionFactory->create(); $storeId = (int)$this->getRequest()->getParam('store', 0); if ($storeId > 0) { $collection->addStoreFilter($storeId); @@ -156,8 +173,39 @@ protected function _prepareColumns() 'column_css_class' => 'col-id' ] ); - $this->addColumn('email', ['header' => __('Email'), 'index' => 'email']); + // Customer Email Column + $this->addColumn( + 'email', + [ + 'type' => 'text', + 'name' => 'email', + 'header' => __('Email'), + 'index' => 'email' + ] + ); + + //Customer Name Column + $this->addColumn( + 'name', + [ + 'type' => 'text', + 'name' => 'name', + 'header' => __('Name'), + 'index' => 'name' + ] + ); + + //Customer Company Column + $this->addColumn( + 'company', + [ + 'type' => 'text', + 'name' => 'company', + 'header' => __('Company'), + 'index' => 'company' + ] + ); return parent::_prepareColumns(); } @@ -197,4 +245,6 @@ public function getCustomersId() } return $customerArray; } + + } \ No newline at end of file diff --git a/Block/Adminhtml/Size/Edit/BackButton.php b/Block/Adminhtml/Size/Edit/BackButton.php index 89d0ffd..b8cf97b 100644 --- a/Block/Adminhtml/Size/Edit/BackButton.php +++ b/Block/Adminhtml/Size/Edit/BackButton.php @@ -5,6 +5,7 @@ * @copyright Copyright © 2018 DevStone. All rights reserved. * @author david@nnucomputerwhiz.com */ + namespace DevStone\UsageCalculator\Block\Adminhtml\Size\Edit; use Magento\Backend\Block\Widget\Context; diff --git a/Block/Adminhtml/Size/Edit/DeleteButton.php b/Block/Adminhtml/Size/Edit/DeleteButton.php index 5fcbdd8..3b24226 100644 --- a/Block/Adminhtml/Size/Edit/DeleteButton.php +++ b/Block/Adminhtml/Size/Edit/DeleteButton.php @@ -5,6 +5,7 @@ * @copyright Copyright © 2018 DevStone. All rights reserved. * @author david@nnucomputerwhiz.com */ + namespace DevStone\UsageCalculator\Block\Adminhtml\Size\Edit; use Magento\Backend\Block\Widget\Context; diff --git a/Block/Adminhtml/Size/Edit/SaveAndContinueButton.php b/Block/Adminhtml/Size/Edit/SaveAndContinueButton.php index e24ef0d..1b81b5d 100644 --- a/Block/Adminhtml/Size/Edit/SaveAndContinueButton.php +++ b/Block/Adminhtml/Size/Edit/SaveAndContinueButton.php @@ -5,6 +5,7 @@ * @copyright Copyright © 2018 DevStone. All rights reserved. * @author david@nnucomputerwhiz.com */ + namespace DevStone\UsageCalculator\Block\Adminhtml\Size\Edit; use Magento\Framework\View\Element\UiComponent\Control\ButtonProviderInterface; diff --git a/Block/Adminhtml/Size/Edit/SaveButton.php b/Block/Adminhtml/Size/Edit/SaveButton.php index 8475e2d..23ef178 100644 --- a/Block/Adminhtml/Size/Edit/SaveButton.php +++ b/Block/Adminhtml/Size/Edit/SaveButton.php @@ -5,6 +5,7 @@ * @copyright Copyright © 2018 DevStone. All rights reserved. * @author david@nnucomputerwhiz.com */ + namespace DevStone\UsageCalculator\Block\Adminhtml\Size\Edit; use Magento\Framework\View\Element\UiComponent\Control\ButtonProviderInterface; diff --git a/Block/Adminhtml/Usage/Edit/BackButton.php b/Block/Adminhtml/Usage/Edit/BackButton.php index e7bc612..27af624 100644 --- a/Block/Adminhtml/Usage/Edit/BackButton.php +++ b/Block/Adminhtml/Usage/Edit/BackButton.php @@ -5,6 +5,7 @@ * @copyright Copyright © 2018 DevStone. All rights reserved. * @author david@nnucomputerwhiz.com */ + namespace DevStone\UsageCalculator\Block\Adminhtml\Usage\Edit; use Magento\Backend\Block\Widget\Context; diff --git a/Block/Adminhtml/Usage/Edit/CustomLicense.php b/Block/Adminhtml/Usage/Edit/CustomLicense.php index 3385e2c..e3d9651 100644 --- a/Block/Adminhtml/Usage/Edit/CustomLicense.php +++ b/Block/Adminhtml/Usage/Edit/CustomLicense.php @@ -1,4 +1,10 @@ urlBuilder = $urlBuilder; } diff --git a/Block/Adminhtml/Usage/Edit/DeleteButton.php b/Block/Adminhtml/Usage/Edit/DeleteButton.php index a343bbb..420b8d9 100644 --- a/Block/Adminhtml/Usage/Edit/DeleteButton.php +++ b/Block/Adminhtml/Usage/Edit/DeleteButton.php @@ -5,6 +5,7 @@ * @copyright Copyright © 2018 DevStone. All rights reserved. * @author david@nnucomputerwhiz.com */ + namespace DevStone\UsageCalculator\Block\Adminhtml\Usage\Edit; use Magento\Backend\Block\Widget\Context; diff --git a/Block/Adminhtml/Usage/Edit/SaveAndContinueButton.php b/Block/Adminhtml/Usage/Edit/SaveAndContinueButton.php index 63a4d1b..62045c7 100644 --- a/Block/Adminhtml/Usage/Edit/SaveAndContinueButton.php +++ b/Block/Adminhtml/Usage/Edit/SaveAndContinueButton.php @@ -5,6 +5,7 @@ * @copyright Copyright © 2018 DevStone. All rights reserved. * @author david@nnucomputerwhiz.com */ + namespace DevStone\UsageCalculator\Block\Adminhtml\Usage\Edit; use Magento\Framework\View\Element\UiComponent\Control\ButtonProviderInterface; diff --git a/Block/Adminhtml/Usage/Edit/SaveButton.php b/Block/Adminhtml/Usage/Edit/SaveButton.php index 42bb2bb..1d661fd 100644 --- a/Block/Adminhtml/Usage/Edit/SaveButton.php +++ b/Block/Adminhtml/Usage/Edit/SaveButton.php @@ -5,6 +5,7 @@ * @copyright Copyright © 2018 DevStone. All rights reserved. * @author david@nnucomputerwhiz.com */ + namespace DevStone\UsageCalculator\Block\Adminhtml\Usage\Edit; use Magento\Framework\View\Element\UiComponent\Control\ButtonProviderInterface; diff --git a/Block/Catalog/Product/Usage.php b/Block/Catalog/Product/Usage.php index 076ac0e..8cd43e5 100644 --- a/Block/Catalog/Product/Usage.php +++ b/Block/Catalog/Product/Usage.php @@ -1,4 +1,10 @@ getProduct()->getTypeInstance()->getLinks($this->getProduct()); } - /** - * @return string|null - * @throws \Magento\Framework\Exception\LocalizedException - */ - public function getCustomLicenseId() - { - $searchCriteria = $this->searchCriteriaBuilder->addFilter('name', - \DevStone\UsageCalculator\Model\Usage\CatagoriesOptionsProvider::CUSTOM_LICENSE, 'eq')->create(); - $list = $this->categoryRepository->getList($searchCriteria)->getItems(); - if (count($list)) { - return array_values($list)[0]->getId(); - } - return null; - } - - /** * @return array */ @@ -246,8 +236,9 @@ public function getCategories() } } - $searchCriteria = $this->searchCriteriaBuilder->addFilter('name', - \DevStone\UsageCalculator\Model\Usage\CatagoriesOptionsProvider::CUSTOM_LICENSE, 'neq')->create(); + $searchCriteria = $this->searchCriteriaBuilder + ->addFilter('entity_id', $this->getCustomLicenseId(), 'neq') + ->create(); $list = $this->categoryRepository->getList($searchCriteria)->getItems(); return $list; } @@ -488,4 +479,24 @@ public function getGroupOfOption($type) return $group == '' ? 'default' : $group; } + + /** + * @return mixed + */ + public function getCustomLicenseId() + { + $searchCriteria = $this->searchCriteriaBuilder->addFilter('name', + \DevStone\UsageCalculator\Model\Usage\CatagoriesOptionsProvider::CUSTOM_LICENSE, 'eq')->create(); + $list = $this->categoryRepository->getList($searchCriteria)->getItems(); + if (count($list)) { + return array_values($list)[0]->getId(); + } + return null; + +// return $this->_scopeConfig +// ->getValue( +// 'usagecalculator\general\customer_license', +// \Magento\Store\Model\ScopeInterface::SCOPE_STORE +// ); + } } diff --git a/Block/Usage/View/Options.php b/Block/Usage/View/Options.php index c750e4f..b236749 100644 --- a/Block/Usage/View/Options.php +++ b/Block/Usage/View/Options.php @@ -1,4 +1,11 @@ _product = $product; return $this; } - + public function getUsage() { $searchCriteria = $this->searchCriteriaBuilder->create(); $list = $this->usageRepository->getList($searchCriteria)->getItems(); return current($list); } - + public function getCategories() { $searchCriteria = $this->searchCriteriaBuilder->create(); $list = $this->usageRepository->getList($searchCriteria)->getItems(); return current($list); } - + public function getCategoriesSelectHtml() { $this->getCategories(); - + $extraParams = ''; $select = $this->getLayout()->createBlock( \Magento\Framework\View\Element\Html\Select::class @@ -141,14 +148,14 @@ public function getCategoriesSelectHtml() 'class' => 'required product-custom-option admin__control-select' ] ); - + $select->setName('usage_category')->addOption('', __('-- Please Select --')); - + foreach ($this->getCategories() as $category) { $select->addOption( $category->getId(), - $category->getName() + $category->getName() ); } if (!$this->getSkipJsReloadPrice()) { @@ -275,7 +282,7 @@ public function getJsonConfig() //pass the return array encapsulated in an object for the other modules to be able to alter it eg: weee $this->_eventManager->dispatch('catalog_product_option_price_configuration_after', ['configObj' => $configObj]); - $config=$configObj->getConfig(); + $config = $configObj->getConfig(); return $this->_jsonEncoder->encode($config); } diff --git a/Block/Usage/View/Options/AbstractOptions.php b/Block/Usage/View/Options/AbstractOptions.php index f1964dd..c213b6e 100644 --- a/Block/Usage/View/Options/AbstractOptions.php +++ b/Block/Usage/View/Options/AbstractOptions.php @@ -1,4 +1,10 @@ 'select_' . $_option->getId(), 'class' => $require . ' product-custom-option admin__control-select', - 'title' => $_option->getTitle(), + 'title' => $_option->getTitle(), ] ); if ($_option->getType() == \Magento\Catalog\Api\Data\ProductCustomOptionInterface::OPTION_TYPE_DROP_DOWN) { diff --git a/Block/Usage/View/Options/Type/Text.php b/Block/Usage/View/Options/Type/Text.php index a358934..2dafbcc 100644 --- a/Block/Usage/View/Options/Type/Text.php +++ b/Block/Usage/View/Options/Type/Text.php @@ -1,4 +1,10 @@ objectFactory = $objectFactory; parent::__construct($context); @@ -57,7 +58,7 @@ public function execute() } catch (\Exception $exception) { $this->messageManager->addErrorMessage($exception->getMessage()); } - + return $resultRedirect->setPath('*/*'); } } diff --git a/Controller/Adminhtml/Category/Edit.php b/Controller/Adminhtml/Category/Edit.php index 9c6d3dd..dd1ea64 100644 --- a/Controller/Adminhtml/Category/Edit.php +++ b/Controller/Adminhtml/Category/Edit.php @@ -5,6 +5,7 @@ * @copyright Copyright © 2018 DevStone. All rights reserved. * @author david@nnucomputerwhiz.com */ + namespace DevStone\UsageCalculator\Controller\Adminhtml\Category; use Magento\Backend\App\Action; diff --git a/Controller/Adminhtml/Category/Index.php b/Controller/Adminhtml/Category/Index.php index d88abc2..31c6e42 100644 --- a/Controller/Adminhtml/Category/Index.php +++ b/Controller/Adminhtml/Category/Index.php @@ -1,10 +1,11 @@ resultPageFactory = $resultPageFactory; } - + /** * Check the permission to run it * diff --git a/Controller/Adminhtml/Category/InlineEdit.php b/Controller/Adminhtml/Category/InlineEdit.php index 89966c3..2a4fd8c 100644 --- a/Controller/Adminhtml/Category/InlineEdit.php +++ b/Controller/Adminhtml/Category/InlineEdit.php @@ -5,6 +5,7 @@ * @copyright Copyright © 2018 DevStone. All rights reserved. * @author david@nnucomputerwhiz.com */ + namespace DevStone\UsageCalculator\Controller\Adminhtml\Category; use Magento\Backend\App\Action; diff --git a/Controller/Adminhtml/Category/MassDelete.php b/Controller/Adminhtml/Category/MassDelete.php index bd76e89..c34ebcf 100644 --- a/Controller/Adminhtml/Category/MassDelete.php +++ b/Controller/Adminhtml/Category/MassDelete.php @@ -5,6 +5,7 @@ * @copyright Copyright © 2018 DevStone. All rights reserved. * @author david@nnucomputerwhiz.com */ + namespace DevStone\UsageCalculator\Controller\Adminhtml\Category; use Magento\Backend\App\Action; diff --git a/Controller/Adminhtml/Category/Save.php b/Controller/Adminhtml/Category/Save.php index 6f6ae28..3912bf7 100644 --- a/Controller/Adminhtml/Category/Save.php +++ b/Controller/Adminhtml/Category/Save.php @@ -5,6 +5,7 @@ * @copyright Copyright © 2018 DevStone. All rights reserved. * @author david@nnucomputerwhiz.com */ + namespace DevStone\UsageCalculator\Controller\Adminhtml\Category; use Magento\Backend\App\Action; diff --git a/Controller/Adminhtml/Category/Validate.php b/Controller/Adminhtml/Category/Validate.php index 6d16b06..d79b84d 100644 --- a/Controller/Adminhtml/Category/Validate.php +++ b/Controller/Adminhtml/Category/Validate.php @@ -5,6 +5,7 @@ * @copyright Copyright © 2018 DevStone. All rights reserved. * @author david@nnucomputerwhiz.com */ + namespace DevStone\UsageCalculator\Controller\Adminhtml\Category; use Magento\Backend\App\Action; diff --git a/Controller/Adminhtml/Size/Delete.php b/Controller/Adminhtml/Size/Delete.php index b6aa9f1..98ff624 100644 --- a/Controller/Adminhtml/Size/Delete.php +++ b/Controller/Adminhtml/Size/Delete.php @@ -5,6 +5,7 @@ * @copyright Copyright © 2018 DevStone. All rights reserved. * @author david@nnucomputerwhiz.com */ + namespace DevStone\UsageCalculator\Controller\Adminhtml\Size; use Magento\Backend\App\Action; @@ -21,8 +22,8 @@ class Delete extends Action * @param SizeFactory $objectFactory */ public function __construct( - Context $context, - SizeFactory $objectFactory + Context $context, + SizeFactory $objectFactory ) { $this->objectFactory = $objectFactory; parent::__construct($context); @@ -57,7 +58,7 @@ public function execute() } catch (\Exception $exception) { $this->messageManager->addErrorMessage($exception->getMessage()); } - + return $resultRedirect->setPath('*/*'); } } diff --git a/Controller/Adminhtml/Size/Edit.php b/Controller/Adminhtml/Size/Edit.php index 6ff8562..03019b0 100644 --- a/Controller/Adminhtml/Size/Edit.php +++ b/Controller/Adminhtml/Size/Edit.php @@ -5,6 +5,7 @@ * @copyright Copyright © 2018 DevStone. All rights reserved. * @author david@nnucomputerwhiz.com */ + namespace DevStone\UsageCalculator\Controller\Adminhtml\Size; use Magento\Backend\App\Action; diff --git a/Controller/Adminhtml/Size/Index.php b/Controller/Adminhtml/Size/Index.php index 8f0dfcf..66c6fc7 100644 --- a/Controller/Adminhtml/Size/Index.php +++ b/Controller/Adminhtml/Size/Index.php @@ -1,10 +1,11 @@ resultPageFactory = $resultPageFactory; } - + /** * Check the permission to run it * diff --git a/Controller/Adminhtml/Size/InlineEdit.php b/Controller/Adminhtml/Size/InlineEdit.php index 5a65c3b..dd0c59f 100644 --- a/Controller/Adminhtml/Size/InlineEdit.php +++ b/Controller/Adminhtml/Size/InlineEdit.php @@ -5,6 +5,7 @@ * @copyright Copyright © 2018 DevStone. All rights reserved. * @author david@nnucomputerwhiz.com */ + namespace DevStone\UsageCalculator\Controller\Adminhtml\Size; use Magento\Backend\App\Action; diff --git a/Controller/Adminhtml/Size/MassDelete.php b/Controller/Adminhtml/Size/MassDelete.php index c1ac1b5..23854dd 100644 --- a/Controller/Adminhtml/Size/MassDelete.php +++ b/Controller/Adminhtml/Size/MassDelete.php @@ -5,6 +5,7 @@ * @copyright Copyright © 2018 DevStone. All rights reserved. * @author david@nnucomputerwhiz.com */ + namespace DevStone\UsageCalculator\Controller\Adminhtml\Size; use Magento\Backend\App\Action; diff --git a/Controller/Adminhtml/Size/Save.php b/Controller/Adminhtml/Size/Save.php index 15f190e..1f1dfd9 100644 --- a/Controller/Adminhtml/Size/Save.php +++ b/Controller/Adminhtml/Size/Save.php @@ -5,6 +5,7 @@ * @copyright Copyright © 2018 DevStone. All rights reserved. * @author david@nnucomputerwhiz.com */ + namespace DevStone\UsageCalculator\Controller\Adminhtml\Size; use Magento\Backend\App\Action; diff --git a/Controller/Adminhtml/Size/Validate.php b/Controller/Adminhtml/Size/Validate.php index 3e2ab8a..40e9fd5 100644 --- a/Controller/Adminhtml/Size/Validate.php +++ b/Controller/Adminhtml/Size/Validate.php @@ -5,6 +5,7 @@ * @copyright Copyright © 2018 DevStone. All rights reserved. * @author david@nnucomputerwhiz.com */ + namespace DevStone\UsageCalculator\Controller\Adminhtml\Size; use Magento\Backend\App\Action; diff --git a/Controller/Adminhtml/Usage/Customer.php b/Controller/Adminhtml/Usage/Customer.php index e9e7aa5..f829d26 100644 --- a/Controller/Adminhtml/Usage/Customer.php +++ b/Controller/Adminhtml/Usage/Customer.php @@ -1,4 +1,10 @@ filter = $filter; $this->usageCollectionFactory = $collectionFactory; $this->objectFactory = $objectFactory; parent::__construct($context); @@ -82,6 +75,9 @@ public function execute() return $resultRedirect->setPath('*/*'); } + /** + * + */ public function deleteUsageCustomer() { $collection = $this->usageCollectionFactory->create(); diff --git a/Controller/Adminhtml/Usage/Edit.php b/Controller/Adminhtml/Usage/Edit.php index efc36db..031f398 100644 --- a/Controller/Adminhtml/Usage/Edit.php +++ b/Controller/Adminhtml/Usage/Edit.php @@ -5,6 +5,7 @@ * @copyright Copyright © 2018 DevStone. All rights reserved. * @author david@nnucomputerwhiz.com */ + namespace DevStone\UsageCalculator\Controller\Adminhtml\Usage; use Magento\Backend\App\Action; diff --git a/Controller/Adminhtml/Usage/Index.php b/Controller/Adminhtml/Usage/Index.php index c786b05..292cb64 100644 --- a/Controller/Adminhtml/Usage/Index.php +++ b/Controller/Adminhtml/Usage/Index.php @@ -5,6 +5,7 @@ * @copyright Copyright © 2018 DevStone. All rights reserved. * @author david@nnucomputerwhiz.com */ + namespace DevStone\UsageCalculator\Controller\Adminhtml\Usage; use Magento\Backend\App\Action; @@ -29,7 +30,7 @@ public function __construct( parent::__construct($context); $this->resultPageFactory = $resultPageFactory; } - + /** * Check the permission to run it * diff --git a/Controller/Adminhtml/Usage/Initialization/Helper.php b/Controller/Adminhtml/Usage/Initialization/Helper.php index 1e938af..7bf21f9 100644 --- a/Controller/Adminhtml/Usage/Initialization/Helper.php +++ b/Controller/Adminhtml/Usage/Initialization/Helper.php @@ -1,4 +1,10 @@ request = $request; - $this->customOptionFactory = $customOptionFactory; + $this->customOptionFactory = $customOptionFactory; } /** @@ -41,10 +44,10 @@ public function __construct( * @return \DevStone\UsageCalculator\Model\Usage */ public function initializeFromData( - \DevStone\UsageCalculator\Model\Usage $usage, - array $usageData + \DevStone\UsageCalculator\Model\Usage $usage, + array $usageData ) { - + // $usageData = $this->normalize($usageData); @@ -54,7 +57,7 @@ public function initializeFromData( } else { $usageOptions = []; } - + $usage = $this->fillProductOptions($usage, $usageOptions); @@ -71,7 +74,7 @@ public function initializeFromData( * @param \DevStone\UsageCalculator\Model\Usage $usage * @return \DevStone\UsageCalculator\Model\Usage */ - public function initialize( \DevStone\UsageCalculator\Model\Usage $usage) + public function initialize(\DevStone\UsageCalculator\Model\Usage $usage) { $usageData = $this->request->getPost('usage', []); return $this->initializeFromData($usage, $usageData); @@ -156,7 +159,7 @@ private function overwriteValue($optionId, $option, $overwriteOptions) if ('title' == $fieldName) { $option['is_delete_store_title'] = 1; } - if ('help' == $fieldName) { + if ('help' == $fieldName) { $option['is_delete_store_help'] = 1; } } @@ -175,7 +178,7 @@ private function overwriteValue($optionId, $option, $overwriteOptions) * @return \DevStone\UsageCalculator\Model\Usage */ private function fillProductOptions( - \DevStone\UsageCalculator\Model\Usage $usage, + \DevStone\UsageCalculator\Model\Usage $usage, array $usageOptions ) { if ($usage->getOptionsReadonly()) { diff --git a/Controller/Adminhtml/Usage/InlineEdit.php b/Controller/Adminhtml/Usage/InlineEdit.php index 0debeeb..ad981df 100644 --- a/Controller/Adminhtml/Usage/InlineEdit.php +++ b/Controller/Adminhtml/Usage/InlineEdit.php @@ -5,6 +5,7 @@ * @copyright Copyright © 2018 DevStone. All rights reserved. * @author david@nnucomputerwhiz.com */ + namespace DevStone\UsageCalculator\Controller\Adminhtml\Usage; use Magento\Backend\App\Action; diff --git a/Controller/Adminhtml/Usage/MassDelete.php b/Controller/Adminhtml/Usage/MassDelete.php index c563080..18a7fa4 100644 --- a/Controller/Adminhtml/Usage/MassDelete.php +++ b/Controller/Adminhtml/Usage/MassDelete.php @@ -5,6 +5,7 @@ * @copyright Copyright © 2018 DevStone. All rights reserved. * @author david@nnucomputerwhiz.com */ + namespace DevStone\UsageCalculator\Controller\Adminhtml\Usage; use Magento\Backend\App\Action; @@ -70,15 +71,13 @@ public function execute() } /** - * + * Delete all the Custom License Usage */ public function deleteUsageCustomer() { $collection = $this->usageCollectionFactory->create(); - $selectedUsage = $this->getRequest()->getParam('selected'); $collection->addFieldToFilter('usage_id', ['in' => $selectedUsage]); - foreach ($collection as $usage) { $usage->delete(); } diff --git a/Controller/Adminhtml/Usage/Save.php b/Controller/Adminhtml/Usage/Save.php index a9fecf6..ba4f5e6 100644 --- a/Controller/Adminhtml/Usage/Save.php +++ b/Controller/Adminhtml/Usage/Save.php @@ -5,12 +5,17 @@ * @copyright Copyright © 2018 DevStone. All rights reserved. * @author david@nnucomputerwhiz.com */ + namespace DevStone\UsageCalculator\Controller\Adminhtml\Usage; use Magento\Backend\App\Action; use Magento\Backend\App\Action\Context; use DevStone\UsageCalculator\Model\UsageFactory; +/** + * Class Save + * @package DevStone\UsageCalculator\Controller\Adminhtml\Usage + */ class Save extends Action { /** @var UsageFactory $objectFactory */ @@ -51,7 +56,7 @@ protected function _isAllowed() public function execute() { $storeId = (int)$this->getRequest()->getParam('store_id'); - $data = $this->getRequest()->getParams(); + $data = $this->getRequest()->getParams(); /** @var \Magento\Backend\Model\View\Result\Redirect $resultRedirect */ $resultRedirect = $this->resultRedirectFactory->create(); if ($data) { @@ -66,15 +71,13 @@ public function execute() $params['entity_id'] = $data['entity_id']; } $objectInstance->addData($data); - - $objectInstance = $this->helper->initialize($objectInstance); try { $usage = $objectInstance->save(); $this->_eventManager->dispatch( 'devstone_usagecalculator_usage_prepare_save', - ['object' => $this->objectFactory, 'request' => $this->getRequest(),'usage' => $usage] + ['object' => $this->objectFactory, 'request' => $this->getRequest(), 'usage' => $usage] ); $this->messageManager->addSuccessMessage(__('You saved this record.')); @@ -95,5 +98,4 @@ public function execute() } return $resultRedirect->setPath('*/*/'); } - } diff --git a/Controller/Adminhtml/Usage/Validate.php b/Controller/Adminhtml/Usage/Validate.php index 093550b..17928db 100644 --- a/Controller/Adminhtml/Usage/Validate.php +++ b/Controller/Adminhtml/Usage/Validate.php @@ -5,6 +5,7 @@ * @copyright Copyright © 2018 DevStone. All rights reserved. * @author david@nnucomputerwhiz.com */ + namespace DevStone\UsageCalculator\Controller\Adminhtml\Usage; use Magento\Backend\App\Action; diff --git a/Model/Category.php b/Model/Category.php index fcf1334..a6cdb79 100644 --- a/Model/Category.php +++ b/Model/Category.php @@ -41,7 +41,7 @@ protected function _construct() parent::_construct(); $this->_init(\DevStone\UsageCalculator\Model\ResourceModel\Category::class); } - + /** * Get identities * @@ -66,12 +66,13 @@ public function saveCollection(array $data) } return $this; } - - public function setName($name) { + + public function setName($name) + { $this->setData(self::NAME, $name); return $this; } - + public function getName() { return $this->getData(self::NAME); diff --git a/Model/CategoryRepository.php b/Model/CategoryRepository.php index 9ca3f31..2b88dea 100644 --- a/Model/CategoryRepository.php +++ b/Model/CategoryRepository.php @@ -17,22 +17,48 @@ use DevStone\UsageCalculator\Api\Data\CategoryInterfaceFactory; use DevStone\UsageCalculator\Api\Data\CategoryInterface; +/** + * Class CategoryRepository + * @package DevStone\UsageCalculator\Model + */ class CategoryRepository implements CategoryRepositoryInterface { + /** + * @var DataObjectProcessor + */ protected $dataObjectProcessor; + /** + * @var CategoryFactory + */ protected $categoryFactory; + /** + * @var DataObjectHelper + */ protected $dataObjectHelper; + /** + * @var CategoryCollectionFactory + */ protected $categoryCollectionFactory; + /** + * @var CategorySearchResultsInterfaceFactory + */ protected $searchResultsFactory; + /** + * @var ResourceCategory + */ protected $resource; + /** + * @var StoreManagerInterface + */ private $storeManager; + /** * @param ResourceCategory $resource * @param CategoryFactory $categoryFactory @@ -102,7 +128,7 @@ public function getList( \Magento\Framework\Api\SearchCriteriaInterface $criteria ) { $collection = $this->categoryCollectionFactory->create(); - + foreach ($criteria->getFilterGroups() as $filterGroup) { foreach ($filterGroup->getFilters() as $filter) { if ($filter->getField() === 'store_id') { @@ -113,7 +139,7 @@ public function getList( $collection->addFieldToFilter($filter->getField(), [$condition => $filter->getValue()]); } } - + $sortOrders = $criteria->getSortOrders(); if ($sortOrders) { /** @var SortOrder $sortOrder */ @@ -126,13 +152,13 @@ public function getList( } $collection->setCurPage($criteria->getCurrentPage()); $collection->setPageSize($criteria->getPageSize()); - + $searchResults = $this->searchResultsFactory->create(); $searchResults->setSearchCriteria($criteria); $searchResults->setTotalCount($collection->getSize()); $searchResults->setItems($collection->getItems()); return $searchResults; - + // // $searchResults = $this->searchResultsFactory->create(); // $searchResults->setSearchCriteria($searchCriteria); @@ -167,7 +193,7 @@ public function getList( // } // $searchResults->setItems($customers); // return $searchResults; - + } /** diff --git a/Model/ResourceModel/Attribute.php b/Model/ResourceModel/Attribute.php index de761c5..b765e51 100644 --- a/Model/ResourceModel/Attribute.php +++ b/Model/ResourceModel/Attribute.php @@ -5,6 +5,7 @@ * @copyright Copyright © 2018 DevStone. All rights reserved. * @author david@nnucomputerwhiz.com */ + namespace DevStone\UsageCalculator\Model\ResourceModel; use DevStone\UsageCalculator\Setup\CategorySetup; diff --git a/Model/ResourceModel/Attribute/Collection.php b/Model/ResourceModel/Attribute/Collection.php index a8f4ffa..bf2b811 100644 --- a/Model/ResourceModel/Attribute/Collection.php +++ b/Model/ResourceModel/Attribute/Collection.php @@ -1,6 +1,6 @@ _init( - \DevStone\UsageCalculator\Model\Category::class, + \DevStone\UsageCalculator\Model\Category::class, \DevStone\UsageCalculator\Model\ResourceModel\Category::class ); } diff --git a/Model/ResourceModel/Category/Grid/Collection.php b/Model/ResourceModel/Category/Grid/Collection.php index 05b9027..85729aa 100644 --- a/Model/ResourceModel/Category/Grid/Collection.php +++ b/Model/ResourceModel/Category/Grid/Collection.php @@ -41,7 +41,7 @@ class Collection extends CategoryCollection implements SearchResultInterface * @param string $model * @param null $connection * @param AbstractDb|null $resource - * + * * @SuppressWarnings(PHPMD.ExcessiveParameterList) */ public function __construct( @@ -88,7 +88,6 @@ public function setAggregations($aggregations) $this->aggregations = $aggregations; } - /** * Retrieve all ids for collection * Backward compatibility with EAV collection diff --git a/Model/ResourceModel/Customer/Collection.php b/Model/ResourceModel/Customer/Collection.php new file mode 100644 index 0000000..7d93544 --- /dev/null +++ b/Model/ResourceModel/Customer/Collection.php @@ -0,0 +1,32 @@ +getSelect() + ->columns( + ['name' => "CONCAT(e.firstname, ' ', e.lastname)"] + )->joinLeft( + ['ca' => 'customer_address_entity'], + 'e.entity_id = ca.parent_id', + [ + 'ca.company as company' + ] + )->group( + 'ca.parent_id' + ); + return $this; + } +} diff --git a/Model/ResourceModel/Size.php b/Model/ResourceModel/Size.php index d603e31..8f204c4 100644 --- a/Model/ResourceModel/Size.php +++ b/Model/ResourceModel/Size.php @@ -6,6 +6,7 @@ * @copyright Copyright © 2018 DevStone. All rights reserved. * @author david@nnucomputerwhiz.com */ + namespace DevStone\UsageCalculator\Model\ResourceModel; use Magento\Framework\Model\ResourceModel\Db\AbstractDb; diff --git a/Model/ResourceModel/Size/Collection.php b/Model/ResourceModel/Size/Collection.php index 8526272..1a2c60b 100644 --- a/Model/ResourceModel/Size/Collection.php +++ b/Model/ResourceModel/Size/Collection.php @@ -5,6 +5,7 @@ * @copyright Copyright © 2018 DevStone. All rights reserved. * @author david@nnucomputerwhiz.com */ + namespace DevStone\UsageCalculator\Model\ResourceModel\Size; use Magento\Framework\Model\ResourceModel\Db\Collection\AbstractCollection; @@ -23,6 +24,9 @@ class Collection extends AbstractCollection */ protected function _construct() { - $this->_init(\DevStone\UsageCalculator\Model\Size::class, \DevStone\UsageCalculator\Model\ResourceModel\Size::class); + $this->_init( + \DevStone\UsageCalculator\Model\Size::class, + \DevStone\UsageCalculator\Model\ResourceModel\Size::class + ); } } diff --git a/Model/ResourceModel/Size/Grid/Collection.php b/Model/ResourceModel/Size/Grid/Collection.php index 2066140..a3138ee 100644 --- a/Model/ResourceModel/Size/Grid/Collection.php +++ b/Model/ResourceModel/Size/Grid/Collection.php @@ -41,7 +41,7 @@ class Collection extends SizeCollection implements SearchResultInterface * @param string $model * @param null $connection * @param AbstractDb|null $resource - * + * * @SuppressWarnings(PHPMD.ExcessiveParameterList) */ public function __construct( diff --git a/Model/ResourceModel/Usage.php b/Model/ResourceModel/Usage.php index 755e308..5ebfe62 100644 --- a/Model/ResourceModel/Usage.php +++ b/Model/ResourceModel/Usage.php @@ -1,5 +1,4 @@ getBackend()->getEntityIdField(); - $storeId = $object->getStoreId()?:Store::DEFAULT_STORE_ID; + $storeId = $object->getStoreId() ?: Store::DEFAULT_STORE_ID; $data = [ $entityIdField => $object->getId(), 'attribute_id' => $attribute->getId(), diff --git a/Model/ResourceModel/Usage/Collection.php b/Model/ResourceModel/Usage/Collection.php index b578e34..d5acf36 100644 --- a/Model/ResourceModel/Usage/Collection.php +++ b/Model/ResourceModel/Usage/Collection.php @@ -94,7 +94,8 @@ public function __construct( */ protected function _construct() { - $this->_init(\DevStone\UsageCalculator\Model\Usage::class, \DevStone\UsageCalculator\Model\ResourceModel\Usage::class); + $this->_init(\DevStone\UsageCalculator\Model\Usage::class, + \DevStone\UsageCalculator\Model\ResourceModel\Usage::class); } /** diff --git a/Model/ResourceModel/Usage/Option.php b/Model/ResourceModel/Usage/Option.php index d53ec24..a8c4d27 100644 --- a/Model/ResourceModel/Usage/Option.php +++ b/Model/ResourceModel/Usage/Option.php @@ -60,7 +60,7 @@ public function __construct( */ protected function _construct() { - $this->_init(\DevStone\UsageCalculator\Setup\UsageSetup::ENTITY_TYPE_CODE.'_option', 'option_id'); + $this->_init(\DevStone\UsageCalculator\Setup\UsageSetup::ENTITY_TYPE_CODE . '_option', 'option_id'); } /** @@ -73,7 +73,7 @@ protected function _afterSave(\Magento\Framework\Model\AbstractModel $object) { $this->_saveValuePrices($object); $this->_saveValueTitles($object); - $this->_saveValueHelps($object); + $this->_saveValueHelps($object); return parent::_afterSave($object); } @@ -88,7 +88,7 @@ protected function _afterSave(\Magento\Framework\Model\AbstractModel $object) */ protected function _saveValuePrices(\Magento\Framework\Model\AbstractModel $object) { - $priceTable = $this->getTable(\DevStone\UsageCalculator\Setup\UsageSetup::ENTITY_TYPE_CODE.'_option_price'); + $priceTable = $this->getTable(\DevStone\UsageCalculator\Setup\UsageSetup::ENTITY_TYPE_CODE . '_option_price'); $connection = $this->getConnection(); /* @@ -229,7 +229,7 @@ protected function _saveValuePrices(\Magento\Framework\Model\AbstractModel $obje protected function _saveValueTitles(\Magento\Framework\Model\AbstractModel $object) { $connection = $this->getConnection(); - $titleTableName = $this->getTable(\DevStone\UsageCalculator\Setup\UsageSetup::ENTITY_TYPE_CODE.'_option_title'); + $titleTableName = $this->getTable(\DevStone\UsageCalculator\Setup\UsageSetup::ENTITY_TYPE_CODE . '_option_title'); foreach ([\Magento\Store\Model\Store::DEFAULT_STORE_ID, $object->getStoreId()] as $storeId) { $existInCurrentStore = $this->getColFromOptionTable($titleTableName, (int)$object->getId(), (int)$storeId); $existInDefaultStore = (int)$storeId == \Magento\Store\Model\Store::DEFAULT_STORE_ID ? @@ -296,7 +296,7 @@ protected function _saveValueTitles(\Magento\Framework\Model\AbstractModel $obje } } } - + /** * Save titles * @@ -307,7 +307,7 @@ protected function _saveValueTitles(\Magento\Framework\Model\AbstractModel $obje protected function _saveValueHelps(\Magento\Framework\Model\AbstractModel $object) { $connection = $this->getConnection(); - $titleTableName = $this->getTable(\DevStone\UsageCalculator\Setup\UsageSetup::ENTITY_TYPE_CODE.'_option_help'); + $titleTableName = $this->getTable(\DevStone\UsageCalculator\Setup\UsageSetup::ENTITY_TYPE_CODE . '_option_help'); foreach ([\Magento\Store\Model\Store::DEFAULT_STORE_ID, $object->getStoreId()] as $storeId) { $existInCurrentStore = $this->getColFromOptionTable($titleTableName, (int)$object->getId(), (int)$storeId); $existInDefaultStore = (int)$storeId == \Magento\Store\Model\Store::DEFAULT_STORE_ID ? @@ -408,7 +408,7 @@ protected function getColFromOptionTable($tableName, $optionId, $storeId) public function deletePrices($optionId) { $this->getConnection()->delete( - $this->getTable(\DevStone\UsageCalculator\Setup\UsageSetup::ENTITY_TYPE_CODE.'_option_price'), + $this->getTable(\DevStone\UsageCalculator\Setup\UsageSetup::ENTITY_TYPE_CODE . '_option_price'), ['option_id = ?' => $optionId] ); @@ -424,14 +424,14 @@ public function deletePrices($optionId) public function deleteTitles($optionId) { $this->getConnection()->delete( - $this->getTable(\DevStone\UsageCalculator\Setup\UsageSetup::ENTITY_TYPE_CODE.'_option_title'), + $this->getTable(\DevStone\UsageCalculator\Setup\UsageSetup::ENTITY_TYPE_CODE . '_option_title'), ['option_id = ?' => $optionId] ); return $this; } - - /** + + /** * Delete helps * * @param int $optionId @@ -440,7 +440,7 @@ public function deleteTitles($optionId) public function deleteHelps($optionId) { $this->getConnection()->delete( - $this->getTable(\DevStone\UsageCalculator\Setup\UsageSetup::ENTITY_TYPE_CODE.'_option_help'), + $this->getTable(\DevStone\UsageCalculator\Setup\UsageSetup::ENTITY_TYPE_CODE . '_option_help'), ['option_id = ?' => $optionId] ); @@ -464,7 +464,7 @@ public function duplicate(\Magento\Catalog\Model\Product\Option $object, $oldPro // read and prepare original product options $select = $connection->select()->from( - $this->getTable(\DevStone\UsageCalculator\Setup\UsageSetup::ENTITY_TYPE_CODE.'_option') + $this->getTable(\DevStone\UsageCalculator\Setup\UsageSetup::ENTITY_TYPE_CODE . '_option') )->where( 'product_id = ?', $oldProductId @@ -487,7 +487,7 @@ public function duplicate(\Magento\Catalog\Model\Product\Option $object, $oldPro // copy options prefs foreach ($optionsCond as $oldOptionId => $newOptionId) { // title - $table = $this->getTable(\DevStone\UsageCalculator\Setup\UsageSetup::ENTITY_TYPE_CODE.'_option_title'); + $table = $this->getTable(\DevStone\UsageCalculator\Setup\UsageSetup::ENTITY_TYPE_CODE . '_option_title'); $select = $this->getConnection()->select()->from( $table, @@ -504,9 +504,9 @@ public function duplicate(\Magento\Catalog\Model\Product\Option $object, $oldPro \Magento\Framework\DB\Adapter\AdapterInterface::INSERT_ON_DUPLICATE ); $connection->query($insertSelect); - - // help - $table = $this->getTable(\DevStone\UsageCalculator\Setup\UsageSetup::ENTITY_TYPE_CODE.'_option_help'); + + // help + $table = $this->getTable(\DevStone\UsageCalculator\Setup\UsageSetup::ENTITY_TYPE_CODE . '_option_help'); $select = $this->getConnection()->select()->from( $table, @@ -525,7 +525,7 @@ public function duplicate(\Magento\Catalog\Model\Product\Option $object, $oldPro $connection->query($insertSelect); // price - $table = $this->getTable(\DevStone\UsageCalculator\Setup\UsageSetup::ENTITY_TYPE_CODE.'_option_price'); + $table = $this->getTable(\DevStone\UsageCalculator\Setup\UsageSetup::ENTITY_TYPE_CODE . '_option_price'); $select = $connection->select()->from( $table, diff --git a/Model/ResourceModel/Usage/Option/Collection.php b/Model/ResourceModel/Usage/Option/Collection.php index 7385ea3..ae3d09b 100644 --- a/Model/ResourceModel/Usage/Option/Collection.php +++ b/Model/ResourceModel/Usage/Option/Collection.php @@ -105,7 +105,7 @@ public function getOptions($storeId) */ public function addTitleToResult($storeId) { - $productOptionTitleTable = $this->getTable(\DevStone\UsageCalculator\Setup\UsageSetup::ENTITY_TYPE_CODE.'_option_title'); + $productOptionTitleTable = $this->getTable(\DevStone\UsageCalculator\Setup\UsageSetup::ENTITY_TYPE_CODE . '_option_title'); $connection = $this->getConnection(); $titleExpr = $connection->getCheckSql( 'store_option_title.title IS NULL', @@ -131,8 +131,8 @@ public function addTitleToResult($storeId) return $this; } - - /** + + /** * Add help to result * * @param int $storeId @@ -140,7 +140,7 @@ public function addTitleToResult($storeId) */ public function addHelpToResult($storeId) { - $productOptionTitleTable = $this->getTable(\DevStone\UsageCalculator\Setup\UsageSetup::ENTITY_TYPE_CODE.'_option_help'); + $productOptionTitleTable = $this->getTable(\DevStone\UsageCalculator\Setup\UsageSetup::ENTITY_TYPE_CODE . '_option_help'); $connection = $this->getConnection(); $helpExpr = $connection->getCheckSql( 'store_option_help.help IS NULL', @@ -175,7 +175,7 @@ public function addHelpToResult($storeId) */ public function addPriceToResult($storeId) { - $productOptionPriceTable = $this->getTable(\DevStone\UsageCalculator\Setup\UsageSetup::ENTITY_TYPE_CODE.'_option_price'); + $productOptionPriceTable = $this->getTable(\DevStone\UsageCalculator\Setup\UsageSetup::ENTITY_TYPE_CODE . '_option_price'); $connection = $this->getConnection(); $priceExpr = $connection->getCheckSql( 'store_option_price.price IS NULL', @@ -286,7 +286,7 @@ protected function _initSelect() { parent::_initSelect(); $this->getSelect()->join( - ['cpe' => $this->getTable(\DevStone\UsageCalculator\Setup\UsageSetup::ENTITY_TYPE_CODE.'_entity')], + ['cpe' => $this->getTable(\DevStone\UsageCalculator\Setup\UsageSetup::ENTITY_TYPE_CODE . '_entity')], 'cpe.entity_id = main_table.usage_id', [] ); @@ -306,8 +306,8 @@ public function getUsageOptions($usageId, $storeId, $requiredOnly = false) )->addTitleToResult( $storeId )->addHelpToResult( - $storeId - )->addPriceToResult( + $storeId + )->addPriceToResult( $storeId )->setOrder( 'sort_order', diff --git a/Model/ResourceModel/Usage/Option/Value.php b/Model/ResourceModel/Usage/Option/Value.php index 5cef80d..099193c 100644 --- a/Model/ResourceModel/Usage/Option/Value.php +++ b/Model/ResourceModel/Usage/Option/Value.php @@ -77,7 +77,8 @@ public function __construct( */ protected function _construct() { - $this->_init(\DevStone\UsageCalculator\Setup\UsageSetup::ENTITY_TYPE_CODE.'_option_type_value', 'option_type_id'); + $this->_init(\DevStone\UsageCalculator\Setup\UsageSetup::ENTITY_TYPE_CODE . '_option_type_value', + 'option_type_id'); } /** @@ -106,7 +107,7 @@ protected function _afterSave(AbstractModel $object) protected function _saveValuePrices(AbstractModel $object) { $objectPrice = $object->getPrice(); - $priceTable = $this->getTable(\DevStone\UsageCalculator\Setup\UsageSetup::ENTITY_TYPE_CODE.'_option_type_price'); + $priceTable = $this->getTable(\DevStone\UsageCalculator\Setup\UsageSetup::ENTITY_TYPE_CODE . '_option_type_price'); $formattedPrice = $this->getLocaleFormatter()->getNumber($objectPrice); $price = (double)sprintf('%F', $formattedPrice); @@ -235,7 +236,7 @@ protected function _saveValuePrices(AbstractModel $object) protected function _saveValueTitles(AbstractModel $object) { foreach ([Store::DEFAULT_STORE_ID, $object->getStoreId()] as $storeId) { - $titleTable = $this->getTable(\DevStone\UsageCalculator\Setup\UsageSetup::ENTITY_TYPE_CODE.'_option_type_title'); + $titleTable = $this->getTable(\DevStone\UsageCalculator\Setup\UsageSetup::ENTITY_TYPE_CODE . '_option_type_title'); $select = $this->getConnection()->select()->from( $titleTable, ['option_type_id'] @@ -329,7 +330,7 @@ protected function getOptionIdFromOptionTable($tableName, $optionId, $storeId) public function deleteValue($optionId) { $statement = $this->getConnection()->select()->from( - $this->getTable(\DevStone\UsageCalculator\Setup\UsageSetup::ENTITY_TYPE_CODE.'_option_type_value') + $this->getTable(\DevStone\UsageCalculator\Setup\UsageSetup::ENTITY_TYPE_CODE . '_option_type_value') )->where( 'option_id = ?', $optionId @@ -356,9 +357,11 @@ public function deleteValues($optionTypeId) { $condition = ['option_type_id = ?' => $optionTypeId]; - $this->getConnection()->delete($this->getTable(\DevStone\UsageCalculator\Setup\UsageSetup::ENTITY_TYPE_CODE.'_option_type_price'), $condition); + $this->getConnection()->delete($this->getTable(\DevStone\UsageCalculator\Setup\UsageSetup::ENTITY_TYPE_CODE . '_option_type_price'), + $condition); - $this->getConnection()->delete($this->getTable(\DevStone\UsageCalculator\Setup\UsageSetup::ENTITY_TYPE_CODE.'_option_type_title'), $condition); + $this->getConnection()->delete($this->getTable(\DevStone\UsageCalculator\Setup\UsageSetup::ENTITY_TYPE_CODE . '_option_type_title'), + $condition); } /** @@ -390,7 +393,7 @@ public function duplicate(OptionValue $object, $oldOptionId, $newOptionId) foreach ($valueCond as $oldTypeId => $newTypeId) { // price - $priceTable = $this->getTable(\DevStone\UsageCalculator\Setup\UsageSetup::ENTITY_TYPE_CODE.'_option_type_price'); + $priceTable = $this->getTable(\DevStone\UsageCalculator\Setup\UsageSetup::ENTITY_TYPE_CODE . '_option_type_price'); $columns = [new \Zend_Db_Expr($newTypeId), 'store_id', 'price', 'price_type']; $select = $connection->select()->from( @@ -410,7 +413,7 @@ public function duplicate(OptionValue $object, $oldOptionId, $newOptionId) $connection->query($insertSelect); // title - $titleTable = $this->getTable(\DevStone\UsageCalculator\Setup\UsageSetup::ENTITY_TYPE_CODE.'_option_type_title'); + $titleTable = $this->getTable(\DevStone\UsageCalculator\Setup\UsageSetup::ENTITY_TYPE_CODE . '_option_type_title'); $columns = [new \Zend_Db_Expr($newTypeId), 'store_id', 'title']; $select = $this->getConnection()->select()->from( diff --git a/Model/ResourceModel/Usage/Option/Value/Collection.php b/Model/ResourceModel/Usage/Option/Value/Collection.php index 4d07819..c4d67e5 100644 --- a/Model/ResourceModel/Usage/Option/Value/Collection.php +++ b/Model/ResourceModel/Usage/Option/Value/Collection.php @@ -44,8 +44,12 @@ public function getValues($storeId) public function addTitlesToResult($storeId) { $connection = $this->getConnection(); - $optionTypePriceTable = $this->getTable(\DevStone\UsageCalculator\Setup\UsageSetup::ENTITY_TYPE_CODE.'_option_type_price'); - $optionTitleTable = $this->getTable(\DevStone\UsageCalculator\Setup\UsageSetup::ENTITY_TYPE_CODE.'_option_type_title'); + $optionTypePriceTable = $this->getTable( + \DevStone\UsageCalculator\Setup\UsageSetup::ENTITY_TYPE_CODE . '_option_type_price' + ); + $optionTitleTable = $this->getTable( + \DevStone\UsageCalculator\Setup\UsageSetup::ENTITY_TYPE_CODE . '_option_type_title' + ); $priceExpr = $connection->getCheckSql( 'store_value_price.price IS NULL', 'default_value_price.price', @@ -68,9 +72,9 @@ public function addTitlesToResult($storeId) $connection->quoteInto('store_value_price.store_id = ?', $storeId); $joinExprTitle = 'store_value_title.option_type_id = main_table.option_type_id AND ' . $connection->quoteInto( - 'store_value_title.store_id = ?', - $storeId - ); + 'store_value_title.store_id = ?', + $storeId + ); $this->getSelect()->joinLeft( ['default_value_price' => $optionTypePriceTable], @@ -109,7 +113,9 @@ public function addTitlesToResult($storeId) */ public function addTitleToResult($storeId) { - $optionTitleTable = $this->getTable(\DevStone\UsageCalculator\Setup\UsageSetup::ENTITY_TYPE_CODE.'_option_type_title'); + $optionTitleTable = $this->getTable( + \DevStone\UsageCalculator\Setup\UsageSetup::ENTITY_TYPE_CODE . '_option_type_title' + ); $titleExpr = $this->getConnection()->getCheckSql( 'store_value_title.title IS NULL', 'default_value_title.title', @@ -142,7 +148,9 @@ public function addTitleToResult($storeId) */ public function addPriceToResult($storeId) { - $optionTypeTable = $this->getTable(\DevStone\UsageCalculator\Setup\UsageSetup::ENTITY_TYPE_CODE.'_option_type_price'); + $optionTypeTable = $this->getTable( + \DevStone\UsageCalculator\Setup\UsageSetup::ENTITY_TYPE_CODE . '_option_type_price' + ); $priceExpr = $this->getConnection()->getCheckSql( 'store_value_price.price IS NULL', 'default_value_price.price', diff --git a/Model/ResourceModel/UsageCustomer.php b/Model/ResourceModel/UsageCustomer.php index 472ddbe..7b92725 100644 --- a/Model/ResourceModel/UsageCustomer.php +++ b/Model/ResourceModel/UsageCustomer.php @@ -2,19 +2,20 @@ namespace DevStone\UsageCalculator\Model\ResourceModel; - /** * Class UsageCustomer * @package DevStone\UsageCalculator\Model\ResourceModel */ class UsageCustomer extends \Magento\Framework\Model\ResourceModel\Db\AbstractDb { - /** * */ protected function _construct() { - $this->_init(\DevStone\UsageCalculator\Setup\UsageSetup::ENTITY_TYPE_CODE.'_customer', 'entity_id'); + $this->_init( + \DevStone\UsageCalculator\Setup\UsageSetup::ENTITY_TYPE_CODE . '_customer', + 'entity_id' + ); } } \ No newline at end of file diff --git a/Model/ResourceModel/UsageCustomer/Collection.php b/Model/ResourceModel/UsageCustomer/Collection.php index 4809e37..17cfc63 100644 --- a/Model/ResourceModel/UsageCustomer/Collection.php +++ b/Model/ResourceModel/UsageCustomer/Collection.php @@ -15,6 +15,7 @@ class Collection extends \Magento\Framework\Model\ResourceModel\Db\Collection\Ab */ protected function _construct() { - $this->_init(\DevStone\UsageCalculator\Model\UsageCustomer::class, \DevStone\UsageCalculator\Model\ResourceModel\UsageCustomer::class); + $this->_init(\DevStone\UsageCalculator\Model\UsageCustomer::class, + \DevStone\UsageCalculator\Model\ResourceModel\UsageCustomer::class); } } \ No newline at end of file diff --git a/Model/Size.php b/Model/Size.php index ead0826..5189de2 100644 --- a/Model/Size.php +++ b/Model/Size.php @@ -30,7 +30,7 @@ class Size extends AbstractModel implements IdentityInterface * @var string */ protected $_eventPrefix = 'devstone_usagecalculator_size'; - + protected $_idFieldName = 'entity_id'; /** diff --git a/Model/SizeRepository.php b/Model/SizeRepository.php index a367c96..30d6ded 100644 --- a/Model/SizeRepository.php +++ b/Model/SizeRepository.php @@ -16,23 +16,51 @@ use Magento\Framework\Api\DataObjectHelper; use DevStone\UsageCalculator\Api\Data\SizeInterfaceFactory; +/** + * Class SizeRepository + * @package DevStone\UsageCalculator\Model + */ class SizeRepository implements SizeRepositoryInterface { + /** + * @var SizeInterfaceFactory + */ protected $dataSizeFactory; + /** + * @var DataObjectProcessor + */ protected $dataObjectProcessor; + /** + * @var SizeFactory + */ protected $sizeFactory; + /** + * @var DataObjectHelper + */ protected $dataObjectHelper; + /** + * @var SizeCollectionFactory + */ protected $sizeCollectionFactory; + /** + * @var SizeSearchResultsInterfaceFactory + */ protected $searchResultsFactory; + /** + * @var ResourceSize + */ protected $resource; + /** + * @var StoreManagerInterface + */ private $storeManager; @@ -117,7 +145,7 @@ public function getList( $collection->addFieldToFilter($filter->getField(), [$condition => $filter->getValue()]); } } - + $sortOrders = $criteria->getSortOrders(); if ($sortOrders) { /** @var SortOrder $sortOrder */ @@ -130,7 +158,7 @@ public function getList( } $collection->setCurPage($criteria->getCurrentPage()); $collection->setPageSize($criteria->getPageSize()); - + $searchResults = $this->searchResultsFactory->create(); $searchResults->setSearchCriteria($criteria); $searchResults->setTotalCount($collection->getSize()); diff --git a/Model/Usage.php b/Model/Usage.php index 45d8c2e..446f965 100644 --- a/Model/Usage.php +++ b/Model/Usage.php @@ -12,6 +12,10 @@ use Magento\Framework\DataObject\IdentityInterface; use Magento\Framework\Model\AbstractModel; +/** + * Class Usage + * @package DevStone\UsageCalculator\Model + */ class Usage extends AbstractModel implements IdentityInterface, \DevStone\UsageCalculator\Api\Data\UsageInterface { /** @@ -66,7 +70,7 @@ public function saveCollection(array $data) } return $this; } - + /** * Get all options of usage * @@ -86,23 +90,30 @@ public function setOptions(array $options = null) $this->setData('options', $options); return $this; } - - public function afterSave() + + /** + * @return AbstractModel|void + */ + public function afterSave() { parent::afterSave(); - + $saveHandler = \Magento\Framework\App\ObjectManager::getInstance() ->get(\DevStone\UsageCalculator\Model\Usage\Option\SaveHandler::class); - + $saveHandler->execute($this); } - - public function afterLoad() { + + /** + * @return AbstractModel|void + */ + public function afterLoad() + { parent::afterLoad(); - + $readHandler = \Magento\Framework\App\ObjectManager::getInstance() ->get(\DevStone\UsageCalculator\Model\Usage\Option\ReadHandler::class); - + $readHandler->execute($this); } @@ -113,7 +124,7 @@ public function afterLoad() { */ public function setCategoryId($categoryId) { - return $this->setData('category_id',$categoryId); + return $this->setData('category_id', $categoryId); } /** diff --git a/Model/Usage/CatagoriesOptionsProvider.php b/Model/Usage/CatagoriesOptionsProvider.php index 6bf4b33..76e7a5a 100644 --- a/Model/Usage/CatagoriesOptionsProvider.php +++ b/Model/Usage/CatagoriesOptionsProvider.php @@ -1,9 +1,16 @@ categoryRepository = $categoryRepository; $this->searchCriteriaBuilder = $searchCriteriaBuilder; $this->objectConverter = $objectConverter; + $this->scopeConfig = $scopeConfig; } /** * @return array * @throws \Magento\Framework\Exception\LocalizedException */ - public function toOptionArray() + public function allOptionsExcludingCustomLicense() { - $searchCriteria = $this->searchCriteriaBuilder->addFilter('name', - \DevStone\UsageCalculator\Model\Usage\CatagoriesOptionsProvider::CUSTOM_LICENSE, 'neq')->create(); + $searchCriteria = $this->searchCriteriaBuilder + ->addFilter('name', self::CUSTOM_LICENSE, 'neq') + ->create(); $catagories = $this->categoryRepository->getList($searchCriteria)->getItems(); return $this->objectConverter->toOptionArray($catagories, 'entity_id', 'name'); } @@ -53,10 +69,22 @@ public function toOptionArray() * @return array * @throws \Magento\Framework\Exception\LocalizedException */ - public function customToOptionArray() + public function customLicenseOption() + { + $searchCriteria = $this->searchCriteriaBuilder + ->addFilter('name', self::CUSTOM_LICENSE, 'eq') + ->create(); + $catagories = $this->categoryRepository->getList($searchCriteria)->getItems(); + return $this->objectConverter->toOptionArray($catagories, 'entity_id', 'name'); + } + + /** + * Return array of options as value-label pair + * @return array Format: array(array('value' => '', 'label' => '