/** * 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); } }
public function createRoute(Request $request) { $user = Auth::user(); //Save Route $route = new Route(); $route->rname = $request->input('rname'); $waypoints = explode(";", $request->input('waypoints')); array_pop($waypoints); $route->user_id = $user->id; $route->save(); //Save Waypoints foreach ($waypoints as $key => $waypoint) { $newWaypoint = new Waypoint(); $newWaypoint->route_id = $route->id; $newWaypoint->index = $key; $newWaypoint->addr = $waypoint; $newWaypoint->save(); } return Redirect::action('PagesController@dashboard'); }
/** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(Request $request) { // $validator = Validator::make($request->all(), ['name' => 'required|min:2', 'short_name' => 'required|min:2']); if ($validator->fails()) { if ($request->ajax()) { return response()->json($validator->messages()); } else { return \Redirect::back()->withErrors($validator)->withInput(); } } $all_request = $request->all(); array_forget($all_request, "_token"); $route = new Route(); foreach ($all_request as $key => $value) { $route->{$key} = $value; } if ($route->save()) { return response()->json("record saved successfully"); } return View("routes.index", ["routes" => Route::all(), "title" => "Route Listings"]); }
public function run() { DB::table('routes')->delete(); $faker = Faker\Factory::create(); $data = \Rome2RioData::call('cebu', 'manila'); foreach ($data->routes as $route) { $new_route = new App\Route(); $new_route->name = $route->name; $new_route->distance = $route->distance; $new_route->duration = $route->duration; $new_route->price = \Rome2RioData::getRome2RioPrice($route); //ctrl + p and look for rome2riodata in facades folder $new_route->save(); $i = 1; foreach ($route->stops as $stop) { $stopObj = new Stop(); $stopObj->name = $stop->name; $stopObj->kind = $stop->kind; $stopObj->pos = $stop->pos; $stopObj->tips = $faker->text(20); $stopObj->timezone = property_exists($stop, "timeZone") ? $stop->timeZone : ""; $stopObj->region_code = property_exists($stop, "regionCode") ? $stop->regionCode : ""; $stopObj->save(); unset($stopObj); } /** * Loop here kay each routes naay segments * */ foreach ($route->segments as $segment) { //check if the segment is flight then passes it to the //converting function //the function then returns a generic segment object if ($segment->kind == "flight") { $segment = \Rome2RioData::convertToFlightSegment($route, $segment); } $new_segment = new App\Segment(); $new_segment->mode = $segment->kind; $new_segment->route_id = $new_route->id; $new_segment->sequence = $i; $new_segment->origin_name = $segment->sName; $new_segment->destination_name = $segment->tName; $new_segment->origin_pos = $segment->sPos; $new_segment->destination_pos = $segment->tPos; $new_segment->price = \Rome2RioData::getRome2RioPrice($segment); //ctrl + p and look for rome2riodata in facades folder $new_segment->path = property_exists($segment, 'path') ? $segment->path : ''; $new_segment->distance = $segment->distance; $new_segment->duration = $segment->duration; $new_segment->save(); $new_segment->route()->associate($new_segment); // $new_segment->save() sad diay $fi = new FlightIterinary(); $fi->days = $new_segment->itineraties; unset($new_segment); $i++; } //unset variables kada human loop unset($new_route, $i); } }
/** * @param $token * @param $origin_name * @param $lng * @param $lat * @param $mode * @return \Illuminate\Http\JsonResponse */ public static function addSegment($token, $origin_name, $lng, $lat, $mode) { //todo $segment = new Segment(); $segment->origin_name = $origin_name; $segment->origin_pos = $lat . ',' . $lng; $segment->mode = $mode; $iterinary = self::getUserCurrentIterinary($token); $route = $iterinary->route()->first(); // dd($route->segments()->count()); $segment->sequence = $route->segments()->count() + 1; $user = self::getByToken($token); //dd($route->count()); //dd($route); if ($route->count() < 1) { $route = new Route(); $route->name = $iterinary->origin . ' to ' . $iterinary->desination; try { $route->save(); $iterinary->route()->associate($route); $iterinary->save(); } catch (\Exception $e) { //dd($iterinary,$route); return response()->json('error saving route', 400); } } $route = $iterinary->route()->first(); // activity $activity = new Activity(); $activity->iterinary_id = $iterinary->id; $activity->day = self::getDiffInDays($token, $iterinary->id); $activity->start_time = Carbon::now()->toTimeString(); // end activity $route->segments()->save($segment); $segment->activity()->save($activity); $iterinary = Iterinary::findOrFail($iterinary->id)->with('activities.typable')->first(); //self::newUserActivity('transport', $segment->getAttribute('id'), $token); return response()->json($iterinary, 200); }
/** * Show the form for creating a new resource. * * @return Response */ public function populateRoutes() { $inputs = ['origin' => rawurlencode(Input::get('origin')), 'destination' => rawurlencode(Input::get('destination')), 'pax' => Input::get('pax')]; $airports = []; $user_id = Input::get('user_id'); $contributor = User::find($user_id); $now = Carbon::now(); if ($contributor == null) { return response()->json('user not found.', 404); } $data = Rome2Rio::call($inputs['origin'], $inputs['destination']); if (isset($data->airports)) { foreach ($data->airports as $airport) { $airports[$airport->code] = $airport->pos; } } foreach ($data->routes as $route) { $iterinary = new Iterinary(); $iterinary->origin = $data->places[0]->name; $iterinary->destination = $data->places[1]->name; $iterinary->creator_id = $contributor->id; $iterinary->duration = $route->duration; $iterinary->distance = $route->distance; $iterinary->price = Rome2Rio::getRome2RioPrice($route); $new_route = new Route(); $new_route->name = $route->name; $new_route->distance = $route->distance; $new_route->duration = $route->duration; $new_route->price = Rome2Rio::getRome2RioPrice($route); $new_route->save(); $iterinary->route()->associate($new_route); $iterinary->save(); $contributor->iterinaries()->attach($iterinary->id, ['date_start' => $now]); $i = 1; foreach ($route->segments as $segment) { $new_segment = new Segment(); if ($segment->kind == "flight") { $segment = Rome2Rio::convertToFlightSegment($segment, $data); } $new_segment->mode = !isset($segment->subkind) ? $segment->kind : $segment->subkind; $new_segment->sequence = $i; $new_segment->origin_name = !isset($segment->sName) ? "" : $segment->sName; $new_segment->destination_name = !isset($segment->tName) ? "" : $segment->tName; $new_segment->origin_pos = $segment->sPos; $new_segment->destination_pos = $segment->tPos; $new_segment->price = Rome2Rio::getRome2RioPrice($segment); $new_segment->path = $segment->kind == "flight" ? Rome2Rio::getFlightPath($airports[$segment->sCode], $airports[$segment->tCode]) : $segment->path; $new_segment->distance = $segment->distance; $new_segment->duration = $segment->duration; $new_route->segments()->save($new_segment); $activity = new Activity(); $activity->iterinary_id = $iterinary->id; $activity->day = 1; $activity->start_time = Carbon::now()->toTimeString(); $activity->end_time = Carbon::now()->addMinute($segment->duration)->toTimeString(); $new_segment->activity()->save($activity); $i++; } unset($i); // unset index for segments sequence } //dd($data); }
/** * contributor new iterinary * @param $request * @route 'plot/iterinary/new' * @return Response */ public function newIterinaryTest(Request $request) { $token = Input::get('token'); $withSegment = Input::get('withSegment'); $error_bag = array(); if ($token == null) { return response()->json('token is empty', 200); } $user = userSessionHandler::user($token); if ($user == null) { return response()->json('user not found.', 404); } $lng = Input::get('lng'); $lat = Input::get('lat'); $origin = Input::get('origin'); $destination = Input::get('destination'); $origin_pos = $lat . ',' . $lng; $pax = Input::get('pax'); $date_start = Carbon::now(); $input_bag = ['origin' => $origin, 'destination' => $destination, 'pax' => $pax, 'longitude' => $lng, 'latitude' => $lat, 'date_start' => $date_start]; $i = 0; foreach ($input_bag as $key => $value) { $value = trim($value); if (empty($value)) { $error_bag[$i] = "{$key} empty"; $i++; } else { // } } //filter of false or null values if (array_filter($error_bag)) { return response()->json($error_bag, 400); } $iterinary = new Iterinary(); $iterinary->creator_id = $user->id; $iterinary->origin = $origin; $iterinary->destination = $destination; if ($user->iterinaries()->save($iterinary)) { //$user->iterinaries()->attach($iterinary->id); $pivot = $user->iterinaries()->wherePivot('iterinary_id', '=', $iterinary->id)->first(); $pivot->pivot->date_start = $date_start; $pivot->pivot->save(); $route = new Route(); $route->name = $iterinary->origin . ' to ' . $iterinary->destination; $route->save(); $iterinary->route()->associate($route); if ($withSegment == true) { $segment = new Segment(); $input_bag = ['origin name' => $origin, 'origin position' => $destination, 'user id' => $user->id, 'origin position' => $origin_pos]; $i = 0; foreach ($input_bag as $key => $value) { $value = trim($value); if (empty($value)) { $error_bag[$i] = "{$key} empty"; $i++; } else { // } } //filter of false or null values if (array_filter($error_bag)) { return response()->json($error_bag, 400); } $segment->origin_pos = Input::get('origin_pos'); $segment->sequence = Input::get('sequence'); $segment->mode = Input::get('mode'); $segment->origin_name = Input::get('origin_name'); $route->segments()->save($segment); } return response()->json('success', 200); } else { return response()->json('error saving', 401); } }