diff --git a/app/Http/Controllers/AssignmentPdfController.php b/app/Http/Controllers/AssignmentPdfController.php index c55d8e9..fe104b7 100644 --- a/app/Http/Controllers/AssignmentPdfController.php +++ b/app/Http/Controllers/AssignmentPdfController.php @@ -25,8 +25,9 @@ class AssignmentPdfController extends Controller ]); return view('assignments.pdf-viewer', [ - 'assignment' => $assignment, - 'pdfUrl' => $pdfUrl, + 'assignment' => $assignment, + 'pdfUrl' => $pdfUrl, + 'showDownload' => (bool) \App\Models\Setting::getValue('pdf_viewer_show_download', true), ]); } diff --git a/app/Livewire/Settings/SettingsEdit.php b/app/Livewire/Settings/SettingsEdit.php index 05b00af..ac01b39 100644 --- a/app/Livewire/Settings/SettingsEdit.php +++ b/app/Livewire/Settings/SettingsEdit.php @@ -13,6 +13,7 @@ class SettingsEdit extends Component public int $giorni_per_smarrito = 120; public int $home_limit_list = 10; public int $assignment_link_ttl_months = 1; + public bool $pdf_viewer_show_download = true; public int $audit_retention_days = 365; public function mount() @@ -24,6 +25,7 @@ class SettingsEdit extends Component $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; } @@ -36,6 +38,7 @@ class SettingsEdit extends Component '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', ]; } @@ -52,6 +55,7 @@ class SettingsEdit extends Component '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, ]); diff --git a/app/Models/Setting.php b/app/Models/Setting.php index 846bb2f..f958ea6 100644 --- a/app/Models/Setting.php +++ b/app/Models/Setting.php @@ -17,6 +17,7 @@ class Setting extends Model 'giorni_per_smarrito', 'home_limit_list', 'assignment_link_ttl_hours', + 'pdf_viewer_show_download', 'audit_retention_days', 'setup_completed', ]; @@ -25,6 +26,7 @@ class Setting extends Model { return [ 'setup_completed' => 'boolean', + 'pdf_viewer_show_download' => 'boolean', 'giorni_giacenza_da_assegnare' => 'integer', 'giorni_giacenza_prioritari' => 'integer', 'giorni_per_smarrito' => 'integer', diff --git a/database/migrations/2026_04_16_000001_add_pdf_download_visible_to_settings_table.php b/database/migrations/2026_04_16_000001_add_pdf_download_visible_to_settings_table.php new file mode 100644 index 0000000..48f2fea --- /dev/null +++ b/database/migrations/2026_04_16_000001_add_pdf_download_visible_to_settings_table.php @@ -0,0 +1,22 @@ +boolean('pdf_viewer_show_download')->default(true)->after('assignment_link_ttl_hours'); + }); + } + + public function down(): void + { + Schema::table('settings', function (Blueprint $table) { + $table->dropColumn('pdf_viewer_show_download'); + }); + } +}; diff --git a/resources/views/assignments/pdf-viewer.blade.php b/resources/views/assignments/pdf-viewer.blade.php index a041ef8..1fc0323 100644 --- a/resources/views/assignments/pdf-viewer.blade.php +++ b/resources/views/assignments/pdf-viewer.blade.php @@ -2,27 +2,33 @@ - + Territorio {{ $assignment->territorio?->numero }} + @@ -142,39 +217,136 @@ + @if($showDownload) - + Scarica PDF + @endif -
-
- +
+ + + + + +
+ +
+
+
+ Caricamento PDF…
-
- Il tuo dispositivo non supporta la visualizzazione del PDF nel browser. - Scarica il file PDF +
+ +

Impossibile caricare il PDF.

+ @if($showDownload) + Scarica PDF + @endif
- + diff --git a/resources/views/livewire/settings/settings-edit.blade.php b/resources/views/livewire/settings/settings-edit.blade.php index 194edf6..4eac4e4 100644 --- a/resources/views/livewire/settings/settings-edit.blade.php +++ b/resources/views/livewire/settings/settings-edit.blade.php @@ -63,6 +63,14 @@ @error('assignment_link_ttl_months')

{{ $message }}

@enderror
+
+ +

Se disattivato, il proclamatore potrà solo visualizzare il PDF senza scaricarlo.

+
+

I log più vecchi di questo periodo verranno cancellati automaticamente.