-
Notifications
You must be signed in to change notification settings - Fork 0
/
CitiesController.php
82 lines (55 loc) · 2.15 KB
/
CitiesController.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
<?php namespace Modules\Lists\Http\Controllers;
use Illuminate\Http\Request;
use Modules\Lists\Entities\City;
use Modules\Lists\Entities\Country;
use Modules\Lists\Http\Requests\City\CreateCityRequest;
use Modules\Lists\Http\Requests\City\UpdateCityRequest;
use Pingpong\Modules\Routing\Controller;
class CitiesController extends Controller {
public function index(Country $country)
{
$country->load('cities');
$cities = $country->cities;
return view('lists::cities.index' ,compact('cities' ,'country'));
}
public function create(Country $country) {
return view('lists::cities.create' ,compact('country'));
}
public function store(CreateCityRequest $req ,Country $country ,City $City) {
$city = $City->fill($req->all());
$city->country_id = $country->id;
$city->save();
$message = trans('lists::cities.create_success', ['name'=>$city->name]);
if(request('submit')=='save') {
return redirect()->back()->with('success' ,$message);
} else {
return redirect()->route('cities.index' ,$country->id)
->with('success' ,$message);
}
}
public function edit(City $city) {
$city->load('country');
$country = $city->country;
return view('lists::cities.edit' ,compact('city' ,'country'));
}
public function update(UpdateCityRequest $req ,City $City) {
$City->fill($req->all())->save();
$message = trans('lists::cities.update_success' ,['name'=>$City->name]);
if(request('submit')=='save') {
return redirect()->back()->with('success' ,$message);
} else {
return redirect()->route('cities.index' ,$City->country_id)
->with('success' ,$message);
}
}
public function delete(City $city) {
$city->delete();
return redirect()->route('cities.index' ,$city->country_id)->with('success' ,trans('lists::cities.delete_success' ,['name'=>$city->name]));
}
public function deleteBulk(Request $req ,City $CityModel ,Country $country) {
if(!$req->has('table_records')) return redirect()->route('cities.index');
$ids = $req->input('table_records');
$CityModel->destroy($ids);
return redirect()->route('cities.index' ,$country->id)->with('success' ,trans('lists::cities.delete_bulk_success'));
}
}