Resource.php 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. <?php
  2. namespace App\Livewire;
  3. use Livewire\Component;
  4. use Livewire\Attributes\Validate;
  5. class Resource extends Component
  6. {
  7. #[Validate('required')]
  8. public $first_name = '';
  9. public $last_name = '';
  10. public $birth_day = null;
  11. public $birth_place_id = null;
  12. public $fiscal_code = '';
  13. public $phone = '';
  14. public $email = '';
  15. public $address = '';
  16. public $zip = '';
  17. public $city_id = null;
  18. public $country_id = null;
  19. public $domicile = '';
  20. public $enabled = true;
  21. public $current_resource = null;
  22. public $is_edit = false;
  23. public function render()
  24. {
  25. // Get Resource
  26. $this->current_resource = \App\Models\Resource::first();
  27. if ($this->current_resource != null)
  28. {
  29. $this->first_name = $this->current_resource->first_name;
  30. $this->last_name = $this->current_resource->last_name;
  31. $this->birth_day = $this->current_resource->birth_day;
  32. $this->birth_place_id = $this->current_resource->birth_place_id;
  33. $this->fiscal_code = $this->current_resource->fiscal_code;
  34. $this->phone = $this->current_resource->phone;
  35. $this->email = $this->current_resource->email;
  36. $this->address = $this->current_resource->address;
  37. $this->zip = $this->current_resource->zip;
  38. $this->city_id = $this->current_resource->city_id;
  39. $this->country_id = $this->current_resource->country_id;
  40. $this->domicile = $this->current_resource->domicile;
  41. $this->enabled = $this->current_resource->enabled;
  42. }
  43. return view('livewire.resource');
  44. }
  45. public function update()
  46. {
  47. $this->validate();
  48. try {
  49. $this->current_resource->update([
  50. 'first_name' => $this->first_name,
  51. 'last_name' => $this->last_name,
  52. 'birth_day' => $this->birth_day,
  53. 'birth_place_id' => $this->birth_place_id,
  54. 'fiscal_code' => $this->fiscal_code,
  55. 'phone' => $this->phone,
  56. 'email' => $this->email,
  57. 'address' => $this->address,
  58. 'zip' => $this->zip,
  59. 'city_id' => $this->city_id,
  60. 'country_id' => $this->country_id,
  61. 'domicile' => $this->domicile,
  62. 'enabled' => $this->enabled,
  63. ]);
  64. session()->flash('success','Dato aggiornato');
  65. //$this->resetFields();
  66. $this->is_edit = false;
  67. } catch (\Exception $ex) {
  68. session()->flash('error','Errore (' . $ex->getMessage() . ')');
  69. }
  70. }
  71. }