From a679abea52006ab09a3f4acea89a486260a8c630 Mon Sep 17 00:00:00 2001 From: Anders Date: Tue, 28 Jul 2020 08:44:25 +0200 Subject: [PATCH 1/5] Route to UserEventController --- .../Http/Controllers/UserEventController.php | 24 +++++++++++++++++++ .../views/app/events/index.blade.php | 4 +++- skolehjem/routes/web.php | 1 + 3 files changed, 28 insertions(+), 1 deletion(-) create mode 100644 skolehjem/app/Http/Controllers/UserEventController.php diff --git a/skolehjem/app/Http/Controllers/UserEventController.php b/skolehjem/app/Http/Controllers/UserEventController.php new file mode 100644 index 0000000..b79af8d --- /dev/null +++ b/skolehjem/app/Http/Controllers/UserEventController.php @@ -0,0 +1,24 @@ +Aktiviteter @if(!$events->isEmpty()) @foreach($events as $event) +
Auth::user()], ['event' => $event->id]) }}">

{{$event->name}}

{{$event->date}}

{{$event->description}}

- Tilmeld + +
@endforeach @else

Der er ingen aktiviteter!

diff --git a/skolehjem/routes/web.php b/skolehjem/routes/web.php index 00e6079..bfc94b7 100644 --- a/skolehjem/routes/web.php +++ b/skolehjem/routes/web.php @@ -44,6 +44,7 @@ Route::resource("menu-plans", "MenuPlanController"); Route::resource("users", "UserController"); //Route::resource("staff", "StaffController"); Route::resource("events", "EventController"); +Route::resource("userevents", "UserEventController"); Route::resource("washing-machines", "WashingMachineController"); Route::resource("washing-reservations", "WashingReservationController"); Route::resource("feedbacks", "FeedbackController"); From 80725dee123137fbc9ae48f895310582c8e76407 Mon Sep 17 00:00:00 2001 From: Anders Date: Tue, 28 Jul 2020 10:13:44 +0200 Subject: [PATCH 2/5] Made it possible to sign up for events. Added fail and success messages when signing up. Fixed unique keys in migrate --- .../Http/Controllers/UserEventController.php | 23 ++++++++++++++++--- skolehjem/app/UserEvent.php | 10 +++++++- ..._07_28_061420_create_user_events_table.php | 4 ++-- .../views/app/events/index.blade.php | 6 ++++- 4 files changed, 36 insertions(+), 7 deletions(-) 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 From 8d8b5491c903ed2cb5e49c99cb22a4604c021e86 Mon Sep 17 00:00:00 2001 From: Anders Date: Tue, 28 Jul 2020 10:17:00 +0200 Subject: [PATCH 3/5] Removed unused/commented code --- skolehjem/resources/views/admin/layout/base.blade.php | 3 --- skolehjem/resources/views/app/layout/base.blade.php | 3 --- skolehjem/routes/web.php | 1 - 3 files changed, 7 deletions(-) diff --git a/skolehjem/resources/views/admin/layout/base.blade.php b/skolehjem/resources/views/admin/layout/base.blade.php index 9ba4838..a65f55d 100644 --- a/skolehjem/resources/views/admin/layout/base.blade.php +++ b/skolehjem/resources/views/admin/layout/base.blade.php @@ -32,9 +32,6 @@ -{{--
--}} -{{--

Personale

--}} -{{--
--}} diff --git a/skolehjem/resources/views/app/layout/base.blade.php b/skolehjem/resources/views/app/layout/base.blade.php index ed3c8fa..e2c9a11 100644 --- a/skolehjem/resources/views/app/layout/base.blade.php +++ b/skolehjem/resources/views/app/layout/base.blade.php @@ -3,15 +3,12 @@ @yield("title") -{{-- --}} -{{-- @yield("header")--}}
diff --git a/skolehjem/routes/web.php b/skolehjem/routes/web.php index bfc94b7..0a33e89 100644 --- a/skolehjem/routes/web.php +++ b/skolehjem/routes/web.php @@ -42,7 +42,6 @@ Route::get("/userapi", "UserController@search")->name("users.search"); Route::resource("contacts", "ContactController"); Route::resource("menu-plans", "MenuPlanController"); Route::resource("users", "UserController"); -//Route::resource("staff", "StaffController"); Route::resource("events", "EventController"); Route::resource("userevents", "UserEventController"); Route::resource("washing-machines", "WashingMachineController"); From fbe72420dc3797e703babd1f3ec81423d84591b4 Mon Sep 17 00:00:00 2001 From: Sebastian Date: Tue, 28 Jul 2020 10:22:45 +0200 Subject: [PATCH 4/5] Added RoleSeeder.php --- .../app/Http/Controllers/UserController.php | 5 +-- skolehjem/database/seeds/RoleSeeder.php | 36 +++++++++++++++++++ 2 files changed, 39 insertions(+), 2 deletions(-) create mode 100644 skolehjem/database/seeds/RoleSeeder.php diff --git a/skolehjem/app/Http/Controllers/UserController.php b/skolehjem/app/Http/Controllers/UserController.php index 7d76618..686c80a 100644 --- a/skolehjem/app/Http/Controllers/UserController.php +++ b/skolehjem/app/Http/Controllers/UserController.php @@ -68,17 +68,18 @@ class UserController extends Controller "email" => "required|email|unique:users", "password" => "required|max:60", "phone" => "required|unique:users", - "roles" => "max:255" ]); // Log::debug("FINISHED VALIDATION?"); + $rolez = $request->input("roles", [ "User" ]); + $user = new User($data); // Log::debug("CREATED USER [NOT PERSISTED YET]"); - $user->assignRole([ "R1", "R2" ]); + $user->assignRole($rolez); $user->save(); // Log::debug("SAVED USER"); diff --git a/skolehjem/database/seeds/RoleSeeder.php b/skolehjem/database/seeds/RoleSeeder.php new file mode 100644 index 0000000..b734ecb --- /dev/null +++ b/skolehjem/database/seeds/RoleSeeder.php @@ -0,0 +1,36 @@ + "Admin", + "user" => "Userstuff", + + + ]; + + foreach ($roles as $key => $value) { + + try { + if (\Spatie\Permission\Models\Role::findByName($key)) + continue; + } catch (Exception $e) { + $permission = new \Spatie\Permission\Models\Role(); + + $permission->name = $key; + $permission->description = $value; + + $permission->save(); + } + } + } +} From f9c11e67dbfee1afb1b26f4f239ed5769393ae8f Mon Sep 17 00:00:00 2001 From: Anders Date: Tue, 28 Jul 2020 10:31:44 +0200 Subject: [PATCH 5/5] Error and succes messages when you change password as user --- skolehjem/app/Http/Controllers/UserController.php | 10 +++++----- skolehjem/resources/views/app/users/editpass.blade.php | 2 ++ skolehjem/resources/views/app/users/login.blade.php | 1 + 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/skolehjem/app/Http/Controllers/UserController.php b/skolehjem/app/Http/Controllers/UserController.php index 7d76618..46cdd6e 100644 --- a/skolehjem/app/Http/Controllers/UserController.php +++ b/skolehjem/app/Http/Controllers/UserController.php @@ -166,16 +166,16 @@ class UserController extends Controller //$user->save(); } else { // Else if you're not on the admin site (user site) if ($request->input('password') != null) { // If you're editing the password - if ($request->input('password') != $request->input('confirmpassword')) { // If new password and new password confirm is not the same, go back. - return Response::detect("users.editpass"); - } elseif (!Hash::check($request->input('oldpassword'), $user->password)) { // If the written current password and current password in DB is not the same, go back. - return Response::detect("users.editpass"); + if ($request->input('password') != $request->input('confirmpassword')) { // If new password and new password confirm is not the same, go back with fail message. + return redirect()->route("users.accounteditpass")->with('error#notsamepass', '

