Edit File: CategoryController.php
<?php namespace App\Http\Controllers\Admin; use App\Http\Controllers\Controller; use App\Http\Requests\Admin\categories\StoreRequest; use App\Http\Requests\Admin\categories\UpdateRequest; use App\Services\CategoryService; use App\Traits\ReportTrait; use Illuminate\Http\Request; class CategoryController extends Controller { public function __construct(private CategoryService $categoryService) { } public function index($id = null) { $data = $this->categoryService->all(paginateNum: 30, id: $id)['data']; if (request()->ajax()) { $html = view('admin.categories.table', ['categories' => $data['categories'], 'level' => $data['level']])->render(); return response()->json(['html' => $html]); } return view('admin.categories.index', ['id' => $id, 'level' => $data['level']]); } public function create($id = null) { return view('admin.categories.create', compact('id')); } public function store(StoreRequest $request) { $this->categoryService->create($request->validated()); ReportTrait::addToLog(' اضافه قسم'); return response()->json(['url' => route('admin.categories.index')]); } public function edit($id) { $category = $this->categoryService->find($id); $categories = $this->categoryService->getAll(category: $category); return view('admin.categories.edit', ['category' => $category, 'categories' => $categories]); } public function update(UpdateRequest $request, $id) { $this->categoryService->edit($request->validated(), $id); ReportTrait::addToLog(' تعديل قسم'); return response()->json(['url' => route('admin.categories.index')]); } public function show($id) { $category = $this->categoryService->find($id); return view('admin.categories.show', ['category' => $category]); } public function changeStatus(Request $request) { $data = $this->categoryService->changeStatus($request->id); return response()->json(['message' => $data['msg']]); } }
Back to File Manager