From a45724c163d80552d2515ab1aebe6664639871fa Mon Sep 17 00:00:00 2001 From: A1Gard Date: Tue, 24 Sep 2024 21:13:18 +0330 Subject: [PATCH] added avatar to user --- app/Http/Controllers/Admin/UserController.php | 21 +++++++++++++++++++ app/Models/User.php | 10 +++++++++ .../views/admin/users/user-form.blade.php | 9 +++++++- resources/views/home.blade.php | 2 +- 4 files changed, 40 insertions(+), 2 deletions(-) diff --git a/app/Http/Controllers/Admin/UserController.php b/app/Http/Controllers/Admin/UserController.php index 44e21f5..ee53ae3 100644 --- a/app/Http/Controllers/Admin/UserController.php +++ b/app/Http/Controllers/Admin/UserController.php @@ -9,6 +9,7 @@ use App\Models\Access; use App\Models\User; use Illuminate\Http\Request; use App\Helper; +use Spatie\Image\Image; use function App\Helpers\hasCreateRoute; class UserController extends XController @@ -34,6 +35,7 @@ class UserController extends XController public function save($user, $request) { +// dd($request->all()); if ($user->role == 'DEVELOPER' && !auth()->user()->hasRole('developer')) { abort(403); } @@ -70,6 +72,25 @@ class UserController extends XController } } + + if ($request->hasFile('avatar')) { + $name = time() . '.' . request()->avatar->getClientOriginalExtension(); + $user->avatar = $name; + $request->file('avatar')->storeAs('public/users', $name); + $format = $request->file('avatar')->guessExtension(); + $format = 'webp'; + $key = 'avatar'; + + $i = Image::load($request->file($key)->getPathname()) + ->optimize() + ->width(500) + ->height(500) + ->crop(500, 500) +// ->nonQueued() + ->format($format); + $i->save(storage_path() . '/app/public/users/'. $user->avatar); + $user->save(); + } return $user; } diff --git a/app/Models/User.php b/app/Models/User.php index 44238e7..22c843d 100644 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -166,4 +166,14 @@ class User extends Authenticatable ->where('evaluationable_id',$this->id); })->get(); } + + + public function avatar(){ + if ($this->avatar == null || trim($this->avatar) == ''){ + return asset('assets/default/unknown.svg'); + } + + + return \Storage::url('users/' . $this->avatar); + } } diff --git a/resources/views/admin/users/user-form.blade.php b/resources/views/admin/users/user-form.blade.php index 8dd7c0e..a12de42 100644 --- a/resources/views/admin/users/user-form.blade.php +++ b/resources/views/admin/users/user-form.blade.php @@ -31,7 +31,14 @@ @endif - +
+

+ + {{__("Avatar")}} +

+ + +
diff --git a/resources/views/home.blade.php b/resources/views/home.blade.php index 73cf23c..61cd22e 100644 --- a/resources/views/home.blade.php +++ b/resources/views/home.blade.php @@ -9,7 +9,7 @@
- +
{{__("Welcome back")}}