diff --git a/app/Http/Controllers/Auth/RegisteredUserController.php b/app/Http/Controllers/Auth/RegisteredUserController.php index d8d29eb..da329e9 100644 --- a/app/Http/Controllers/Auth/RegisteredUserController.php +++ b/app/Http/Controllers/Auth/RegisteredUserController.php @@ -37,7 +37,7 @@ class RegisteredUserController extends Controller $request->validate([ 'name' => ['required', 'string', 'max:255'], 'email' => ['required', 'string', 'email', 'max:255', 'unique:users'], - 'password' => ['required', 'confirmed', Rules\Password::defaults()], + 'password' => ['required', 'confirmed', Rules\Password::defaults()->letters()], ]); $user = User::create([ diff --git a/app/Http/Controllers/ProfileController.php b/app/Http/Controllers/ProfileController.php index e0093a4..5a655cb 100644 --- a/app/Http/Controllers/ProfileController.php +++ b/app/Http/Controllers/ProfileController.php @@ -3,6 +3,10 @@ namespace App\Http\Controllers; use App\Http\Requests\ProfileUpdateRequest; +use Illuminate\Support\Facades\Auth; +use Illuminate\Support\Facades\Hash; +use Illuminate\Validation\Rule; +use Illuminate\Validation\Rules\Password; class ProfileController extends Controller { @@ -11,10 +15,27 @@ class ProfileController extends Controller return view('auth.profile'); } + public function update(ProfileUpdateRequest $request) { // Task: fill in the code here to update name and email // Also, update the password if it is set + $validated = request()->validate([ + 'name' => ['required', 'string', 'max:255'], + 'email' => ['required', 'email', Rule::unique('users')->ignore(Auth::user())], + 'password' => ['sometimes', 'nullable', 'confirmed', Password::defaults()], + ]); + //dd($validated); + Auth::user()->update([ + 'name' => $validated['name'], + 'email' => $validated['email'], + ]); + + if (isset($validated['password'])) { + Auth::user()->update([ + 'password' => Hash::make($validated['password']), + ]); + } return redirect()->route('profile.show')->with('success', 'Profile updated.'); } diff --git a/phpunit.xml b/phpunit.xml index a417824..4d45a8e 100644 --- a/phpunit.xml +++ b/phpunit.xml @@ -1,28 +1,24 @@ - - - - ./tests/Feature - - - - - ./app - - - - - - - - - - - - - + + + + ./tests/Feature + + + + + + + + + + + + + + + + ./app + + diff --git a/phpunit.xml.bak b/phpunit.xml.bak new file mode 100644 index 0000000..a417824 --- /dev/null +++ b/phpunit.xml.bak @@ -0,0 +1,28 @@ + + + + + ./tests/Feature + + + + + ./app + + + + + + + + + + + + + + diff --git a/resources/views/auth/profile.blade.php b/resources/views/auth/profile.blade.php index 70e8a8e..aa775f5 100644 --- a/resources/views/auth/profile.blade.php +++ b/resources/views/auth/profile.blade.php @@ -29,7 +29,7 @@ class="block mt-1 w-full" type="text" name="name" - value="???" + value="{{ Auth::user()->name }}" required /> @@ -40,7 +40,7 @@ class="block mt-1 w-full" type="email" name="email" - value="???" + value="{{ Auth::user()->email }}" required /> diff --git a/resources/views/layouts/navigation.blade.php b/resources/views/layouts/navigation.blade.php index 785936e..f9f703b 100644 --- a/resources/views/layouts/navigation.blade.php +++ b/resources/views/layouts/navigation.blade.php @@ -16,9 +16,12 @@ {{ __('Users') }} {{-- Task: this "Profile" link should be visible only to logged-in users --}} - - {{ __('Profile') }} - + @auth + + {{ __('Profile') }} + + @endauth +