diff --git a/motorradig/app/Http/Controllers/TourController.php b/motorradig/app/Http/Controllers/TourController.php index fda1106..1e93f18 100644 --- a/motorradig/app/Http/Controllers/TourController.php +++ b/motorradig/app/Http/Controllers/TourController.php @@ -317,11 +317,26 @@ class TourController extends Controller 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); + $user_id = Auth::user()->id; + Tour::join_room($tour_id,$user_id, $room_id); return redirect('/tour/'.$tour_id); } + public function join_room4user($tour_id,$room_id,$user_id) { + Log::info("TourController::join_room"); + Tour::join_room($tour_id,$user_id, $room_id); + $tour = Tour::find($tour_id); + $tour->start = Tour::toGermanDate($tour->start); + $tour->deadline = Tour::toGermanDate($tour->deadline); + + $rooms = $this->fetch_rooms($tour->id); + + return view('tour.edit') + ->with('tour', $tour) + ->with('rooms', $rooms); + + return redirect('/tour/'.$tour_id); + } public function cancelBooking($tour_id) { $user=Auth::user(); Booking::where('tour_id', $tour_id)->where('user_id', $user->id)->delete(); diff --git a/motorradig/resources/views/tour/edit.blade.php b/motorradig/resources/views/tour/edit.blade.php index 1d5c344..5a79f03 100644 --- a/motorradig/resources/views/tour/edit.blade.php +++ b/motorradig/resources/views/tour/edit.blade.php @@ -13,7 +13,6 @@
-
@csrf @@ -40,7 +39,7 @@
- +
@@ -80,6 +79,52 @@
+ + + + + + +
@@ -99,7 +144,7 @@ @endif

[{{$room->room_id}}] {{$room->room_name}} @if($room->room_id>0) - + (X) Raum Löschen @endif @@ -113,8 +158,12 @@

  • {{ $room->user_name}} @if(Auth::user()->role=="ADMIN") - Stornieren + (-) + Ḱein Raum + + (Zimmer->) + @endif
  • @endif @@ -152,6 +201,66 @@ 'format':'dd.mm.yyyy', 'language':'de' }); + + ////////////////////////////////////////////////// + // Get the modal + var modal = document.getElementById("myModal"); + + // Get the button that opens the modal + //var btn = document.getElementById("myBtn"); + var btns=document.querySelectorAll("#myBtn"); + for (let i = 0; i < btns.length; ++i) { + //btns[i].user_id= + btns[i].onclick = function(e) { + + console.log("** CLICK **") + console.log(this) + let user_id = this.dataset.user_id + + // Jetzt die Links + var elems = document.querySelectorAll("#booking_link") + for (var i = 0; i < elems.length; i++) { + console.log("Before: ") + console.log(elems[i].href) + elems[i].href = elems[i].href.replace("#USER_ID", user_id) + console.log("After:") + console.log(elems[i].href) + + } + + // When the user clicks on the button, open the modal + e.preventDefault(); + modal.style.display = "block"; + + } + } + + // Get the element that closes the modal + var span = document.getElementsByClassName("close")[0]; + + + // When the user clicks on (x), close the modal, restore the links + span.onclick = function(e) { + e.preventDefault(); + modal.style.display = "none"; + + // Jetzt die Links + var elems = document.querySelectorAll("#booking_link") + for (var i = 0; i < elems.length; i++) { + arr = elems[i].href.split("/") + arr.pop() + str = arr.join("/")+"/#USER_ID" + elems[i].href=str + } + + } + + // When the user clicks anywhere outside of the modal, close it + window.onclick = function(event) { + if (event.target == modal) { + modal.style.display = "none"; + } + } @endsection diff --git a/motorradig/resources/views/tour/show.blade.php b/motorradig/resources/views/tour/show.blade.php index b1d23be..293864c 100644 --- a/motorradig/resources/views/tour/show.blade.php +++ b/motorradig/resources/views/tour/show.blade.php @@ -93,11 +93,6 @@ - - - - - - + diff --git a/motorradig/routes/web.php b/motorradig/routes/web.php index 67d78b7..ff49e15 100644 --- a/motorradig/routes/web.php +++ b/motorradig/routes/web.php @@ -49,10 +49,12 @@ Route::post('/tour/upload_gallery/{tour_id}', 'TourController@upload_gallery'); Route::resource('/tour', TourController::class)->middleware('auth'); Route::get('/tour/{tour_id}/join/{room_id}', 'TourController@join_room')->middleware('auth'); +Route::get('/tour/{tour_id}/join4user/{room_id}/{user_id}', 'TourController@join_room4user')->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'); Route::get('/tour/{tour_id}/delete_room/{room_id}', 'TourController@delete_room')->middleware('auth'); +Route::get('/tour/{tour_id}/assign_room_for_user/{user_id}', 'TourController@delete_room')->middleware('auth'); Route::get('/img_storage/{category}/{imageName}','ImageController@getImage'); // no middleware auth needed, its checked in Controller