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>
54 lines
1.7 KiB
PHP
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,
|
|
]);
|
|
}
|
|
}
|