User can now remove themselves from an event - And get a success message after they've done so.

Removed user_id from washingReservation
This commit is contained in:
Anders 2020-07-29 14:59:35 +02:00
parent d6fc1b63b0
commit 0c5cb360f2
5 changed files with 65 additions and 6 deletions

View File

@ -8,7 +8,17 @@ use Illuminate\Http\Response;
class UserEventController extends Controller
{
/**
* Update the specified resource in storage.
*
* @return \Illuminate\Contracts\Foundation\Application|\Illuminate\Contracts\View\Factory|\Illuminate\View\View
*/
public function index()
{
$userevents = UserEvent::join('events', 'events.id', '=', 'user_events.event_id')->where('user_id', auth()->user()->id)->get();
return Response::detect("events.yourevents", [ "userevents" => $userevents ]);
}
/**
* Update the specified resource in storage.
@ -20,12 +30,11 @@ class UserEventController extends Controller
{
// Get written data from events.index
$data = $request->validate([
"user_id" => "required|max:255",
"event_id" => "required|max:255"
]);
// Check the UserEvent table if there is a row that has the user_id AND the event_id
$getTableInfo = UserEvent::where('user_id', $request->user_id)
$getTableInfo = UserEvent::where('user_id', auth()->user()->id)
->where('event_id', $request->event_id)->get();
// If the row has both, then go back and show an error - Cause you're not allowed to be on the same event twice.
@ -34,8 +43,33 @@ class UserEventController extends Controller
// If not, then it keeps going and saves and shows a success message
$UserEvent = new UserEvent($data);
$UserEvent->user_id = auth()->user()->id;
$UserEvent->save();
return redirect()->route("events.index")->with('signup#' . $request->event_id, '<p class="text-center">Du er hermed tilmeldt denne aktivitet!</p>');
}
/**
* Update the specified resource in storage.
*
* @param UserEvent $id
* @return \Illuminate\Contracts\Foundation\Application|\Illuminate\Contracts\View\Factory|\Illuminate\View\View
*/
public function destroy($id)
{
// Check the UserEvent table if there is a row that has the user_id AND the event_id
//$UserEvent = UserEvent::find($eventid)
$UserEvent = UserEvent::query()->where('user_id', "=", auth()->user()->id)->where('event_id', "=", $id);
$UserEvent->delete();
$JoinedEvents = UserEvent::query()->join('events', 'events.id', '=', 'user_events.event_id')->where('user_id', "=", auth()->user()->id)->get();
return redirect()->route("userevents.index", [ "userevents" => $JoinedEvents ])->with('eventunsubscribed', '<p class="text-center">Du har hermed afmeldt aktiviteten!</p>');
}
public function show()
{
}
}

View File

@ -61,11 +61,11 @@ class WashingReservationController extends Controller
{
$data = $request->validate([
"time" => "required",
"machine_id" => "required|unique:washing_reservations,machine_id,NULL,id,time,' . $request->time",
"user_id" => "required"
"machine_id" => "required|unique:washing_reservations,machine_id,NULL,id,time,' . $request->time"
]);
$machineReservation = new WashingReservation($data);
$machineReservation->user_id = auth()->user()->id;
$machineReservation->save();
$saved = $machineReservation->save();

View File

@ -12,7 +12,6 @@
<h3 class="sde-blue bold text-center mb-0">{{$event->name}}</h3>
<p class="text-center mt-0">{{$event->date}}</p>
<p class="text-center">{{$event->description}}</p>
<input type="hidden" name="user_id" value="{{ Auth::user()->id }}">
<input type="hidden" name="event_id" value="{{ $event->id }}">
{!! session()->get('error#' . $event->id) !!}
{!! session()->get('signup#' . $event->id) !!}
@ -22,5 +21,6 @@
@else
<p class="text-center">Der er ingen aktiviteter!</p>
@endif
<a href="{{ route("userevents.index") }}" type="submit" class="mt-2 btn text-center btn-sde-blue" id="tilmeld">Se Tilmeldte Aktiviteter</a>
</main>
@endsection

View File

@ -0,0 +1,26 @@
@extends("app.layout.base")
@section("title")
Aktiviteter
@endsection
@section("content")
<main>
<h1 class="text-center sde-blue mb-0">Aktiviteter</h1>
{!! session()->get('eventunsubscribed') !!}
@if(!$userevents->isEmpty())
@foreach($userevents as $userevent)
<form method="post" action="{{ route("userevents.destroy", $userevent) }}">
@csrf
@method("delete")
<h3 class="sde-blue bold text-center mb-0">{{$userevent->name}}</h3>
<p class="text-center mt-0">{{$userevent->date}}</p>
<p class="text-center">{{$userevent->description}}</p>
<button type="submit" class="btn text-center btn-sde-blue" id="tilmeld">Afmeld</button>
</form>
@endforeach
@else
<p class="text-center">Du har ikke tilmeldt dig nogen aktiviteter!</p>
@endif
<a href="{{ route("events.index") }}" type="submit" class="mt-2 btn text-center btn-sde-blue">Tilbage</a>
</main>
@endsection

View File

@ -27,7 +27,6 @@
</div>
<form method="post" action="{{ route("washing-reservations.store") }}" id="event-container" class="events-container">
@csrf
<input type="hidden" value="{{auth()->user()->id}}" name="user_id">
<p>
Maskiner skal dynamisk opdateres alt efter om det er en fra bygning E eller en af de andre bygninger der vil vaske, da bygning E har egen vaskekælder!
</p>