From c457b98b8e2ec7d7ecb9d2358711268b928e7e36 Mon Sep 17 00:00:00 2001 From: jitendra Date: Fri, 14 Oct 2022 20:15:31 +0530 Subject: [PATCH] Removed ProductRepository from Velocity --- .../Http/Controllers/Shop/ShopController.php | 9 +- .../Product/ProductRepository.php | 128 ------------------ 2 files changed, 4 insertions(+), 133 deletions(-) delete mode 100644 packages/Webkul/Velocity/src/Repositories/Product/ProductRepository.php diff --git a/packages/Webkul/Velocity/src/Http/Controllers/Shop/ShopController.php b/packages/Webkul/Velocity/src/Http/Controllers/Shop/ShopController.php index 73d4d32c9..b65ce7918 100644 --- a/packages/Webkul/Velocity/src/Http/Controllers/Shop/ShopController.php +++ b/packages/Webkul/Velocity/src/Http/Controllers/Shop/ShopController.php @@ -6,7 +6,6 @@ use Webkul\Velocity\Helpers\Helper; use Webkul\Product\Repositories\ProductRepository; use Webkul\Customer\Repositories\WishlistRepository; use Webkul\Category\Repositories\CategoryRepository; -use Webkul\Velocity\Repositories\Product\ProductRepository as VelocityProductRepository; use Webkul\Velocity\Repositories\VelocityCustomerCompareProductRepository as CustomerCompareProductRepository; use Webkul\Product\Facades\ProductImage; @@ -26,7 +25,6 @@ class ShopController extends Controller * @param \Webkul\Product\Repositories\ProductRepository $productRepository * @param \Webkul\Product\Repositories\WishlistRepository $wishlistRepository * @param \Webkul\Category\Repositories\CategoryRepository $categoryRepository - * @param \Webkul\Velocity\Repositories\Product\ProductRepository $velocityProductRepository * @param \Webkul\Velocity\Repositories\VelocityCustomerCompareProductRepository $compareProductsRepository * * @return void @@ -36,7 +34,6 @@ class ShopController extends Controller protected ProductRepository $productRepository, protected WishlistRepository $wishlistRepository, protected CategoryRepository $categoryRepository, - protected VelocityProductRepository $velocityProductRepository, protected CustomerCompareProductRepository $compareProductsRepository ) { @@ -50,7 +47,9 @@ class ShopController extends Controller */ public function search() { - $results = $this->velocityProductRepository->searchProductsFromCategory(request()->all()); + request()->query->add(['name' => request('term')]); + + $results = $this->productRepository->getAll(request('category')); return view($this->_config['view'])->with('results', $results ? $results : null); } @@ -123,7 +122,7 @@ class ShopController extends Controller ]); } - $products = $this->velocityProductRepository->getAll(); + $products = $this->productRepository->getAll(); $response = [ 'status' => true, diff --git a/packages/Webkul/Velocity/src/Repositories/Product/ProductRepository.php b/packages/Webkul/Velocity/src/Repositories/Product/ProductRepository.php deleted file mode 100644 index f0b870b8f..000000000 --- a/packages/Webkul/Velocity/src/Repositories/Product/ProductRepository.php +++ /dev/null @@ -1,128 +0,0 @@ -productFlatRepository->scopeQuery(function($query) use($params) { - $channel = core()->getRequestedChannelCode(); - - $locale = core()->getRequestedLocaleCode(); - - $query = $query->distinct() - ->addSelect('product_flat.*') - ->leftJoin('products', 'product_flat.product_id', '=', 'products.id') - ->leftJoin('product_categories', 'products.id', '=', 'product_categories.product_id') - ->where('product_flat.status', 1) - ->where('product_flat.visible_individually', 1) - ->where('product_flat.channel', $channel) - ->where('product_flat.locale', $locale) - ->whereNotNull('product_flat.url_key'); - - if (! empty($params['term'])) { - $query->where('product_flat.name', 'like', '%' . urldecode($params['term']) . '%'); - } - - if (! empty($params['category'])) { - $query = $query->where('product_categories.category_id', $params['category']); - } - - if (isset($params['sort'])) { - $attribute = $this->attributeRepository->findOneByField('code', $params['sort']); - - if ($params['sort'] == 'price') { - if ($attribute->code == 'price') { - $query->orderBy('min_price', $params['order']); - } else { - $query->orderBy($attribute->code, $params['order']); - } - } else { - $query->orderBy($params['sort'] == 'created_at' ? 'product_flat.created_at' : $attribute->code, $params['order']); - } - } - - $query = $query->leftJoin('products as variants', 'products.id', '=', 'variants.parent_id'); - - $query = $query->where(function($query1) use($query) { - $aliases = [ - 'products' => 'filter_', - 'variants' => 'variant_filter_', - ]; - - foreach($aliases as $table => $alias) { - $query1 = $query1->orWhere(function($query2) use ($query, $table, $alias) { - - foreach ($this->attributeRepository->getProductDefaultAttributes(array_keys(request()->input())) as $code => $attribute) { - $aliasTemp = $alias . $attribute->code; - - $query = $query->leftJoin('product_attribute_values as ' . $aliasTemp, $table . '.id', '=', $aliasTemp . '.product_id'); - - $column = $attribute->column_name; - - $temp = explode(',', request()->get($attribute->code)); - - if ($attribute->type != 'price') { - $query2 = $query2->where($aliasTemp . '.attribute_id', $attribute->id); - - $query2 = $query2->where(function($query3) use($aliasTemp, $column, $temp) { - foreach($temp as $code => $filterValue) { - if (! is_numeric($filterValue)) - continue; - - $columns = $aliasTemp . '.' . $column; - $query3 = $query3->orWhereRaw("find_in_set($filterValue, $columns)"); - } - }); - } else { - $query2->where('product_flat.min_price', '>=', core()->convertToBasePrice(current($temp))) - ->where('product_flat.min_price', '<=', core()->convertToBasePrice(end($temp))); - } - } - }); - } - }); - - return $query->groupBy('product_flat.id'); - })->paginate($params['limit'] ?? 9); - - return $results; - } -} \ No newline at end of file