1: <?php
2:
3: namespace App\Http\Controllers;
4: use Illuminate\Http\Request;
5: use App\Http\Requests;
6: use App\Http\Controllers\Controller;
7: use Route, View;
8: use App\Route as Route2;
9: use App\Driver;
10: use App\Taxi;
11: use Illuminate\Support\Facades\Validator;
12:
13: class RouteController extends Controller
14: {
15: public function showRoutes(){
16: $routes = Route2::with('taxi')->where('processed',1)->get();
17: return View::make('/ritten', compact('routes'));
18: }
19:
20: 21: 22: 23: 24: 25:
26: public function showRoutesOpen(){
27: $routes = Route2::with('taxi')->where('processed',0)->get();
28: return View::make('/ritten-openstaand', compact('routes'));
29: }
30: public function showRoutesAdd(){
31: $cars = Taxi::where('driver_id','>','0')->get();
32: $carCount = count($cars);
33: return View::make('/rittoevoegen', compact('cars','carCount'));
34: }
35: public function showRoutesEdit(){
36: $id = Route::current()->getParameter('id');
37: $routes = Route2::with('taxi')->where('id',$id)->first();
38:
39: $cars = Taxi::where('driver_id','>','0')->get();
40: $carCount = count($cars);
41:
42: return View::make('/ritwijzigen', compact('id','routes','cars','carCount'));
43: }
44: public function addRoute(Request $request){
45: $data = array(
46: 'start_city' => $request['start_city'],
47: 'start_zip' => $request['start_zip'],
48: 'start_number' => $request['start_number'],
49: 'start_street' => $request['start_street'],
50: 'end_city' => $request['end_city'],
51: 'end_zip' => $request['end_zip'],
52: 'end_number' => $request['end_number'],
53: 'end_street' => $request['end_street'],
54: 'total_km' => $request['distance_road'],
55: 'eta' => $request['time'],
56: 'pickup_time' => $request['pickup_time'],
57: 'phone_customer' => $request['phone_customer'],
58: 'email_customer' => $request['email_customer'],
59: 'taxi_id' => $request['taxi'],
60: 'processed' => 1
61: );
62:
63:
64: $rules = array(
65: 'start_city' => 'required',
66: 'start_zip' => 'required',
67: 'start_number' => 'required|numeric',
68: 'start_street' => 'required',
69: 'end_city' => 'required',
70: 'end_zip' => 'required',
71: 'end_number' => 'required|numeric',
72: 'end_street' => 'required',
73: 'pickup_time' => 'required|date',
74: 'phone_customer' => 'required|numeric|digits:10',
75: 'email_customer' => 'required|email'
76: );
77:
78:
79:
80: $validator = Validator::make($data, $rules);
81: if ($validator->fails()){
82: return redirect('rittoevoegen')->withErrors($validator)->withInput($data);
83: }
84: $data['pickup_time'] = date('Y-m-d H:i', strtotime($data['pickup_time']));
85: Route2::create($data);
86: session()->flash('alert-success','De route is aangemaakt.');
87: return redirect()->route('ritten');
88: }
89: public function deleteRoute(){
90: $id = Route::current()->getparameter('id');
91: $find = Route2::find($id);
92: $find->delete();
93: session()->flash('alert-success','De route is verwijderd.');
94: return redirect()->route('ritten');
95: }
96: public function editRoute(Request $request){
97: $id = Route::current()->getParameter('id');
98:
99: $data = array(
100: 'start_city' => $request['start_city'],
101: 'start_zip' => $request['start_zip'],
102: 'start_number' => $request['start_number'],
103: 'start_street' => $request['start_street'],
104: 'end_city' => $request['end_city'],
105: 'end_zip' => $request['end_zip'],
106: 'end_number' => $request['end_number'],
107: 'end_street' => $request['end_street'],
108: 'total_km' => $request['distance_road'],
109: 'eta' => $request['time'],
110: 'pickup_time' => $request['pickup_time'],
111: 'phone_customer' => $request['phone_customer'],
112: 'email_customer' => $request['email_customer'],
113: 'taxi_id' => $request['taxi'],
114: 'processed' => $request['processed']
115:
116: );
117:
118: $rules = array(
119: 'start_city' => 'required',
120: 'start_zip' => 'required',
121: 'start_number' => 'required|numeric',
122: 'start_street' => 'required',
123: 'end_city' => 'required',
124: 'end_zip' => 'required',
125: 'end_number' => 'required|numeric',
126: 'end_street' => 'required',
127: 'pickup_time' => 'required|date',
128: 'phone_customer' => 'required|numeric|digits:10',
129: 'email_customer' => 'required|email'
130: );
131:
132: $data['pickup_time'] = date('Y-m-d H:i', strtotime($data['pickup_time']));
133:
134: $validator = Validator::make($data, $rules);
135: if ($validator->fails()){
136: return redirect('ritwijzigen/'.$id)->withErrors($validator)->withInput($data);
137: }
138:
139: Route2::where('id', '=', $id)->update($data);
140: $request->session()->flash('alert-success', 'De route is gewijzigd.');
141: return redirect()->route('ritten');
142: }
143:
144:
145: 146: 147: 148: 149: 150: 151:
152: public function toggleRoute(){
153: $id = Route::current()->getParameter('id');
154: $redirect = Route::current()->getParameter('redir');
155: $msg = Route2::where('id',$id)->first();
156:
157: if(!$msg->processed > 0){
158: $msg->where('id',$id)->update(['processed' => 1]);
159: }else{
160: $msg->where('id',$id)->update(['processed' => 0]);
161: }
162: session()->flash('alert-success', 'Rit status gewijzigd.');
163: if($redirect < 1){
164: return redirect('/ritten');
165: }else{
166: return redirect('/ritten/openstaand');
167: }
168: }
169: }
170: