123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133 |
- <?php
- namespace App\Http\Controllers;
- use Illuminate\Http\Request;
- use App\Models\City;
- use App\Models\CityTranslation;
- use App\Models\State;
- class CityController extends Controller
- {
- /**
- * Display a listing of the resource.
- *
- * @return \Illuminate\Http\Response
- */
- public function index(Request $request)
- {
- $sort_city = $request->sort_city;
- $sort_state = $request->sort_state;
- $cities_queries = City::query();
- if($request->sort_city) {
- $cities_queries->where('name', 'like', "%$sort_city%");
- }
- if($request->sort_state) {
- $cities_queries->where('state_id', $request->sort_state);
- }
- $cities = $cities_queries->orderBy('status', 'desc')->paginate(15);
- $states = State::where('status', 1)->get();
- return view('backend.setup_configurations.cities.index', compact('cities', 'states', 'sort_city', 'sort_state'));
- }
- /**
- * Show the form for creating a new resource.
- *
- * @return \Illuminate\Http\Response
- */
- public function create()
- {
- }
- /**
- * Store a newly created resource in storage.
- *
- * @param \Illuminate\Http\Request $request
- * @return \Illuminate\Http\Response
- */
- public function store(Request $request)
- {
- $city = new City;
- $city->name = $request->name;
- $city->cost = $request->cost;
- $city->state_id = $request->state_id;
- $city->save();
- flash(translate('City has been inserted successfully'))->success();
- return back();
- }
- /**
- * Display the specified resource.
- *
- * @param int $id
- * @return \Illuminate\Http\Response
- */
- public function edit(Request $request, $id)
- {
- $lang = $request->lang;
- $city = City::findOrFail($id);
- $states = State::where('status', 1)->get();
- return view('backend.setup_configurations.cities.edit', compact('city', 'lang', 'states'));
- }
- /**
- * Update the specified resource in storage.
- *
- * @param \Illuminate\Http\Request $request
- * @param int $id
- * @return \Illuminate\Http\Response
- */
- public function update(Request $request, $id)
- {
- $city = City::findOrFail($id);
- if($request->lang == env("DEFAULT_LANGUAGE")){
- $city->name = $request->name;
- }
- $city->state_id = $request->state_id;
- $city->cost = $request->cost;
- $city->save();
- $city_translation = CityTranslation::firstOrNew(['lang' => $request->lang, 'city_id' => $city->id]);
- $city_translation->name = $request->name;
- $city_translation->save();
- flash(translate('City has been updated successfully'))->success();
- return back();
- }
- /**
- * Remove the specified resource from storage.
- *
- * @param int $id
- * @return \Illuminate\Http\Response
- */
- public function destroy($id)
- {
- $city = City::findOrFail($id);
- foreach ($city->city_translations as $key => $city_translation) {
- $city_translation->delete();
- }
- City::destroy($id);
- flash(translate('City has been deleted successfully'))->success();
- return redirect()->route('cities.index');
- }
- public function updateStatus(Request $request){
- $city = City::findOrFail($request->id);
- $city->status = $request->status;
- $city->save();
- return 1;
- }
- }
|