From aaff314fb3ca29a7a953408c245d7e9318fc7fb4 Mon Sep 17 00:00:00 2001 From: merdan Date: Fri, 23 Sep 2022 16:00:12 +0500 Subject: [PATCH] menu brand links test ready --- .../API/Http/Controllers/SearchController.php | 7 +- .../Admin/src/Http/Controllers/Menus.php | 20 ++- .../Sarga/Admin/src/Resources/lang/en/app.php | 28 ++-- .../views/catalog/menus/create.blade.php | 20 +-- .../views/catalog/menus/edit.blade.php | 7 +- .../catalog/menus/menu-brand-links.blade.php | 140 ++++++++++++++++ .../views/catalog/menus/menu-links.blade.php | 153 ------------------ .../Sarga/Admin/src/Routes/catalog-routes.php | 4 +- .../src/Repositories/BrandRepository.php | 11 ++ 9 files changed, 204 insertions(+), 186 deletions(-) create mode 100644 packages/Sarga/Admin/src/Resources/views/catalog/menus/menu-brand-links.blade.php delete mode 100644 packages/Sarga/Admin/src/Resources/views/catalog/menus/menu-links.blade.php diff --git a/packages/Sarga/API/Http/Controllers/SearchController.php b/packages/Sarga/API/Http/Controllers/SearchController.php index 8a038fcd4..aeb5b1e8a 100644 --- a/packages/Sarga/API/Http/Controllers/SearchController.php +++ b/packages/Sarga/API/Http/Controllers/SearchController.php @@ -39,12 +39,7 @@ class SearchController extends V1Controller } private function searchBrands($key){ - $brands = $this->brandRepository->getModel()::search(implode(' OR ', $key)) -// ->where('status',1) -// ->orderBy('name','asc') - ->take(10) - ->query(fn ($query) => $query->select('id','name')->orderBy('name')) - ->get(); + $brands = $this->brandRepository->search($key); if($brands->count()){ $brands->flatMap(fn ($val) => $val['suggestion_type']='brand'); diff --git a/packages/Sarga/Admin/src/Http/Controllers/Menus.php b/packages/Sarga/Admin/src/Http/Controllers/Menus.php index b26b4a9b7..b1dbb989d 100644 --- a/packages/Sarga/Admin/src/Http/Controllers/Menus.php +++ b/packages/Sarga/Admin/src/Http/Controllers/Menus.php @@ -5,6 +5,7 @@ use Sarga\Admin\DataGrids\MenuDataGrid; use Sarga\Admin\Http\Requests\MenuRequest; use Sarga\Shop\Repositories\CategoryRepository; use Sarga\Shop\Repositories\MenuRepository; +use Sarga\Brand\Repositories\BrandRepository; use Webkul\Admin\Http\Controllers\Controller; class Menus extends Controller @@ -53,10 +54,27 @@ class Menus extends Controller } public function update(MenuRequest $request,$id){ - $menu = $this->categoryRepository->update($request->all(), $id); + $menu = $this->mRepository->update($request->all(), $id); session()->flash('success', trans('admin::app.response.update-success', ['name' => 'Menu'])); return redirect()->route($this->_config['redirect']); } + + public function brands(BrandRepository $repository){ + if (request()->ajax()) { + $results = []; + + foreach ($repository->search(request()->input('query')) as $row) { + $results[] = [ + 'id' => $row->id, + 'name' => $row->name, + ]; + } + + return response()->json($results); + } else { + return view($this->_config['view']); + } + } } \ No newline at end of file diff --git a/packages/Sarga/Admin/src/Resources/lang/en/app.php b/packages/Sarga/Admin/src/Resources/lang/en/app.php index 1e4128b91..8fb681e58 100644 --- a/packages/Sarga/Admin/src/Resources/lang/en/app.php +++ b/packages/Sarga/Admin/src/Resources/lang/en/app.php @@ -184,18 +184,22 @@ return [ ], 'catalog' => [ 'menus' => [ - 'title' => 'Menus', - 'add-title' => 'Add Menu', - 'edit-title' => 'Edit Menu', - 'save-btn-title' => 'Save Menu', - 'general' => 'General', - 'name' => 'Name', - 'visible-in-menu' => 'Visible In Menu', - 'yes' => 'Yes', - 'no' => 'No', - 'position' => 'Position', - 'description' => 'Description', - 'categories' => 'Categories' + 'title' => 'Menus', + 'add-title' => 'Add Menu', + 'edit-title' => 'Edit Menu', + 'save-btn-title' => 'Save Menu', + 'general' => 'General', + 'name' => 'Name', + 'visible-in-menu' => 'Visible In Menu', + 'yes' => 'Yes', + 'no' => 'No', + 'position' => 'Position', + 'description' => 'Description', + 'categories' => 'Categories', + 'brands' => 'Brands', + 'brand-search-hint' => 'Brand search hint', + 'no-result-found' => 'No result found', + 'searching' => 'Searching', ], ] ]; diff --git a/packages/Sarga/Admin/src/Resources/views/catalog/menus/create.blade.php b/packages/Sarga/Admin/src/Resources/views/catalog/menus/create.blade.php index 4f258d661..20df6149d 100644 --- a/packages/Sarga/Admin/src/Resources/views/catalog/menus/create.blade.php +++ b/packages/Sarga/Admin/src/Resources/views/catalog/menus/create.blade.php @@ -29,38 +29,38 @@ - +
- - + + @{{ errors.first('name') }}
- - @{{ errors.first('status') }}
- - + + @{{ errors.first('position') }}
- +
diff --git a/packages/Sarga/Admin/src/Resources/views/catalog/menus/edit.blade.php b/packages/Sarga/Admin/src/Resources/views/catalog/menus/edit.blade.php index 7cc6e082e..3c673c193 100644 --- a/packages/Sarga/Admin/src/Resources/views/catalog/menus/edit.blade.php +++ b/packages/Sarga/Admin/src/Resources/views/catalog/menus/edit.blade.php @@ -56,7 +56,7 @@ - +
- +
+ @include('sarga::catalog.menus.menu-brand-links') @if ($categories->count()) - +
diff --git a/packages/Sarga/Admin/src/Resources/views/catalog/menus/menu-brand-links.blade.php b/packages/Sarga/Admin/src/Resources/views/catalog/menus/menu-brand-links.blade.php new file mode 100644 index 000000000..acd29406d --- /dev/null +++ b/packages/Sarga/Admin/src/Resources/views/catalog/menus/menu-brand-links.blade.php @@ -0,0 +1,140 @@ + + +
+ + + +
+
+ +@push('scripts') + + + + + +@endpush \ No newline at end of file diff --git a/packages/Sarga/Admin/src/Resources/views/catalog/menus/menu-links.blade.php b/packages/Sarga/Admin/src/Resources/views/catalog/menus/menu-links.blade.php deleted file mode 100644 index e9539c6b2..000000000 --- a/packages/Sarga/Admin/src/Resources/views/catalog/menus/menu-links.blade.php +++ /dev/null @@ -1,153 +0,0 @@ - - -
- - - -
-
- -@push('scripts') - - - - - -@endpush \ No newline at end of file diff --git a/packages/Sarga/Admin/src/Routes/catalog-routes.php b/packages/Sarga/Admin/src/Routes/catalog-routes.php index 343f76537..90283e7e5 100644 --- a/packages/Sarga/Admin/src/Routes/catalog-routes.php +++ b/packages/Sarga/Admin/src/Routes/catalog-routes.php @@ -8,7 +8,7 @@ use Sarga\Admin\Http\Controllers\Menus; Route::group(['middleware' => ['web', 'admin'], 'prefix' => config('app.admin_url')], function () { Route::prefix('catalog')->group(function () { /** - * Categories routes. + * Menu routes. */ Route::get('/menus', [Menus::class, 'index'])->defaults('_config', [ 'view' => 'sarga_admin::catalog.menus.index', @@ -35,5 +35,7 @@ Route::group(['middleware' => ['web', 'admin'], 'prefix' => config('app.admin_ur Route::post('menus/massdelete', [Menus::class, 'massDestroy'])->defaults('_config', [ 'redirect' => 'admin.catalog.menus.index', ])->name('admin.catalog.menus.massdelete'); + + Route::get('menus/brands',[Menus::class, 'brands'])->name('admin.catalog.menus.brandsearch') }); }); \ No newline at end of file diff --git a/packages/Sarga/Brand/src/Repositories/BrandRepository.php b/packages/Sarga/Brand/src/Repositories/BrandRepository.php index 747315857..abd1578b4 100644 --- a/packages/Sarga/Brand/src/Repositories/BrandRepository.php +++ b/packages/Sarga/Brand/src/Repositories/BrandRepository.php @@ -97,4 +97,15 @@ class BrandRepository extends Repository ->groupBy('brands.id') ->get(); } + + public function search($key){ + $brands = $this->getModel()::search(implode(' OR ', $key)) +// ->where('status',1) +// ->orderBy('name','asc') + ->take(10) + ->query(fn ($query) => $query->select('id','name')->orderBy('name')) + ->get(); + + return $brands; + } } \ No newline at end of file