diff --git a/skolehjem/app/Http/Controllers/UserEventController.php b/skolehjem/app/Http/Controllers/UserEventController.php index b79af8d..001e730 100644 --- a/skolehjem/app/Http/Controllers/UserEventController.php +++ b/skolehjem/app/Http/Controllers/UserEventController.php @@ -2,6 +2,7 @@ namespace App\Http\Controllers; +use App\UserEvent; use Illuminate\Http\Request; use Illuminate\Http\Response; @@ -13,12 +14,28 @@ class UserEventController extends Controller * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request - * @param int $userid - * @param int $eventid * @return \Illuminate\Contracts\Foundation\Application|\Illuminate\Contracts\View\Factory|\Illuminate\View\View */ - public function create(Request $request, $userid, $eventid) + public function create(Request $request) { + // 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) + ->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. + if (count($getTableInfo) > 0) + return redirect()->route("events.index")->with('error#' . $request->event_id, '

Du har allerede tilmeldt dig denne Aktivitet!

'); + + // If not, then it keeps going and saves and shows a success message + $UserEvent = new UserEvent($data); + $UserEvent->save(); + + return redirect()->route("events.index")->with('signup#' . $request->event_id, '

Du er hermed tilmeldt denne aktivitet!

'); } } diff --git a/skolehjem/app/UserEvent.php b/skolehjem/app/UserEvent.php index 3899fd5..a947d8f 100644 --- a/skolehjem/app/UserEvent.php +++ b/skolehjem/app/UserEvent.php @@ -6,5 +6,13 @@ use Illuminate\Database\Eloquent\Model; class UserEvent extends Model { - // + /** + * The attributes that are mass assignable. + * + * @var array + */ + //protected variable which contains name of database field(s) to be filled. + protected $fillable = [ + 'user_id', 'event_id' + ]; } diff --git a/skolehjem/database/migrations/2020_07_28_061420_create_user_events_table.php b/skolehjem/database/migrations/2020_07_28_061420_create_user_events_table.php index e129f3c..39bef20 100644 --- a/skolehjem/database/migrations/2020_07_28_061420_create_user_events_table.php +++ b/skolehjem/database/migrations/2020_07_28_061420_create_user_events_table.php @@ -15,8 +15,8 @@ class CreateUserEventsTable extends Migration { Schema::create('user_events', function (Blueprint $table) { $table->id(); - $table->integer("user_id")->unique(); - $table->integer("event_id")->unique(); + $table->integer("user_id"); + $table->integer("event_id"); $table->timestamps(); diff --git a/skolehjem/resources/views/app/events/index.blade.php b/skolehjem/resources/views/app/events/index.blade.php index 7d4637f..427a7ab 100644 --- a/skolehjem/resources/views/app/events/index.blade.php +++ b/skolehjem/resources/views/app/events/index.blade.php @@ -9,10 +9,14 @@

Aktiviteter

@if(!$events->isEmpty()) @foreach($events as $event) -
Auth::user()], ['event' => $event->id]) }}"> +

{{$event->name}}

{{$event->date}}

{{$event->description}}

+ + + {!! session()->get('error#' . $event->id) !!} + {!! session()->get('signup#' . $event->id) !!}
@endforeach