contract_type_id = null; $this->contract_date = null; $this->contract_number = ''; $this->position = ''; $this->role = ''; $this->start_date = null; $this->end_date = null; $this->notes = ''; $this->enabled = 1; } public function mount() { $this->contract_types = \App\Models\ContractType::all(); } public function render() { $this->resource_contracts = $this->resource->contracts ?? []; return view('livewire.resource_contract'); } public function add() { $this->resetFields(); $this->is_edit = true; $this->current_resource_contract = null; } public function edit($id) { $this->resetFields(); $this->is_edit = true; $this->current_resource_contract = \App\Models\ResourceContract::findOrFail($id); $this->contract_type_id = $this->current_resource_contract->contract_type_id; $this->contract_date = $this->current_resource_contract->contract_date; $this->contract_number = $this->current_resource_contract->contract_number; $this->position = $this->current_resource_contract->position; $this->role = $this->current_resource_contract->role; $this->start_date = $this->current_resource_contract->start_date; $this->end_date = $this->current_resource_contract->end_date; $this->notes = $this->current_resource_contract->notes; $this->enabled = $this->current_resource_contract->enabled == 1; } public function save() { $this->validate(); try { if ($this->current_resource_contract == null) { \App\Models\ResourceContract::create([ 'resource_id' => $this->resource->id, 'contract_type_id' => $this->contract_type_id, 'contract_date' => $this->contract_date, 'contract_number' => $this->contract_number, 'position' => $this->position, 'role' => $this->role, 'start_date' => $this->start_date, 'end_date' => $this->end_date, 'notes' => $this->notes, 'enabled' => $this->enabled ]); } else { $this->current_resource_contract->update([ 'contract_type_id' => $this->contract_type_id, 'contract_date' => $this->contract_date, 'contract_number' => $this->contract_number, 'position' => $this->position, 'role' => $this->role, 'start_date' => $this->start_date, 'end_date' => $this->end_date, 'notes' => $this->notes, 'enabled' => $this->enabled ? 1 : 0, ]); } session()->flash('success','Dati salvati con successo'); $this->resetFields(); $this->is_edit = false; } catch (\Exception $ex) { session()->flash('error','Errore (' . $ex->getMessage() . ')'); } } public function cancel() { $this->resetFields(); $this->is_edit = false; $this->current_resource_contract = null; } }