+++fix: add thumbnail support for territori

This commit is contained in:
2026-04-08 09:32:07 +00:00
parent aac13522e5
commit 777f239c7a
43 changed files with 1957 additions and 12 deletions

View File

@@ -7,6 +7,7 @@ use Livewire\WithFileUploads;
use App\Models\Territorio;
use App\Models\Zona;
use App\Models\Tipologia;
use App\Services\TerritorioThumbnailService;
class TerritorioCreate extends Component
{
@@ -48,7 +49,9 @@ class TerritorioCreate extends Component
];
if ($this->pdf) {
$data['pdf_path'] = $this->pdf->store('territori-pdf', 'public');
$pdfPath = $this->pdf->store('territori-pdf', 'public');
$data['pdf_path'] = $pdfPath;
$data['thumbnail_path'] = app(TerritorioThumbnailService::class)->generate($pdfPath);
}
$territorio = Territorio::create($data);

View File

@@ -7,6 +7,7 @@ use Livewire\WithFileUploads;
use App\Models\Territorio;
use App\Models\Zona;
use App\Models\Tipologia;
use App\Services\TerritorioThumbnailService;
use Illuminate\Support\Facades\Storage;
class TerritorioEdit extends Component
@@ -60,11 +61,17 @@ class TerritorioEdit extends Component
];
if ($this->pdf) {
// Remove old PDF
$thumbService = app(TerritorioThumbnailService::class);
// Remove old PDF and thumbnail
if ($this->territorio->pdf_path) {
Storage::disk('public')->delete($this->territorio->pdf_path);
}
$data['pdf_path'] = $this->pdf->store('territori-pdf', 'public');
if ($this->territorio->thumbnail_path) {
$thumbService->delete($this->territorio->thumbnail_path);
}
$pdfPath = $this->pdf->store('territori-pdf', 'public');
$data['pdf_path'] = $pdfPath;
$data['thumbnail_path'] = $thumbService->generate($pdfPath);
}
$this->territorio->update($data);
@@ -77,7 +84,10 @@ class TerritorioEdit extends Component
{
if ($this->territorio->pdf_path) {
Storage::disk('public')->delete($this->territorio->pdf_path);
$this->territorio->update(['pdf_path' => null]);
if ($this->territorio->thumbnail_path) {
app(TerritorioThumbnailService::class)->delete($this->territorio->thumbnail_path);
}
$this->territorio->update(['pdf_path' => null, 'thumbnail_path' => null]);
activity()->causedBy(auth()->user())
->performedOn($this->territorio)
->log('removed_pdf');