Skip to content

Commit 5fc987e

Browse files
Show errors during deletion of user on settings page
1 parent fe6846d commit 5fc987e

File tree

2 files changed

+15
-5
lines changed

2 files changed

+15
-5
lines changed

app/Http/Controllers/SettingsController.php

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
use App\Actions\CreateStripeCustomerAction;
77
use App\Actions\DeleteUserAction;
88
use App\Actions\FetchStripeSubscriptionAction;
9+
use App\Exceptions\UserActiveStripeSubscriptionException;
910
use App\Exceptions\UserStripelessException;
1011
use Illuminate\Http\Request;
1112
use App\Mail\PasswordChanged;
@@ -95,9 +96,15 @@ public function getAccount()
9596
return view('settings.account');
9697
}
9798

98-
public function postAccountDelete()
99+
public function postAccountDelete(Request $request)
99100
{
100-
(new DeleteUserAction())->execute(Auth::id());
101+
try {
102+
(new DeleteUserAction())->execute(Auth::id());
103+
} catch (UserActiveStripeSubscriptionException $e) {
104+
$request->session()->flash('delete_user_error', 'active_stripe_subscription');
105+
106+
return redirect()->route('settings.account');
107+
}
101108

102109
Auth::logout();
103110

resources/views/settings/account.blade.php

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,10 @@
2929
@endsection
3030

3131
@section('settings_body_formless')
32-
<delete-user-button
33-
class="mt-2"
34-
csrf-token="{{ csrf_token() }}"></delete-user-button>
32+
<div class="mt-2">
33+
@if (session('delete_user_error') === 'active_stripe_subscription')
34+
<div class="color-red mb-1">Unable to delete user, you still have a premium plan (and would continue to be billed otherwise)</div>
35+
@endif
36+
<delete-user-button csrf-token="{{ csrf_token() }}"></delete-user-button>
37+
</div>
3538
@endsection

0 commit comments

Comments
 (0)