Files
termanager2/app/Livewire/Territori/TerritorioShow.php
Francesco Picone f1f340803a ++ scheda territorio: aperta dalla Home non mostra lo storico delle assegnazioni
I link della Home portano ?dalla_home=1; la scheda nasconde lo storico
(e non lo carica), con "Mostra lo storico delle assegnazioni" per aprirlo.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-20 15:52:00 +02:00

54 lines
1.7 KiB
PHP

<?php
namespace App\Livewire\Territori;
use App\Livewire\Concerns\RicordaRitorno;
use Livewire\Component;
use App\Models\Territorio;
use App\Models\Assegnazione;
class TerritorioShow extends Component
{
use RicordaRitorno;
public Territorio $territorio;
/**
* Aperta dalla Home (?dalla_home=1, lo mettono solo i link della Home) la
* scheda non mostra lo storico delle assegnazioni: lì serve il territorio,
* non la sua storia. "Mostra lo storico" lo apre comunque.
*/
public bool $storicoNascosto = false;
public function mount(Territorio $territorio)
{
$this->territorio = $territorio->load(['zona', 'tipologia', 'assegnazioneCorrente.proclamatore', 'ultimaAssegnazione']);
$this->storicoNascosto = request()->boolean('dalla_home');
}
public function mostraStorico(): void
{
$this->storicoNascosto = false;
}
public function render()
{
$assegnazioni = $this->storicoNascosto
? collect()
: Assegnazione::where('territorio_id', $this->territorio->id)
->with(['proclamatore', 'annoTeocratico', 'campagna', 'creatoDa', 'rientratoDa'])
->orderByDesc('assigned_at')
->orderByDesc('id')
->get()
->groupBy(fn($a) => $a->annoTeocratico->label)
// Dal più recente: gli anni ("2026-2027") si ordinano come testo.
->sortKeysDesc();
return view('livewire.territori.territorio-show', [
'activeAssignment' => $this->territorio->assegnazioneCorrente,
'assignmentScadenza' => $this->territorio->assegnazioneCorrente?->data_consegna_presunta,
'assegnazioniPerAnno' => $assegnazioni,
]);
}
}