sarga/packages/Sarga/Admin/src/Http/Controllers/Menus.php

84 lines
2.6 KiB
PHP
Raw Normal View History

2022-09-03 13:02:41 +00:00
<?php
2022-09-03 13:10:47 +00:00
namespace Sarga\Admin\Http\Controllers;
2022-09-05 09:38:06 +00:00
use Sarga\Admin\DataGrids\MenuDataGrid;
2022-09-07 06:43:34 +00:00
use Sarga\Admin\Http\Requests\MenuRequest;
use Sarga\Shop\Repositories\CategoryRepository;
2022-09-03 13:02:41 +00:00
use Sarga\Shop\Repositories\MenuRepository;
2022-09-23 11:00:12 +00:00
use Sarga\Brand\Repositories\BrandRepository;
2022-09-27 09:57:02 +00:00
use Sarga\Shop\Repositories\VendorRepository;
2022-09-03 13:02:41 +00:00
use Webkul\Admin\Http\Controllers\Controller;
2022-09-27 09:57:02 +00:00
use Webkul\Marketplace\Repositories\SellerRepository;
2022-09-03 13:02:41 +00:00
class Menus extends Controller
{
/**
* Contains route related configuration.
*
* @var array
*/
protected $_config;
public function __construct(
2022-09-27 09:57:02 +00:00
protected MenuRepository $mRepository,
protected SellerRepository $sellerRepository
2022-09-03 13:02:41 +00:00
)
{
$this->_config = request('_config');
}
public function index(){
if (request()->ajax()) {
return app(MenuDataGrid::class)->toJson();
}
return view($this->_config['view']);
}
2022-09-07 06:43:34 +00:00
public function create(CategoryRepository $repository){
$categories = $repository->getCategoryTree(null, ['id']);
2022-09-27 09:57:02 +00:00
$sellers = app(VendorRepository::class)->all();
return view($this->_config['view'], compact('categories','sellers'));
2022-09-03 13:02:41 +00:00
}
2022-09-07 06:43:34 +00:00
public function store(MenuRequest $request){
2022-09-03 13:02:41 +00:00
2022-09-27 09:57:02 +00:00
$this->mRepository->create($request->all());
2022-09-07 06:43:34 +00:00
session()->flash('success', trans('admin::app.response.create-success', ['name' => 'Menu']));
2022-09-03 13:02:41 +00:00
2022-09-07 06:43:34 +00:00
return redirect()->route($this->_config['redirect']);
}
2022-09-03 13:02:41 +00:00
2022-09-23 10:04:07 +00:00
public function edit(CategoryRepository $repository,$id){
2022-09-07 06:43:34 +00:00
$menu = $this->mRepository->findOrFail($id);
2022-09-23 09:49:42 +00:00
$categories = $repository->getCategoryTree(null, ['id']);
2022-09-27 09:57:02 +00:00
$sellers = app(VendorRepository::class)->all();
return view($this->_config['view'], compact('menu','categories','sellers'));
2022-09-03 13:02:41 +00:00
}
2022-09-07 06:43:34 +00:00
public function update(MenuRequest $request,$id){
2022-09-23 11:00:12 +00:00
$menu = $this->mRepository->update($request->all(), $id);
2022-09-07 06:43:34 +00:00
session()->flash('success', trans('admin::app.response.update-success', ['name' => 'Menu']));
return redirect()->route($this->_config['redirect']);
}
2022-09-23 11:00:12 +00:00
public function brands(BrandRepository $repository){
if (request()->ajax()) {
$results = [];
2022-09-23 11:49:46 +00:00
$queries = explode(' ', request()->input('query'));
foreach ($repository->search($queries) as $row) {
2022-09-23 11:00:12 +00:00
$results[] = [
'id' => $row->id,
'name' => $row->name,
];
}
return response()->json($results);
} else {
return view($this->_config['view']);
}
}
2022-09-03 13:02:41 +00:00
}