Przeglądaj źródła

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 lat temu
rodzic
commit
e9bf7688ff
1 zmienionych plików z 13 dodań i 17 usunięć
  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');
     }