Skip to content

Commit 98d2a1e

Browse files
committed
Delete account is no longer a GET request
1 parent 4ae8a45 commit 98d2a1e

File tree

3 files changed

+30
-10
lines changed

3 files changed

+30
-10
lines changed

app/Http/Controllers/Admin/AccountsController.php

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -47,13 +47,17 @@ public function getView(Request $request, $id)
4747
]);
4848
}
4949

50-
public function getDelete(Request $request, $id)
50+
public function deleteView(Request $request, $id)
5151
{
52-
$user = new UserRepository;
53-
$user->delete($id);
54-
55-
Alert::success('An account has been successfully deleted.')->flash();
56-
return redirect()->route('admin.accounts');
52+
try {
53+
User::findOrFail($id)->delete();
54+
return response(null, 204);
55+
} catch(\Exception $ex) {
56+
Log::error($ex);
57+
return response()->json([
58+
'error' => 'An error occured while attempting to delete this user.'
59+
], 500);
60+
}
5761
}
5862

5963
public function postNew(Request $request)

app/Http/Routes/AdminRoutes.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,8 @@ public function map(Router $router) {
5555
]);
5656

5757
// Delete an Account Matching an ID
58-
$router->get('/delete/{id}', [
59-
'uses' => 'Admin\AccountsController@getDelete'
58+
$router->delete('/view/{id}', [
59+
'uses' => 'Admin\AccountsController@deleteView'
6060
]);
6161

6262
});

resources/views/admin/accounts/view.blade.php

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,8 +61,8 @@
6161
<input type="hidden" name="user" value="{{ $user->id }}">
6262
{!! csrf_field() !!}
6363
<input type="submit" value="{{ trans('base.account.update_user') }}" class="btn btn-primary btn-sm">
64-
<a href="/admin/accounts/delete/{{ $user->id }}">
65-
<button id="delete" type="button" class="btn btn-sm btn-danger" value="{{ trans('base.account.delete_user') }}">{{ trans('base.account.delete_user') }}</button>
64+
<a href="#">
65+
<button type="button" class="btn btn-sm btn-danger" data-action="deleteUser" value="{{ trans('base.account.delete_user') }}">{{ trans('base.account.delete_user') }}</button>
6666
</a>
6767
</div>
6868
</fieldset>
@@ -150,6 +150,22 @@
150150
});
151151
return false;
152152
});
153+
$('button[data-action="deleteUser"]').click(function (event) {
154+
event.preventDefault();
155+
$.ajax({
156+
method: 'DELETE',
157+
url: '/admin/accounts/view/{{ $user->id }}',
158+
headers: {
159+
'X-CSRF-TOKEN': '{{ csrf_token() }}'
160+
}
161+
}).done(function (data) {
162+
alert('Account was successfully deleted from the system.');
163+
window.location = '/admin/accounts';
164+
}).fail(function (jqXHR) {
165+
console.error(jqXHR);
166+
alert('An error occured: ' + jqXHR.JSONResponse.error);
167+
})
168+
})
153169
});
154170
</script>
155171
@endsection

0 commit comments

Comments
 (0)