Add account delete

This commit is contained in:
Timothée Jaussoin 2020-04-20 12:55:08 +02:00
parent c115f4b45c
commit 8fcffd4ff8
4 changed files with 48 additions and 0 deletions

View file

@ -26,6 +26,23 @@ class AccountController extends Controller
return view('account.login');
}
public function delete(Request $request)
{
return view('account.delete', [
'account' => $request->user()
]);
}
public function destroy(Request $request)
{
$request->validate(['identifier' => 'required|same:identifier_confirm']);
Auth::logout();
//$request->user()->delete();
return redirect()->route('account.login');
}
public function authenticate(Request $request)
{
$request->validate([

View file

@ -0,0 +1,22 @@
@extends('layouts.account')
@section('content')
<h2>Delete my account</h2>
{!! Form::open(['route' => 'account.destroy', 'method' => 'delete']) !!}
<p>You are going to permanently delete your account.</p>
<p>Please enter your username <b>{{ $account->identifier }}</b> to confirm.</p>
<div class="form-group">
{!! Form::label('identifier', 'Username') !!}
{!! Form::text('identifier', old('identifier'), ['class' => 'form-control', 'placeholder' => 'username@server.com', 'required']) !!}
</div>
{!! Form::hidden('identifier_confirm', $account->identifier) !!}
{!! Form::submit('Delete', ['class' => 'btn btn-danger float-right']) !!}
{!! Form::close() !!}
@endsection

View file

@ -23,6 +23,12 @@
<p class="mb-1">MD5 password only</p>
@endif
</a>
<a href="{{ route('account.delete') }}" class="list-group-item list-group-item-action">
<div class="d-flex w-100 justify-content-between">
<h5 class="mb-1">Delete my account</h5>
</div>
<p class="mb-1">Remove your account from our service</p>
</a>
</div>
@endsection

View file

@ -34,6 +34,9 @@ Route::group(['middleware' => 'auth'], function () {
Route::get('/', 'AccountController@index')->name('account.index');
Route::get('logout', 'AccountController@logout')->name('account.logout');
Route::get('delete', 'AccountController@delete')->name('account.delete');
Route::delete('delete', 'AccountController@destroy')->name('account.destroy');
Route::get('email', 'AccountEmailController@show')->name('account.email');
Route::post('email', 'AccountEmailController@update')->name('account.email.update');
Route::get('password', 'AccountPasswordController@show')->name('account.password');