From 13024c0d75d45f8940f6ae4f84f0ee93d6b5cedc Mon Sep 17 00:00:00 2001 From: Nafies Luthfi Date: Sat, 13 Oct 2018 23:18:45 +0800 Subject: [PATCH] Refactor UsersController@update --- app/Http/Controllers/UsersController.php | 26 +------------------------- app/Http/Requests/Users/UpdateRequest.php | 17 +++++++++++++++++ app/User.php | 2 +- 3 files changed, 19 insertions(+), 26 deletions(-) diff --git a/app/Http/Controllers/UsersController.php b/app/Http/Controllers/UsersController.php index e222213..a2ebe8b 100644 --- a/app/Http/Controllers/UsersController.php +++ b/app/Http/Controllers/UsersController.php @@ -123,31 +123,7 @@ class UsersController extends Controller */ public function update(UpdateRequest $request, User $user) { - $request->validated(); - - $user->nickname = $request->nickname; - $user->name = $request->get('name'); - $user->gender_id = $request->get('gender_id'); - $user->dob = $request->get('dob'); - $user->dod = $request->get('dod'); - $user->birth_order = $request->get('birth_order'); - - if ($request->get('dod')) { - $user->yod = substr($request->get('dod'), 0, 4); - } else { - $user->yod = $request->get('yod'); - } - - $user->phone = $request->get('phone'); - $user->address = $request->get('address'); - $user->city = $request->get('city'); - $user->email = $request->get('email'); - - if ($request->get('password')) { - $user->password = bcrypt($request->get('password')); - } - - $user->save(); + $user->update($request->validated()); return redirect()->route('users.show', $user->id); } diff --git a/app/Http/Requests/Users/UpdateRequest.php b/app/Http/Requests/Users/UpdateRequest.php index ecf1f0f..b77795c 100644 --- a/app/Http/Requests/Users/UpdateRequest.php +++ b/app/Http/Requests/Users/UpdateRequest.php @@ -48,4 +48,21 @@ class UpdateRequest extends FormRequest 'new_password.same_password' => trans('passwords.same_password'), ]; } + + public function validated() + { + $formData = parent::validated(); + + if ($formData['dod']) { + $formData['yod'] = substr($formData['dod'], 0, 4); + } else { + $formData['yod'] = $formData['yod']; + } + + if ($formData['password']) { + $formData['password'] = bcrypt($formData['password']); + } + + return $formData; + } } diff --git a/app/User.php b/app/User.php index 68cd16d..db7b068 100644 --- a/app/User.php +++ b/app/User.php @@ -27,7 +27,7 @@ class User extends Authenticatable 'nickname', 'gender_id', 'name', 'email', 'password', 'address', 'phone', - 'dof', 'dod', + 'dob', 'dod', 'yod', 'city', 'father_id', 'mother_id', 'parent_id', ];