Der stod ikke det samme i `Nyt Password` & `Bekræft Nyt Password`!

'); + } elseif (!Hash::check($request->input('oldpassword'), $user->password)) { // If the written current password and current password in DB is not the same, go back with fail message. + return redirect()->route("users.accounteditpass")->with('error#oldpass', '

Det indtastede password i `Nuværende Password` er ikke dit nuværende password!

'); } else { // If new password and current password is the same AND current written and current DB password is the same. Then update and logout. /** @var User $user */ $user->update($data); Auth::logout(); - return redirect()->route("users.login"); + return redirect()->route("users.login")->with('success#passwordchange', '

Dit password er hermed ændret!

'); } } else { // Else if you're not editing the password but anything else (Email, Phone Number). Then update user. $user->update($data); diff --git a/skolehjem/resources/views/app/users/editpass.blade.php b/skolehjem/resources/views/app/users/editpass.blade.php index e04e51c..4453086 100644 --- a/skolehjem/resources/views/app/users/editpass.blade.php +++ b/skolehjem/resources/views/app/users/editpass.blade.php @@ -16,6 +16,8 @@ Bekræft Nyt Password: + {!! session()->get('error#notsamepass') !!} + {!! session()->get('error#oldpass') !!} diff --git a/skolehjem/resources/views/app/users/login.blade.php b/skolehjem/resources/views/app/users/login.blade.php index 52c34cd..e13dc07 100644 --- a/skolehjem/resources/views/app/users/login.blade.php +++ b/skolehjem/resources/views/app/users/login.blade.php @@ -19,6 +19,7 @@ Remember password + {!! session()->get('success#passwordchange') !!} Forgot password?