++ consolidamento funzionalità Backup
This commit is contained in:
@@ -5,6 +5,8 @@ namespace App\Livewire\Territori;
|
||||
use Livewire\Component;
|
||||
use Livewire\WithPagination;
|
||||
use App\Models\Territorio;
|
||||
use App\Services\TerritorioThumbnailService;
|
||||
use Illuminate\Support\Facades\Storage;
|
||||
|
||||
class TerritorioCestino extends Component
|
||||
{
|
||||
@@ -36,10 +38,36 @@ class TerritorioCestino extends Component
|
||||
activity()->causedBy(auth()->user())
|
||||
->withProperties(['numero' => $territorio->numero])
|
||||
->log('force_deleted_territorio');
|
||||
|
||||
// I file vanno via con la riga. Cancellare solo il record lascerebbe la
|
||||
// mappa e la miniatura sul volume senza piu' nulla che le riferisca:
|
||||
// invisibili in ogni schermata, non raggiungibili da nessuna
|
||||
// cancellazione futura, e comunque dentro ogni backup successivo.
|
||||
// Prima della riga, non dopo: se la cancellazione dei file fallisce,
|
||||
// il territorio resta nel cestino e l'operazione si puo' ritentare.
|
||||
$this->rimuoviFile($territorio);
|
||||
|
||||
$territorio->forceDelete();
|
||||
session()->flash('success', 'Territorio eliminato definitivamente.');
|
||||
}
|
||||
|
||||
/**
|
||||
* Rimuove mappa e miniatura di un territorio dal disco `public`.
|
||||
*
|
||||
* Stessa coppia di cancellazioni che fa TerritorioEdit quando si sostituisce
|
||||
* il PDF; qui e' definitiva perche' non resta una riga a cui riattaccarle.
|
||||
*/
|
||||
private function rimuoviFile(Territorio $territorio): void
|
||||
{
|
||||
if ($territorio->pdf_path) {
|
||||
Storage::disk('public')->delete($territorio->pdf_path);
|
||||
}
|
||||
|
||||
if ($territorio->thumbnail_path) {
|
||||
app(TerritorioThumbnailService::class)->delete($territorio->thumbnail_path);
|
||||
}
|
||||
}
|
||||
|
||||
public function render()
|
||||
{
|
||||
return view('livewire.territori.territorio-cestino', [
|
||||
|
||||
Reference in New Issue
Block a user