menu Controller

This commit is contained in:
merdan 2022-09-07 11:43:34 +05:00
parent e85c388ff6
commit bcac3e967d
2 changed files with 61 additions and 6 deletions

View File

@ -2,6 +2,8 @@
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;
@ -15,7 +17,7 @@ class Menus extends Controller
protected $_config;
public function __construct(
protected MenuRepository $attributeRepository
protected MenuRepository $mRepository
)
{
$this->_config = request('_config');
@ -29,17 +31,31 @@ class Menus extends Controller
return view($this->_config['view']);
}
public function create(){
public function create(CategoryRepository $repository){
$categories = $repository->getCategoryTree(null, ['id']);
return view($this->_config['view'], compact('categories'));
}
public function store(){
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(){
public function edit($id){
$menu = $this->mRepository->findOrFail($id);
return view($this->_config['view'], compact('menu'));
}
public function update(){}
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']);
}
}

View File

@ -0,0 +1,39 @@
<?php
namespace Sarga\Admin\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class MenuRequest extends FormRequest
{
/**
* Determine if the Configuraion is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return true;
}
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
$locale = core()->getRequestedLocaleCode();
if ($id = request('id')) {
return [
$locale . '.name' => 'required',
];
}
return [
'name' => 'required',
'description' => 'required_if:display_mode,==,description_only,products_and_description',
];
}
}