Пример #1
0
 /**
  * Store a newly created resource in storage.
  *
  * @param  Request  $request
  * @return Response
  */
 public function store(Request $request)
 {
     $route = new Route();
     if ($route->validate(Input::all(), Route::$rules)) {
         $origin_Id = Input::get("origin_location_id");
         $destination_Id = Input::get("destination_location_id");
         $origin_on_db = Route::where('origin_location_id', '=', $origin_Id)->where('destination_location_id', '=', $destination_Id)->first() !== null;
         if (!$origin_on_db) {
             $route = new Route(Input::except('_token'));
             $route->save();
             if (Input::get('reverse') != null) {
                 $destination_on_db = Route::where('origin_location_id', '=', $destination_Id)->where('destination_location_id', '=', $origin_Id)->first() !== null;
                 if (!$destination_on_db) {
                     $reverse_route = new Route();
                     $reverse_route->origin_location_id = $destination_Id;
                     $reverse_route->destination_location_id = $origin_Id;
                     $reverse_route->distance = Input::get("distance");
                     $reverse_route->save();
                 }
             }
             Notification::success('Ruta #' . $route->id . ' añadida correctamente');
             return redirect('routes');
         } else {
             Notification::error('La ruta ya se encuentra registrada en el sistema');
             return redirect()->back()->withInput();
         }
     } else {
         $errors = $route->errors();
         return redirect()->back()->withInput()->withErrors($errors);
     }
 }