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

61 lines
1.6 KiB
PHP

<?php
namespace Sarga\Admin\Http\Controllers;
use Sarga\Admin\DataGrids\MenuDataGrid;
use Sarga\Admin\Http\Requests\MenuRequest;
use Sarga\Shop\Repositories\CategoryRepository;
use Sarga\Shop\Repositories\MenuRepository;
use Webkul\Admin\Http\Controllers\Controller;
class Menus extends Controller
{
/**
* Contains route related configuration.
*
* @var array
*/
protected $_config;
public function __construct(
protected MenuRepository $mRepository
)
{
$this->_config = request('_config');
}
public function index(){
if (request()->ajax()) {
return app(MenuDataGrid::class)->toJson();
}
return view($this->_config['view']);
}
public function create(CategoryRepository $repository){
$categories = $repository->getCategoryTree(null, ['id']);
return view($this->_config['view'], compact('categories'));
}
public function store(MenuRequest $request){
$category = $this->mRepository->create($request->all());
session()->flash('success', trans('admin::app.response.create-success', ['name' => 'Menu']));
return redirect()->route($this->_config['redirect']);
}
public function edit($id){
$menu = $this->mRepository->findOrFail($id);
return view($this->_config['view'], compact('menu'));
}
public function update(MenuRequest $request,$id){
$menu = $this->categoryRepository->update($request->all(), $id);
session()->flash('success', trans('admin::app.response.update-success', ['name' => 'Menu']));
return redirect()->route($this->_config['redirect']);
}
}