Browse Source

Removed Auth facade and switched to auth() helper.
Renamed methods to semantic names.
Added validation for password and removed redundant check.
Refactored to model update instead of save.

Zdravko Vajagic 5 years ago
parent
commit
e9bf7688ff
1 changed files with 13 additions and 17 deletions
  1. 13 17
      app/Http/Controllers/SettingsController.php

+ 13 - 17
app/Http/Controllers/SettingsController.php

@@ -4,46 +4,42 @@ namespace App\Http\Controllers;
 
 use Illuminate\Http\Request;
 use App\Http\Controllers\Controller;
-use Illuminate\Support\Facades\Auth;
 use Illuminate\Support\Facades\Hash;
 
 class SettingsController extends Controller
 {
 
     public function index() {
-        $user = Auth::user();
+        $user = auth()->user();
         return view('settings', compact('user'));
     }
 
-    public function profile(Request $request) {
+    public function updateProfile(Request $request) {
         $this->validate($request, [
             'email' => 'required|email',
             'name' => 'required'
         ]);
-        $user = Auth::user();
-        $user->name  = $request->name;
-        $user->email = $request->email;
-        $user->save();
+        auth()->user()->update([
+          'name' => $request->name,
+          'email' => $request->email
+        ]);
         $request->session()->flash('alert-success', 'Profile has been updated!');
         return redirect('/settings');
     }
 
-    public function password(Request $request) {
+    public function updatePassword(Request $request) {
         $this->validate($request, [
             'current' => 'required',
             'password' => 'required|confirmed|min:8',
-            'password_confirmation' => 'required|min:8'
+            'password_confirmation' => 'required|min:8|same:password'
         ]);
-        $user = Auth::user();
-        if ($request->password != $request->password_confirmation) {
-            return redirect('/settings');
-        }
-        if (!Hash::check($request->current, $user->password)) {
-            $request->session()->flash('alert-error', 'Wrong password!');
+        if (!Hash::check($request->current, auth()->user()->password)) {
+            $request->session()->flash('alert-error', 'Invalid current password!');
             return redirect('/settings');
         }
-        $user->password = Hash::make($request->password);
-        $user->save();
+        auth()->user()->update([
+          'password' => Hash::make($request->password)
+        ]);
         $request->session()->flash('alert-success', 'Password has been updated!');
         return redirect('/settings');
     }