congregazione_nome = $settings->congregazione_nome ?? ''; $this->giorni_giacenza_da_assegnare = $settings->giorni_giacenza_da_assegnare ?? 120; $this->giorni_giacenza_prioritari = $settings->giorni_giacenza_prioritari ?? 180; $this->giorni_per_smarrito = $settings->giorni_per_smarrito ?? 120; $this->home_limit_list = $settings->home_limit_list ?? 10; $this->assignment_link_ttl_months = $settings->assignment_link_ttl_hours ?? 1; $this->pdf_viewer_show_download = $settings->pdf_viewer_show_download ?? true; $this->audit_retention_days = $settings->audit_retention_days ?? 365; } protected function rules(): array { return [ 'congregazione_nome' => 'required|string|max:255', 'giorni_giacenza_da_assegnare' => 'required|integer|min:1|max:730', 'giorni_giacenza_prioritari' => 'required|integer|min:1|max:730', 'giorni_per_smarrito' => 'required|integer|min:30|max:365', 'home_limit_list' => 'required|integer|min:1|max:100', 'assignment_link_ttl_months' => 'required|integer|min:1|max:24', 'pdf_viewer_show_download' => 'required|boolean', 'audit_retention_days' => 'required|integer|min:30|max:3650', ]; } public function save() { $this->validate(); $settings = Setting::instance(); $settings->update([ 'congregazione_nome' => $this->congregazione_nome, 'giorni_giacenza_da_assegnare' => $this->giorni_giacenza_da_assegnare, 'giorni_giacenza_prioritari' => $this->giorni_giacenza_prioritari, 'giorni_per_smarrito' => $this->giorni_per_smarrito, 'home_limit_list' => $this->home_limit_list, 'assignment_link_ttl_hours' => $this->assignment_link_ttl_months, 'pdf_viewer_show_download' => $this->pdf_viewer_show_download, 'audit_retention_days' => $this->audit_retention_days, ]); session()->flash('success', 'Impostazioni aggiornate.'); } public function render() { return view('livewire.settings.settings-edit'); } }