public function postNewCruise(Request $request) { //validate input $this->validate($request, ['name' => 'required|max:50', 'price' => 'required|numeric', 'depart_location' => 'required', 'arrive_location' => 'required', 'route_date' => 'required|max:23']); //process dates $dates = explode(" - ", $request->route_date); $depart = DateTime::createFromFormat('m/d/Y', $dates[0])->format('Y-m-d'); $arrive = DateTime::createFromFormat('m/d/Y', $dates[1])->format('Y-m-d'); //create a new cruise $cruise = Cruise::create(['name' => $request->name, 'price' => $request->price, 'depart_location' => $request->depart_location, 'arrive_location' => $request->arrive_location, 'description' => $request->description, 'type' => $request->type, 'depart_date' => $depart, 'arrive_date' => $arrive]); if (Input::hasFile('image')) { $file = Input::file('image'); $imagename = 'cruise_' . $cruise->id . '.' . Input::file('image')->getClientOriginalExtension(); $file->move('uploads', $imagename); $cruise->image = $imagename; } foreach ($request->get('cabins') as $key => $val) { //use save method $cabinnum = Input::get('cabins.' . $key); if ($cabinnum != 0 || !empty($cabinnum)) { $cruise->cabins()->attach([$key => ['cabin_number' => $cabinnum]]); } } //redirect to cruises page return redirect('/admin/cruise/' . $cruise->id)->with('status', 'Cruise created successfully!'); }
Route::get('cruises', 'Front\\FrontController@index'); Route::post('cruises', 'Front\\FrontController@search'); Route::get('cruise/{cruise}', 'Front\\FrontController@cruise'); Route::post('reservation', 'ReservationController@make'); Route::get('reservation/{reservation}', 'ReservationController@show'); Route::get('reservation/download/{reservation}', 'ReservationController@download'); Route::get('reservation/success/{reservation}', array('as' => 'payment.success', 'uses' => 'ReservationController@success')); Route::get('reservation/failed/{reservation}', array('as' => 'payment.failed', 'uses' => 'ReservationController@failed')); Route::post('savepassenger', 'PassengerController@store'); Route::post('makepayment', array('as' => 'payment', 'uses' => 'PaypalController@postPayment')); Route::get('payment/status', array('as' => 'payment.status', 'uses' => 'PaypalController@getPaymentStatus')); Route::get('/dummy', function () { $faker = Faker\Factory::create(); for ($i = 0; $i < 20; $i++) { $cruise = array('name' => $faker->name, 'description' => $faker->text($maxNbChars = 200), 'depart_date' => $faker->randomElement($array = ['2016-1-8', '2016-1-9', '2016-1-10', '2016-1-11', '2016-1-12']), 'arrive_date' => $faker->randomElement($array = ['2016-1-19', '2016-1-20', '2016-1-21', '2016-1-22', '2016-1-23']), 'depart_location' => $faker->randomElement($array = ['Singapore', 'Malaysia', 'Maldives', 'Thailand', 'Sri Lanka']), 'arrive_location' => $faker->randomElement($array = ['Amsterdam', 'Hong Kong', 'China', 'Australia', 'Japan']), 'price' => $faker->randomFloat($bMaxDecimals = 2, $min = 100, $max = 2000), 'type' => $faker->randomElement($array = ['Luxury', 'Classic', 'Holiday']), 'status' => 0); $newcruise = Cruise::create($cruise); $newcruise->image = "cruise_" . $newcruise->id . ".jpg"; $newcruise->save(); } }); // User Routes Route::get('user/{user}', 'UserController@show'); Route::post('user/{user}', 'UserController@create'); Route::put('user/{user}', 'UserController@update'); Route::get('user/{user}/reservations', 'UserController@showReservations'); //Promotion Routes //Amenities Routes //Cabins Routes //Reservations Routes //All Admin Routes Route::group(['prefix' => 'admin'], function () {