Edit File: NeighborhoodController.php
<?php namespace App\Http\Controllers\Admin; use App\Http\Controllers\Controller; use App\Traits\ReportTrait; use App\Http\Requests\Admin\Neighborhoods\StoreNeighborhoodRequest; use App\Http\Requests\Admin\Neighborhoods\UpdateNeighborhoodRequest; use App\Services\CityService; use App\Services\NeighborhoodService; use Illuminate\Http\Request; class NeighborhoodController extends Controller { public function __construct(private CityService $cityService, private NeighborhoodService $neighborhoodService) {} public function index($id = null) { $cities = $this->cityService->getAllCities(); if (request()->ajax()) { $rows = $this->neighborhoodService->all(paginateNum: 30); $html = view('admin.neighborhoods.table', compact('rows'))->render(); return response()->json(['html' => $html]); } return view('admin.neighborhoods.index', compact('cities')); } public function create() { $cities = $this->cityService->getAllCities(); return view('admin.neighborhoods.create', ['cities' => $cities]); } public function store(StoreNeighborhoodRequest $request) { $this->neighborhoodService->create($request->validated()); ReportTrait::addToLog(' اضافه حي'); return response()->json(['url' => route('admin.neighborhoods.index')]); } public function edit($id) { $city = $this->neighborhoodService->find($id); $cities = $this->cityService->getAllCities(); return view('admin.neighborhoods.edit', ['row' => $city, 'cities' => $cities]); } public function update(UpdateNeighborhoodRequest $request, $id) { $this->neighborhoodService->edit(request: $request->validated(), id: $id); ReportTrait::addToLog(' تعديل حي'); return response()->json(['url' => route('admin.neighborhoods.index')]); } public function show($id) { $row = $this->neighborhoodService->find($id); return view('admin.neighborhoods.show', ['row' => $row]); } public function destroy($id) { $result = $this->neighborhoodService->delete($id); ReportTrait::addToLog(' حذف حي'); return response()->json(['key' => $result['key'], 'msg' => $result['msg']]); } public function destroyAll(Request $request) { $result = $this->neighborhoodService->deleteAll($request); ReportTrait::addToLog(' حذف العديد من الحي'); return response()->json(['key' => $result['key'], 'msg' => $result['msg']]); } }
Back to File Manager