diff --git a/app/Http/Controllers/Controller.php b/app/Http/Controllers/Controller.php index 08f7a7376..6338d7625 100644 --- a/app/Http/Controllers/Controller.php +++ b/app/Http/Controllers/Controller.php @@ -39,7 +39,7 @@ class Controller extends BaseController } else { $team = $user->teams()->first(); } - if (is_null(data_get($user, 'email_verified_at'))){ + if (is_null(data_get($user, 'email_verified_at'))) { $user->email_verified_at = now(); $user->save(); } @@ -137,16 +137,28 @@ class Controller extends BaseController public function acceptInvitation() { try { - $invitation = TeamInvitation::whereUuid(request()->route('uuid'))->firstOrFail(); + $resetPassword = request()->query('reset-password'); + $invitationUuid = request()->route('uuid'); + $invitation = TeamInvitation::whereUuid($invitationUuid)->firstOrFail(); $user = User::whereEmail($invitation->email)->firstOrFail(); - if (auth()->user()->id !== $user->id) { - abort(401); - } $invitationValid = $invitation->isValid(); if ($invitationValid) { + if ($resetPassword) { + $user->update([ + 'password' => Hash::make($invitationUuid), + 'force_password_reset' => true + ]); + } + if ($user->teams()->where('team_id', $invitation->team->id)->exists()) { + $invitation->delete(); + return redirect()->route('team.index'); + } $user->teams()->attach($invitation->team->id, ['role' => $invitation->role]); - refreshSession($invitation->team); $invitation->delete(); + if (auth()->user()?->id !== $user->id) { + return redirect()->route('login'); + } + refreshSession($invitation->team); return redirect()->route('team.index'); } else { abort(401); diff --git a/app/Http/Middleware/CheckForcePasswordReset.php b/app/Http/Middleware/CheckForcePasswordReset.php index e8129deda..79b3819f7 100644 --- a/app/Http/Middleware/CheckForcePasswordReset.php +++ b/app/Http/Middleware/CheckForcePasswordReset.php @@ -24,7 +24,7 @@ class CheckForcePasswordReset } $force_password_reset = auth()->user()->force_password_reset; if ($force_password_reset) { - if ($request->routeIs('auth.force-password-reset') || $request->path() === 'livewire/message/force-password-reset') { + if ($request->routeIs('auth.force-password-reset') || $request->path() === 'force-password-reset' || $request->path() === 'livewire/update' || $request->path() === 'logout') { return $next($request); } return redirect()->route('auth.force-password-reset'); diff --git a/app/Http/Middleware/DecideWhatToDoWithUser.php b/app/Http/Middleware/DecideWhatToDoWithUser.php index 19a09125a..1381396df 100644 --- a/app/Http/Middleware/DecideWhatToDoWithUser.php +++ b/app/Http/Middleware/DecideWhatToDoWithUser.php @@ -11,6 +11,9 @@ class DecideWhatToDoWithUser { public function handle(Request $request, Closure $next): Response { + if(auth()?->user()?->currentTeam()){ + refreshSession(auth()->user()->currentTeam()); + } if (!auth()->user() || !isCloud() || isInstanceAdmin()) { if (!isCloud() && showBoarding() && !in_array($request->path(), allowedPathsForBoardingAccounts())) { return redirect('boarding'); diff --git a/bootstrap/helpers/subscriptions.php b/bootstrap/helpers/subscriptions.php index c994199f2..47ea21e46 100644 --- a/bootstrap/helpers/subscriptions.php +++ b/bootstrap/helpers/subscriptions.php @@ -128,11 +128,6 @@ function allowedPathsForUnsubscribedAccounts() 'logout', 'waitlist', 'force-password-reset', - // 'livewire/message/force-password-reset', - // 'livewire/message/check-license', - // 'livewire/message/switch-team', - // 'livewire/message/subscription.pricing-plans', - // 'livewire/message/help', 'livewire/update' ]; } @@ -141,8 +136,6 @@ function allowedPathsForBoardingAccounts() return [ ...allowedPathsForUnsubscribedAccounts(), 'boarding', - // 'livewire/message/boarding.index', - // 'livewire/message/activity-monitor', 'livewire/update' ]; } @@ -151,9 +144,6 @@ function allowedPathsForInvalidAccounts() { 'logout', 'verify', 'force-password-reset', - // 'livewire/message/force-password-reset', - // 'livewire/message/verify-email', - // 'livewire/message/help', 'livewire/update' ]; } diff --git a/resources/views/auth/reset-password.blade.php b/resources/views/auth/reset-password.blade.php index ae417a0d9..6b248cfee 100644 --- a/resources/views/auth/reset-password.blade.php +++ b/resources/views/auth/reset-password.blade.php @@ -1,13 +1,13 @@
-
+
-

{{ __('auth.reset_password') }}

+ {{ __('auth.reset_password') }}
diff --git a/resources/views/layouts/simple.blade.php b/resources/views/layouts/simple.blade.php index c3a25cda8..77bff99ab 100644 --- a/resources/views/layouts/simple.blade.php +++ b/resources/views/layouts/simple.blade.php @@ -1,6 +1,7 @@ @extends('layouts.base') @section('body') @parent +
{{ $slot }}
diff --git a/resources/views/livewire/force-password-reset.blade.php b/resources/views/livewire/force-password-reset.blade.php index 42f1576a4..d6951d0ad 100644 --- a/resources/views/livewire/force-password-reset.blade.php +++ b/resources/views/livewire/force-password-reset.blade.php @@ -1,12 +1,12 @@
-
+
-

Set your initial password

+ Set your initial password