From 714d9deed12fce03f124c33211ec89644c0429cd Mon Sep 17 00:00:00 2001 From: Prashant Singh Date: Mon, 24 Jun 2019 11:22:06 +0530 Subject: [PATCH] updated package of customer group catalog --- .../src/Repositories/CategoryRepository.php | 41 +++++++++++++++---- .../src/Resources/lang/en/app.php | 3 +- .../admin/customers/groups/create.blade.php | 16 +++++--- .../admin/customers/groups/edit.blade.php | 21 ++++++---- .../Controllers/StripeConnectController.php | 6 +-- 5 files changed, 62 insertions(+), 25 deletions(-) diff --git a/packages/Webkul/CustomerGroupCatalog/src/Repositories/CategoryRepository.php b/packages/Webkul/CustomerGroupCatalog/src/Repositories/CategoryRepository.php index b96166c7b..e65b49c3f 100644 --- a/packages/Webkul/CustomerGroupCatalog/src/Repositories/CategoryRepository.php +++ b/packages/Webkul/CustomerGroupCatalog/src/Repositories/CategoryRepository.php @@ -40,18 +40,39 @@ class CategoryRepository extends BaseCategoryRepository { static $categories = []; - if(array_key_exists($id, $categories)) + if (array_key_exists($id, $categories)) return $categories[$id]; $customer = auth()->guard(request()->has('token') ? 'api' : 'customer')->user(); - + $categoryIds = []; + $categoryShowId = []; if (! $customer) { $categoryIds = app('Webkul\CustomerGroupCatalog\Repositories\CustomerGroupRepository')->findOneByField('code', 'guest')->categories()->pluck('id'); } else { if ($customer->group) { - $categoryIds = app('Webkul\CustomerGroupCatalog\Repositories\CustomerGroupRepository')->find($customer->group->id)->categories()->pluck('id'); + $categoryIds = app('Webkul\CustomerGroupCatalog\Repositories\CustomerGroupRepository')->find($customer->group->id)->categories()->get(); + + $parentIds = app('Webkul\CustomerGroupCatalog\Repositories\CustomerGroupRepository')->find($customer->group->id)->categories()->pluck('parent_id')->toArray(); + + if (in_array(NULL, $parentIds)) { + foreach ($categoryIds as $categoryId) { + foreach ($parentIds as $parentId) { + if ($categoryId->parent_id == $parentId) { + $categoryShowId[] = $categoryId->id; + } + } + } + + if (count($categoryShowId) > 0) { + $categoryIds = array_unique($categoryShowId); + } else { + $categoryIds = []; + } + } else { + $categoryIds = []; + } } } @@ -59,12 +80,14 @@ class CategoryRepository extends BaseCategoryRepository $categories[$id] = $id ? $this->model::orderBy('position', 'ASC')->where('status', 1)->whereIn('id', $categoryIds)->descendantsOf($id)->toTree() : $this->model::orderBy('position', 'ASC')->where('status', 1)->whereIn('id', $categoryIds)->get()->toTree(); - } else { - $categories[$id] = $id - ? $this->model::orderBy('position', 'ASC')->where('status', 1)->descendantsOf($id)->toTree() - : $this->model::orderBy('position', 'ASC')->where('status', 1)->get()->toTree(); - } - return $categories[$id]; + return $categories[$id]; + } else { + // $categories[$id] = $id + // ? $this->model::orderBy('position', 'ASC')->where('status', 1)->descendantsOf($id)->toTree() + // : $this->model::orderBy('position', 'ASC')->where('status', 1)->get()->toTree(); + + return []; + } } } \ No newline at end of file diff --git a/packages/Webkul/CustomerGroupCatalog/src/Resources/lang/en/app.php b/packages/Webkul/CustomerGroupCatalog/src/Resources/lang/en/app.php index e59dc2c4b..a48dab7e9 100644 --- a/packages/Webkul/CustomerGroupCatalog/src/Resources/lang/en/app.php +++ b/packages/Webkul/CustomerGroupCatalog/src/Resources/lang/en/app.php @@ -7,7 +7,8 @@ return [ 'linked-product-categories' => 'Linked Products and Categories', 'categories' => 'Categories', 'products' => 'Products', - 'search-hint' => 'Start typing name' + 'search-hint' => 'Start typing name', + 'no-result-found' => 'Categories not found with same name.' ] ] ]; \ No newline at end of file diff --git a/packages/Webkul/CustomerGroupCatalog/src/Resources/views/admin/customers/groups/create.blade.php b/packages/Webkul/CustomerGroupCatalog/src/Resources/views/admin/customers/groups/create.blade.php index 7b6624eb0..d8fde03ef 100644 --- a/packages/Webkul/CustomerGroupCatalog/src/Resources/views/admin/customers/groups/create.blade.php +++ b/packages/Webkul/CustomerGroupCatalog/src/Resources/views/admin/customers/groups/create.blade.php @@ -12,7 +12,7 @@

- + {{ __('admin::app.customers.groups.add-title') }}

@@ -31,6 +31,12 @@
+
+ + + @{{ errors.first('code') }} +
+