fix: update profile editing
This commit is contained in:
@@ -4,6 +4,8 @@ namespace App\Http\Controllers\Account;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Http\Requests\EditProfilePostRequest;
|
||||
use Illuminate\Support\Facades\Storage;
|
||||
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
use Illuminate\Support\Facades\Hash;
|
||||
|
||||
@@ -11,7 +13,8 @@ class EditProfileController extends Controller
|
||||
{
|
||||
public function index()
|
||||
{
|
||||
$user = Auth::user();
|
||||
|
||||
$user = Auth::user()->load(['comments.commentable', 'favorites.favoritable']);
|
||||
|
||||
return view('account.edit-profile.index', compact('user'));
|
||||
}
|
||||
@@ -20,12 +23,26 @@ class EditProfileController extends Controller
|
||||
{
|
||||
$user = Auth::user();
|
||||
|
||||
$user->name = $request['name'];
|
||||
$user->username = $request['username'];
|
||||
$user->email = $request['email'];
|
||||
// بهروزرسانی فیلدها
|
||||
$user->first_name = $request->first_name;
|
||||
$user->last_name = $request->last_name;
|
||||
$user->email = $request->email;
|
||||
$user->username = $request->username;
|
||||
|
||||
|
||||
if ($request->filled('password')) {
|
||||
$user->password = Hash::make($request['password']);
|
||||
$user->password = Hash::make($request->password);
|
||||
}
|
||||
|
||||
|
||||
if ($request->hasFile('image')) {
|
||||
|
||||
if ($user->image) {
|
||||
Storage::disk('public')->delete($user->image);
|
||||
}
|
||||
|
||||
$path = $request->file('image')->store('avatars', 'public');
|
||||
$user->image = $path;
|
||||
}
|
||||
|
||||
$user->save();
|
||||
|
||||
@@ -22,35 +22,44 @@ class EditProfilePostRequest extends FormRequest
|
||||
*/
|
||||
public function rules(): array
|
||||
{
|
||||
// دریافت آیدی کاربر از طریق سشن لاگین
|
||||
$userId = auth()->id();
|
||||
|
||||
return [
|
||||
|
||||
'name' =>
|
||||
[
|
||||
'required',
|
||||
'string',
|
||||
'max:255'
|
||||
],
|
||||
'username' =>
|
||||
[
|
||||
'first_name' =>
|
||||
[
|
||||
'required',
|
||||
'string',
|
||||
'max:255',
|
||||
'unique:users,username,' . $user->id,
|
||||
'max:100'
|
||||
],
|
||||
'email' => [
|
||||
'last_name' =>
|
||||
[
|
||||
'required',
|
||||
'email',
|
||||
'max:255',
|
||||
'unique:users,email,' . $user->id,
|
||||
'string',
|
||||
'max:100'
|
||||
],
|
||||
'password' =>
|
||||
'username' =>
|
||||
[
|
||||
'required',
|
||||
'string',
|
||||
'max:50',
|
||||
'unique:users,username,' . $userId,
|
||||
],
|
||||
'email' => [
|
||||
'required',
|
||||
'email',
|
||||
'max:150',
|
||||
'unique:users,email,' . $userId,
|
||||
],
|
||||
'password' =>
|
||||
|
||||
[
|
||||
'nullable',
|
||||
'string',
|
||||
'min:8',
|
||||
'confirmed'
|
||||
],
|
||||
[
|
||||
'nullable',
|
||||
'string',
|
||||
'min:8',
|
||||
'confirmed'
|
||||
],
|
||||
|
||||
];
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user