From 17227f488485f2a74ce4a2276696e9f8af2352bf Mon Sep 17 00:00:00 2001 From: Nafies Luthfi Date: Thu, 31 May 2018 09:10:23 +0800 Subject: [PATCH] Add delete user feature (w/o dependency checks) --- app/Http/Controllers/UsersController.php | 18 +++++++++++++++--- resources/lang/en/user.php | 3 +++ resources/lang/id/user.php | 3 +++ resources/views/users/edit.blade.php | 25 +++++++++++++++++++++++++ routes/web.php | 1 + tests/Feature/UsersDeletionTest.php | 32 ++++++++++++++++++++++++++++++++ 6 files changed, 79 insertions(+), 3 deletions(-) create mode 100644 tests/Feature/UsersDeletionTest.php diff --git a/app/Http/Controllers/UsersController.php b/app/Http/Controllers/UsersController.php index a261086..43c1298 100644 --- a/app/Http/Controllers/UsersController.php +++ b/app/Http/Controllers/UsersController.php @@ -161,12 +161,24 @@ class UsersController extends Controller /** * Remove the specified User from storage. * - * @param \App\User $user + * @param \Illuminate\Http\Request $request + * @param \App\User $user + * * @return \Illuminate\Http\Response */ - public function destroy(User $user) + public function destroy(Request $request, User $user) { - // + $this->authorize('delete', $user); + + request()->validate([ + 'user_id' => 'required', + ]); + + if (request('user_id') == $user->id && $user->delete()) { + return redirect()->route('users.search'); + } + + return back(); } /** diff --git a/resources/lang/en/user.php b/resources/lang/en/user.php index 88de0e6..86aa8e9 100644 --- a/resources/lang/en/user.php +++ b/resources/lang/en/user.php @@ -28,6 +28,9 @@ return [ 'add_husband' => 'Add Husband', 'add_child' => 'Add Child', 'add_child_from_existing_couples' => 'Parent (select spouse of :name)', + 'delete' => 'Delete User', + 'delete_confirm' => 'Are you sure to delete this user?', + 'delete_confirm_button' => 'Yes, I am sure', // Attributes 'name' => 'Name', diff --git a/resources/lang/id/user.php b/resources/lang/id/user.php index f417821..dd73db3 100644 --- a/resources/lang/id/user.php +++ b/resources/lang/id/user.php @@ -28,6 +28,9 @@ return [ 'add_husband' => 'Tambah Suami', 'add_child' => 'Tambah Anak', 'add_child_from_existing_couples' => 'Dari Pernikahan (pilih pasangan :name)', + 'delete' => 'Hapus User', + 'delete_confirm' => 'Anda yakin akan menghapus user ini?', + 'delete_confirm_button' => 'Saya yakin hapus user ini', // Attributes 'name' => 'Nama', diff --git a/resources/views/users/edit.blade.php b/resources/views/users/edit.blade.php index 22f39c9..7bc7dc6 100644 --- a/resources/views/users/edit.blade.php +++ b/resources/views/users/edit.blade.php @@ -1,6 +1,27 @@ @extends('layouts.app') @section('content') +@if (request('action') == 'delete' && $user) + @can('delete', $user) +
+
+
+

{{ __('user.delete') }} : {{ $user->name }}

+
{{ __('user.delete_confirm') }}
+ +
+
+
+ @endcan +@else