diff --git a/motorradig/app/Http/Controllers/TourController.php b/motorradig/app/Http/Controllers/TourController.php index 1641844..77b8dea 100644 --- a/motorradig/app/Http/Controllers/TourController.php +++ b/motorradig/app/Http/Controllers/TourController.php @@ -119,7 +119,9 @@ class TourController extends Controller $user=User::find($booking->user_id); array_push($users, $user); } - if($tour->startstart < Carbon::now()) { $tour->start = Tour::toGermanDate($tour->start); $tour->deadline = Tour::toGermanDate($tour->deadline); return view('tour.show_old') @@ -128,19 +130,7 @@ class TourController extends Controller ->with('creator', $creator); } - $sql="SELECT bookings.room_id as room_id, - booking_rooms.name as room_name, - bookings.user_id as user_id, - users.name as user_name - FROM - bookings, booking_rooms, users - WHERE bookings.user_id=users.id AND bookings.room_id=booking_rooms.id AND bookings.tour_id=".$tour->id - ." ORDER BY booking_rooms.name;"; - Log::info("Fetch sql: ".$sql); - $rooms=DB::select($sql); - Log::info("Rooms query result:"); - Log::info($rooms); - + $rooms=$this->fetch_rooms($tour->id); $tour->start = Tour::toGermanDate($tour->start); $tour->deadline = Tour::toGermanDate($tour->deadline); @@ -157,6 +147,31 @@ class TourController extends Controller * @param \App\Tour $tour * @return \Illuminate\Http\Response */ + + private function fetch_rooms($tour_id) { + $sql="SELECT qry.tour_id, + qry.room_id, + qry.user_id, + qry.user_name, + COALESCE(br.name,'Ungebucht') room_name, + COALESCE(br.name,'ZZZZZZZZZ') room_sort_order + FROM ( + SELECT + bookings.tour_id, + bookings.room_id as room_id, + bookings.user_id as user_id, + users.name as user_name + FROM + bookings, users + WHERE bookings.user_id = users.id AND bookings.tour_id = ".$tour_id." + ) qry LEFT JOIN booking_rooms as br + ON br.id = qry.room_id + ORDER BY 6,4;"; + + $rooms=DB::select($sql); + return($rooms); + } + public function edit(Tour $tour) { error_log("Tour:edit"); @@ -167,18 +182,7 @@ class TourController extends Controller $tour->start = Tour::toGermanDate($tour->start); $tour->deadline = Tour::toGermanDate($tour->deadline); - $sql="SELECT bookings.room_id as room_id, - booking_rooms.name as room_name, - bookings.user_id as user_id, - users.name as user_name - FROM - bookings, booking_rooms, users - WHERE bookings.user_id=users.id AND bookings.room_id=booking_rooms.id AND bookings.tour_id=".$tour->id - ." ORDER BY booking_rooms.name;"; - Log::info("Fetch sql: ".$sql); - $rooms=DB::select($sql); - Log::info("Rooms query result:"); - Log::info($rooms); + $rooms = $this->fetch_rooms($tour->id); return view('tour.edit') ->with('tour', $tour) diff --git a/motorradig/database/migrations/2022_04_20_083326_create_booking_rooms.php b/motorradig/database/migrations/2022_04_20_083326_create_booking_rooms.php index 423a077..0147a82 100644 --- a/motorradig/database/migrations/2022_04_20_083326_create_booking_rooms.php +++ b/motorradig/database/migrations/2022_04_20_083326_create_booking_rooms.php @@ -25,25 +25,7 @@ class CreateBookingRooms extends Migration $table->integer('room_id')->after('user_id'); }); - // 1.) Dummy Räume für jede Tour erstellen - $result=DB::select("SELECT DISTINCT tour_id FROM bookings;"); - foreach ($result as $row) { - $sql="INSERT INTO booking_rooms(name,tour_id,capacity,created_at,updated_at) VALUES ('Dummy-Raum',".$row->tour_id.",100,CURRENT_TIMESTAMP,CURRENT_TIMESTAMP);"; - - DB::insert($sql); - } - - // 2.) room_id in bookings für jeden Teilnehmer nachtragen - $tours=DB::select("SELECT id from tours;"); - foreach($tours as $tour) { - $tour_users=DB::select("SELECT user_id FROM bookings WHERE tour_id=".$tour->id.";"); - $room=DB::select("SELECT id FROM booking_rooms WHERE tour_id=".$tour->id.";"); - foreach($tour_users as $tour_user) { - $sql="UPDATE bookings SET room_id=".$room[0]->id." WHERE tour_id=".$tour->id." and user_id=".$tour_user->user_id.";"; - print($sql."\n"); - DB::update($sql); - } - } + } diff --git a/readme.md b/readme.md index e6c1f9b..0442366 100644 --- a/readme.md +++ b/readme.md @@ -1,5 +1,5 @@ # MotorradIG Website ## Run -cd motorradig +cd motorradig; docker-compose up -d --build \ No newline at end of file