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