From f1ff6ed4c2a17ea30eac442933c13e9878a117c7 Mon Sep 17 00:00:00 2001 From: Torsten Date: Mon, 20 Jun 2022 10:50:43 +0200 Subject: [PATCH] Join tour with rooms from modal --- motorradig/app/Booking.php | 2 +- .../app/Http/Controllers/TourController.php | 7 +++++ motorradig/app/Tour.php | 26 ++++++++++++------- .../resources/views/layouts/app.blade.php | 2 +- motorradig/routes/web.php | 3 +++ 5 files changed, 29 insertions(+), 11 deletions(-) diff --git a/motorradig/app/Booking.php b/motorradig/app/Booking.php index cdca61f..9f9d7c0 100644 --- a/motorradig/app/Booking.php +++ b/motorradig/app/Booking.php @@ -7,5 +7,5 @@ use Illuminate\Database\Eloquent\Model; class Booking extends Model { public $timestamps=true; - protected $fillable=['tour_id','user_id','created_at','updated_at']; + protected $fillable=['tour_id','user_id','room_id','created_at','updated_at']; } diff --git a/motorradig/app/Http/Controllers/TourController.php b/motorradig/app/Http/Controllers/TourController.php index 9931489..a0f7656 100644 --- a/motorradig/app/Http/Controllers/TourController.php +++ b/motorradig/app/Http/Controllers/TourController.php @@ -316,10 +316,17 @@ class TourController extends Controller } public function join($tour_id) { + Log::info("TourController::join"); $user=Auth::user(); Tour::join($tour_id,$user->id); return redirect('/tour/'.$tour_id); } + public function join_room($tour_id,$room_id) { + Log::info("TourController::join_room"); + $user=Auth::user(); + Tour::join_room($tour_id,$user->id, $room_id); + return redirect('/tour/'.$tour_id); + } public function cancelBooking($tour_id) { $user=Auth::user(); diff --git a/motorradig/app/Tour.php b/motorradig/app/Tour.php index 7f11107..15cd86d 100644 --- a/motorradig/app/Tour.php +++ b/motorradig/app/Tour.php @@ -5,6 +5,7 @@ namespace App; use Illuminate\Database\Eloquent\Model; use Carbon\Carbon; use Illuminate\Support\Facades\DB; +use Log; class Tour extends Model { @@ -26,20 +27,27 @@ class Tour extends Model return false; } + // old join without room parameter public static function join($tour_id,$user_id) { - error_log("Tour::join, tour_id=".$tour_id.", user_id=".$user_id); - /* - Booking::firstOrCreate( - ['tour_id',$tour_id], - ['user_id',$user_id], - ['updated_at', Carbon::now()] - ); - */ + Log::info("Tour::join, tour_id=".$tour_id.", user_id=".$user_id); $booking = Booking::firstOrCreate( ['tour_id' => $tour_id, 'user_id' => $user_id], ['tour_id' => $tour_id, 'user_id' => $user_id, 'created_at' => Carbon::now(), 'updated_at' => Carbon::now() ] ); - error_log($booking); + //Log::info($booking); + } + + // new join with room parameter + public static function join_room($tour_id, $user_id, $room_id) { + Log::info("Tour::join_room, tour_id=".$tour_id.", user_id=".$user_id.", room_id=".$room_id); + $booking = Booking::firstOrCreate( + ['tour_id' => $tour_id, 'user_id' => $user_id], // Retrieve if existing + ['tour_id' => $tour_id, 'user_id' => $user_id, 'room_id' => $room_id, + 'created_at' => Carbon::now(), 'updated_at' => Carbon::now() ] // or create new + ); + $booking->room_id=$room_id; + $booking->save(); + //Log::info($booking); } public static function cancel($tour_id, $user_id) { diff --git a/motorradig/resources/views/layouts/app.blade.php b/motorradig/resources/views/layouts/app.blade.php index c90b646..cef1dff 100644 --- a/motorradig/resources/views/layouts/app.blade.php +++ b/motorradig/resources/views/layouts/app.blade.php @@ -7,7 +7,7 @@ - {{ config('app.name', 'Laravel') }} + {{ config('app.name', 'Motorrag IG') }} diff --git a/motorradig/routes/web.php b/motorradig/routes/web.php index 99398f6..e412d3f 100644 --- a/motorradig/routes/web.php +++ b/motorradig/routes/web.php @@ -48,7 +48,10 @@ Route::post('/tour/update', 'TourController@store')->middleware('auth'); Route::post('/tour/upload_gallery/{tour_id}', 'TourController@upload_gallery'); Route::resource('/tour', TourController::class)->middleware('auth'); +// alt Route::get('/tour/{tour_id}/join', 'TourController@join')->middleware('auth'); +// neu +Route::get('/tour/{tour_id}/join/{room_id}', 'TourController@join_room')->middleware('auth'); Route::get('/tour/{tour_id}/cancelBooking', 'TourController@cancelBooking')->middleware('auth'); Route::get('/tour/{tour_id}/cancelBookingAdmin/{user_id}', 'TourController@cancelBookingAdmin')->middleware('auth'); Route::get('/tour/{tour_id}/create_room/{capacity}', 'TourController@create_room')->middleware('auth');