Viewing file: TaxiController.php (17.64 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
namespace App\Http\Controllers;
use App\Models\User; use App\Models\Taxi; use Illuminate\Http\Request; use App\Models\Utility; use File; class TaxiController extends Controller { public function index() {
if (\Auth::user()->can('show taxi')) { $taxies = Taxi::where('created_by', '=', \Auth::user()->creatorId())->get(); $drivers = User::where('created_by', '=', \Auth::user()->creatorId())->where('type', 'driver')->get(); return view('taxi.index', compact('taxies', 'drivers')); } else { return redirect()->back()->with('error', __('Permission denied.')); }
} public function create() { if (\Auth::user()->can('create taxi')) { $drivers = User::where('created_by', '=', \Auth::user()->creatorId())->where('type', 'driver')->get(); return view('taxi.create', compact('drivers')); } else { return redirect()->back()->with('error', __('Permission denied.')); }
} public function store(Request $request) { $validator = \Validator::make( $request->all(), [ 'brand_name' => 'required', 'vehicle_type' => 'required',
] ); if ($validator->fails()) { $messages = $validator->getMessageBag();
return redirect()->back()->with('error', $messages->first()); }
$total_taxi = Taxi::where('created_by',\Auth::user()->creatorId())->count(); $total_taxi=$total_taxi==0?0:$total_taxi + 1; $userPlan = \App\Models\Plan::getPlan(\Auth::user()->show_dashboard());
if($userPlan && $userPlan->max_taxis != -1 && $userPlan->max_taxis < $total_taxi){ return redirect()->back()->with('error', __('Your taxi limit is over, Please upgrade plan.')); }
$already_assigned = Taxi::where('driver_id',$request->driver_id)->first(); if($already_assigned){ return redirect()->back()->with('error', 'This Driver is already assigned'); }
$taxi = new Taxi(); $taxi->brand_name = $request->brand_name; $taxi->model = $request->model; $taxi->year = $request->year; $taxi->color = $request->color; $taxi->no_of_seats = $request->no_of_seats; $taxi->vin = $request->vin; $taxi->vehicle_type = $request->vehicle_type;
$taxi->driver_id = $request->driver_id; if ($request->hasFile('vehicle_image')) {
$filenameWithExt = $request->file('vehicle_image')->getClientOriginalName(); $filename = pathinfo($filenameWithExt, PATHINFO_FILENAME); $extension = $request->file('vehicle_image')->getClientOriginalExtension(); $fileNameToStore = $filename . '_' . time() . '.' . $extension; $settings = Utility::getStorageSetting(); if ($settings['storage_setting'] == 'local') { $dir = 'uploads/avatar/'; } else { $dir = 'uploads/avatar'; }
$image_path = $dir . $taxi['avatar'];
if(File::exists($image_path)) { File::delete($image_path); } $url = ''; $path = Utility::upload_file($request, 'vehicle_image', $fileNameToStore, $dir, []); if ($path['flag'] == 1) { $url = $path['url']; } else { return redirect()->route('taxi.index', \Auth::user()->id)->with('error', __($path['msg'])); }
} if($request->hasFile('liecnse')){ $filenameWithliecnse = $request->file('liecnse')->getClientOriginalName(); $fileliecnse = pathinfo($filenameWithliecnse, PATHINFO_FILENAME); $extensionliecnse = $request->file('liecnse')->getClientOriginalExtension(); $fileliecnseToStore = $fileliecnse . '_' . time() . '.' . $extensionliecnse; $settings = Utility::getStorageSetting(); if ($settings['storage_setting'] == 'local') { $dirs = 'uploads/avatar/'; } else { $dirs = 'uploads/avatar'; } $image_liecnse_path = $dirs . $taxi['avatar']; if(File::exists($image_liecnse_path)) { File::delete($image_liecnse_path); } $urls = ''; $paths = Utility::upload_file($request, 'liecnse', $fileliecnseToStore, $dirs, []); if ($paths['flag'] == 1) { $urls = $paths['url']; } else { return redirect()->route('taxi.index', \Auth::user()->id)->with('error', __($paths['msg'])); }
} if($request->hasFile('TE_info')){ $filenameWithTE_info = $request->file('TE_info')->getClientOriginalName(); $fileTE_info = pathinfo($filenameWithTE_info, PATHINFO_FILENAME); $extensionTE_info = $request->file('TE_info')->getClientOriginalExtension(); $fileTE_infoToStore = $fileTE_info . '_' . time() . '.' . $extensionTE_info; $settingTE_info = Utility::getStorageSetting(); if ($settingTE_info['storage_setting'] == 'local') { $dires = 'uploads/avatar/'; } else { $dires = 'uploads/avatar'; } $image_TE_info_path = $dires . $taxi['avatar']; if(File::exists($image_TE_info_path)) { File::delete($image_TE_info_path); } $urlpath = ''; $pathing = Utility::upload_file($request, 'TE_info', $fileTE_infoToStore, $dires, []); if ($pathing['flag'] == 1) { $urlpath = $pathing['url']; } else { return redirect()->route('taxi.index', \Auth::user()->id)->with('error', __($pathing['msg'])); } } if($request->hasFile('insurance_info')){ $filenameWithI_info = $request->file('insurance_info')->getClientOriginalName(); $fileI_info = pathinfo($filenameWithI_info, PATHINFO_FILENAME); $extensionTE_info = $request->file('insurance_info')->getClientOriginalExtension(); $fileI_infoToStore = $fileI_info . '_' . time() . '.' . $extensionTE_info; $settingI_info = Utility::getStorageSetting(); if ($settingI_info['storage_setting'] == 'local') { $diry = 'uploads/avatar/'; } else { $diry = 'uploads/avatar'; } $image_I_info_path = $diry . $taxi['avatar']; if(File::exists($image_I_info_path)) { File::delete($image_I_info_path); } $urlpaths = ''; $pathings = Utility::upload_file($request, 'insurance_info', $fileI_infoToStore, $diry, []); if ($pathings['flag'] == 1) { $urlpaths = $pathings['url']; } else { return redirect()->route('taxi.index', \Auth::user()->id)->with('error', __($pathings['msg'])); } }
if (!empty($request->vehicle_image)) { $taxi->vehicle_image = $fileNameToStore; } if (!empty($request->liecnse)) { $taxi->liecnse = $fileliecnseToStore; } if (!empty($request->TE_info)) { $taxi->te_info = $fileTE_infoToStore; } if (!empty($request->insurance_info)) { $taxi->insurance_info = $fileI_infoToStore; } $taxi->created_by = \Auth::user()->creatorId(); $taxi->save(); return redirect()->route('taxi.index')->with('success', __('Taxi successfully created.'));
}
public function edit(Taxi $taxi) {
if (\Auth::user()->can('edit taxi')) {
if ($taxi->created_by == \Auth::user()->creatorId()) { $drivers = User::where('created_by', '=', \Auth::user()->creatorId())->where('type', 'driver')->get(); return view('taxi.edit', compact('taxi', 'drivers')); } } else { return redirect()->back()->with('error', __('Permission denied.')); }
}
public function update(Request $request, Taxi $taxi) { if (\Auth::user()->can('update taxi')) { if ($taxi->created_by == \Auth::user()->creatorId()) { $validator = \Validator::make( $request->all(), [ 'brand_name' => 'required', 'vehicle_type' => 'required', ] ); if ($validator->fails()) { $messages = $validator->getMessageBag();
return redirect()->back()->with('error', $messages->first()); }
$taxi->brand_name = $request->brand_name; $taxi->model = $request->model; $taxi->year = $request->year; $taxi->color = $request->color; $taxi->no_of_seats = $request->no_of_seats; $taxi->vin = $request->vin; $taxi->vehicle_type = $request->vehicle_type; // if($taxi->driver_id) // $already_assigned = Taxi::where('driver_id',$request->driver_id)->first(); // if($already_assigned){ // return redirect()->back()->with('error', 'This Driver is already assigned'); // } $taxi->driver_id = $request->driver_id; if ($request->hasFile('vehicle_image')) {
$filenameWithExt = $request->file('vehicle_image')->getClientOriginalName(); $filename = pathinfo($filenameWithExt, PATHINFO_FILENAME); $extension = $request->file('vehicle_image')->getClientOriginalExtension(); $fileNameToStore = $filename . '_' . time() . '.' . $extension;
$settings = Utility::getStorageSetting(); if ($settings['storage_setting'] == 'local') { $dir = 'uploads/avatar/'; } else { $dir = 'uploads/avatar'; }
$image_path = $dir . $taxi['avatar'];
if(File::exists($image_path)) { File::delete($image_path); } $url = ''; $path = Utility::upload_file($request, 'vehicle_image', $fileNameToStore, $dir, []); if ($path['flag'] == 1) { $url = $path['url']; } else { return redirect()->route('taxi.index', \Auth::user()->id)->with('error', __($path['msg'])); }
} if($request->hasFile('liecnse')){ $filenameWithliecnse = $request->file('liecnse')->getClientOriginalName(); $fileliecnse = pathinfo($filenameWithliecnse, PATHINFO_FILENAME); $extensionliecnse = $request->file('liecnse')->getClientOriginalExtension(); $fileliecnseToStore = $fileliecnse . '_' . time() . '.' . $extensionliecnse; $settings = Utility::getStorageSetting(); if ($settings['storage_setting'] == 'local') { $dirs = 'uploads/avatar/'; } else { $dirs = 'uploads/avatar'; } $image_liecnse_path = $dirs . $taxi['avatar']; if(File::exists($image_liecnse_path)) { File::delete($image_liecnse_path); } $urls = ''; $paths = Utility::upload_file($request, 'liecnse', $fileliecnseToStore, $dirs, []); if ($paths['flag'] == 1) { $urls = $paths['url']; } else { return redirect()->route('taxi.index', \Auth::user()->id)->with('error', __($paths['msg'])); }
} if($request->hasFile('TE_info')){ $filenameWithTE_info = $request->file('TE_info')->getClientOriginalName(); $fileTE_info = pathinfo($filenameWithTE_info, PATHINFO_FILENAME); $extensionTE_info = $request->file('TE_info')->getClientOriginalExtension(); $fileTE_infoToStore = $fileTE_info . '_' . time() . '.' . $extensionTE_info; $settingTE_info = Utility::getStorageSetting(); if ($settingTE_info['storage_setting'] == 'local') { $dires = 'uploads/avatar/'; } else { $dires = 'uploads/avatar'; } $image_TE_info_path = $dires . $taxi['avatar']; if(File::exists($image_TE_info_path)) { File::delete($image_TE_info_path); } $urlpath = ''; $pathing = Utility::upload_file($request, 'TE_info', $fileTE_infoToStore, $dires, []); if ($pathing['flag'] == 1) { $urlpath = $pathing['url']; } else { return redirect()->route('taxi.index', \Auth::user()->id)->with('error', __($pathing['msg'])); } } if($request->hasFile('insurance_info')){ $filenameWithI_info = $request->file('insurance_info')->getClientOriginalName(); $fileI_info = pathinfo($filenameWithI_info, PATHINFO_FILENAME); $extensionTE_info = $request->file('insurance_info')->getClientOriginalExtension(); $fileI_infoToStore = $fileI_info . '_' . time() . '.' . $extensionTE_info; $settingI_info = Utility::getStorageSetting(); if ($settingI_info['storage_setting'] == 'local') { $diry = 'uploads/avatar/'; } else { $diry = 'uploads/avatar'; } $image_I_info_path = $diry . $taxi['avatar']; if(File::exists($image_I_info_path)) { File::delete($image_I_info_path); } $urlpaths = ''; $pathings = Utility::upload_file($request, 'insurance_info', $fileI_infoToStore, $diry, []); if ($pathings['flag'] == 1) { $urlpaths = $pathings['url']; } else { return redirect()->route('taxi.index', \Auth::user()->id)->with('error', __($pathings['msg'])); } }
if (!empty($request->vehicle_image)) { $taxi->vehicle_image = $fileNameToStore; } if (!empty($request->liecnse)) { $taxi->liecnse = $fileliecnseToStore; } if (!empty($request->TE_info)) { $taxi->te_info = $fileTE_infoToStore; } if (!empty($request->insurance_info)) { $taxi->insurance_info = $fileI_infoToStore; } $taxi->created_by = \Auth::user()->creatorId(); $taxi->save(); return redirect()->route('taxi.index')->with('success', __('Taxi successfully updated.')); } } else { return redirect()->back()->with('error', __('Permission denied.')); }
} public function show() {
} public function destroy(Taxi $taxi) { if (\Auth::user()->can('delete taxi')) { if ($taxi->created_by == \Auth::user()->creatorId()) { $taxi->delete(); return redirect()->route('taxi.index')->with('success', __('Taxi successfully deleted.')); } } else { return redirect()->back()->with('error', __('Permission denied.')); } }
public function taxi_map(){ if (!\Auth::user()->can('create taxi')) { return redirect()->back()->with('error', __('Permission denied.')); }
$user=auth()->user(); $token=$user->access_token; if(!$token){ $token=$user->createToken('authToken')->plainTextToken; $user->access_token=$token; $user->save(); } $data['token']=$token; $data['drivers']=User::where('created_by',auth()->id())->where('type','driver')->get(['id','name','current_location'])->toArray(); return view('taxi.map',$data); }
}
|