Profile.php 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. <?php
  2. namespace App\Http\Livewire;
  3. use Illuminate\Support\Facades\Auth;
  4. use Illuminate\Support\Facades\Hash;
  5. use Livewire\Component;
  6. use App\Http\Middleware\TenantMiddleware;
  7. use AWS\CRT\Log;
  8. class Profile extends Component
  9. {
  10. public $editMode = false;
  11. public $name;
  12. public $cognome;
  13. public $email;
  14. public $telefono;
  15. public $cellulare;
  16. public $password;
  17. public function boot()
  18. {
  19. app(TenantMiddleware::class)->setupTenantConnection();
  20. }
  21. public function mount()
  22. {
  23. $currentUser = Auth::user();
  24. $user = \App\Models\User::findOrFail($currentUser->id);
  25. $this->name = $user->name;
  26. $this->cognome = $user->cognome;
  27. $this->email = $user->email;
  28. $this->telefono = $user->telefono;
  29. $this->cellulare = $user->cellulare;
  30. }
  31. public function enableEditMode()
  32. {
  33. $this->editMode = true;
  34. }
  35. public function save()
  36. {
  37. $this->validate([
  38. 'name' => 'required',
  39. 'cognome' => 'required',
  40. 'email' => 'required|email',
  41. 'password' => 'nullable|min:6',
  42. ]);
  43. $currentUser = Auth::user();
  44. $user = \App\Models\User::findOrFail($currentUser->id);
  45. $user->name = $this->name;
  46. $user->cognome = $this->cognome;
  47. $user->email = $this->email;
  48. $user->telefono = $this->telefono;
  49. $user->cellulare = $this->cellulare;
  50. if (!empty($this->password)) {
  51. $user->password = Hash::make($this->password);
  52. }
  53. $user->save();
  54. session()->flash('message', 'Profilo aggiornato con successo!');
  55. $this->editMode = false;
  56. }
  57. public function cancel()
  58. {
  59. $this->editMode = false;
  60. $this->password = '';
  61. }
  62. private function resetInputFields(){
  63. $this->name = '';
  64. $this->cognome = '';
  65. $this->email = '';
  66. $this->telefono = '';
  67. $this->cellulare = '';
  68. $this->password = '';
  69. }
  70. }