Made it possible to sign up for events.
Added fail and success messages when signing up. Fixed unique keys in migrate
This commit is contained in:
parent
dcc93ae40c
commit
80725dee12
|
@ -2,6 +2,7 @@
|
||||||
|
|
||||||
namespace App\Http\Controllers;
|
namespace App\Http\Controllers;
|
||||||
|
|
||||||
|
use App\UserEvent;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
use Illuminate\Http\Response;
|
use Illuminate\Http\Response;
|
||||||
|
|
||||||
|
@ -13,12 +14,28 @@ class UserEventController extends Controller
|
||||||
* Update the specified resource in storage.
|
* Update the specified resource in storage.
|
||||||
*
|
*
|
||||||
* @param \Illuminate\Http\Request $request
|
* @param \Illuminate\Http\Request $request
|
||||||
* @param int $userid
|
|
||||||
* @param int $eventid
|
|
||||||
* @return \Illuminate\Contracts\Foundation\Application|\Illuminate\Contracts\View\Factory|\Illuminate\View\View
|
* @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, '<p class="text-center">Du har allerede tilmeldt dig denne Aktivitet!</p>');
|
||||||
|
|
||||||
|
// 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, '<p class="text-center">Du er hermed tilmeldt denne aktivitet!</p>');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,5 +6,13 @@ use Illuminate\Database\Eloquent\Model;
|
||||||
|
|
||||||
class UserEvent extends 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'
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|
|
@ -15,8 +15,8 @@ class CreateUserEventsTable extends Migration
|
||||||
{
|
{
|
||||||
Schema::create('user_events', function (Blueprint $table) {
|
Schema::create('user_events', function (Blueprint $table) {
|
||||||
$table->id();
|
$table->id();
|
||||||
$table->integer("user_id")->unique();
|
$table->integer("user_id");
|
||||||
$table->integer("event_id")->unique();
|
$table->integer("event_id");
|
||||||
|
|
||||||
$table->timestamps();
|
$table->timestamps();
|
||||||
|
|
||||||
|
|
|
@ -9,10 +9,14 @@
|
||||||
<h1 class="text-center sde-blue mb-0">Aktiviteter</h1>
|
<h1 class="text-center sde-blue mb-0">Aktiviteter</h1>
|
||||||
@if(!$events->isEmpty())
|
@if(!$events->isEmpty())
|
||||||
@foreach($events as $event)
|
@foreach($events as $event)
|
||||||
<form method="post" action="{{ route("userevents.update", ['user' => Auth::user()], ['event' => $event->id]) }}">
|
<form method="get" action="{{ route("userevents.create") }}">
|
||||||
<h3 class="sde-blue bold text-center mb-0">{{$event->name}}</h3>
|
<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 mt-0">{{$event->date}}</p>
|
||||||
<p class="text-center">{{$event->description}}</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) !!}
|
||||||
<button type="submit" class="btn text-center btn-sde-blue" id="tilmeld">Tilmeld</button>
|
<button type="submit" class="btn text-center btn-sde-blue" id="tilmeld">Tilmeld</button>
|
||||||
</form>
|
</form>
|
||||||
@endforeach
|
@endforeach
|
||||||
|
|
Loading…
Reference in New Issue