Edit File: CategoryController.php
<?php namespace App\Http\Controllers\Admin; use App\Traits\Report; use App\Models\Category ; use Illuminate\Http\Request; use App\Http\Controllers\Controller; use App\Http\Requests\Admin\Category\Store; use App\Http\Requests\Admin\Category\SubcategoryStoreRequest; class CategoryController extends Controller { /*************************** get all **************************/ public function index() { $rows = Category::latest()->where('category_id' , null)->get(); return view('admin.categories.index', compact('rows')); } public function subcategories($id) { $rows = Category::where('category_id' , $id)->get(); return view('admin.categories.subcategory', compact('rows' , 'id')); } public function subcategory_create($id) { $categories = Category::where('category_id' , $id)->get(); return view('admin.categories.create_subcategory', compact( 'categories' , 'id')); } public function subcategory_store(SubcategoryStoreRequest $request) { Category::create($request->validated() + ([ 'name' => ['ar' => $request->name_ar , 'en' => $request->name_en] , ])); Report::addToLog('اضافه قسم فرعي ') ; return response()->json(['url' => route('admin.categories.subcategories' , ['id' => $request->category_id])]); } public function subcategory_edit($id) { $row = Category::findOrFail($id); $categories = Category::latest()->get(); return view('admin.categories.edit_subcategory', compact( 'categories' , 'row')); } /*************************** store **************************/ public function create($id = null) { $categories = Category::latest()->get(); return view('admin.categories.create' , compact('categories')); } /*************************** store **************************/ public function store(Store $request) { Category::create($request->validated() + ([ 'name' => ['ar' => $request->name_ar , 'en' => $request->name_en] , ])); Report::addToLog(' اضافه قسم') ; return response()->json(['url' => route('admin.categories.index')]); } /*************************** edit page **************************/ public function edit($id) { $row = Category::findOrFail($id); $categories = Category::latest()->get(); return view('admin.categories.edit' , ['row' => $row , 'categories' => $categories]); } /*************************** update **************************/ public function update(Store $request, $id) { $row = Category::find($id); $row ->update($request->validated() + ([ 'name' => ['ar' => $request->name_ar , 'en' => $request->name_en] , ])); $route = route('admin.categories.index'); $msg = ' تعديل قسم'; if ($row->category_id) { $route = route('admin.categories.subcategories' , ['id' => $row->category_id]); $msg =' تعديل قسم فرعي'; } Report::addToLog($msg) ; return response()->json(['url' => $route]); } /*************** show *************************************/ public function show($id) { $row = Category::findOrFail($id); $categories = Category::get(); return view('admin.categories.show' , ['row' => $row , 'categories' => $categories]); } /*************************** delete **************************/ public function destroy($id) { $row = Category::findOrFail($id)->delete(); Report::addToLog(' حذف قسم') ; return response()->json(['id' =>$id]); } public function destroyAll(Request $request) { $requestIds = json_decode($request->data); foreach ($requestIds as $id) { $ids[] = $id->id; } if (Category::WhereIn('id',$ids)->delete()) { Report::addToLog(' حذف العديد من الاقسام') ; return response()->json('success'); } else { return response()->json('failed'); } } }
Back to File Manager