Profile.php 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. <?php
  2. namespace App\Http\Livewire;
  3. use Livewire\Component;
  4. class Profile extends Component
  5. {
  6. public $name, $email, $password, $newPassword, $update = false;
  7. protected $rules = [
  8. 'name' => 'required',
  9. 'email' => 'required',
  10. 'password' => 'required'
  11. ];
  12. protected $messages = [
  13. 'name.required' => 'Il nome è obbligatorio',
  14. 'email.required' => 'La mail è obbligatoria',
  15. 'password.required' => 'La password è obbligatoria',
  16. ];
  17. public function resetFields(){
  18. $this->name = '';
  19. $this->email = '';
  20. $this->password = '';
  21. $this->newPassword = '';
  22. }
  23. public function render()
  24. {
  25. $this->name = \Auth::user()->name;
  26. $this->email = \Auth::user()->email;
  27. return view('livewire.profile');
  28. }
  29. public function edit()
  30. {
  31. $this->resetFields();
  32. $this->update = true;
  33. }
  34. public function save()
  35. {
  36. $this->validate();
  37. try {
  38. $user = \Auth::user();
  39. $user->name = $this->name;
  40. $user->email = $this->email;
  41. if ($this->password != '')
  42. {
  43. $user->password = bcrypt($this->password);
  44. }
  45. $user->save();
  46. session()->flash('success','Dato creato');
  47. $this->resetFields();
  48. $this->update = false;
  49. } catch (\Exception $ex) {
  50. session()->flash('error','Errore (' . $ex->getMessage() . ')');
  51. }
  52. }
  53. }