Profile.php 1.7 KB

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