++ 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>
This commit is contained in:
@@ -248,6 +248,13 @@ non diventa una scheda). Ordine esplicito: anni dal più recente
|
||||
proclamatore la colonna Campagna ora dice "Sì — …" / "No" come in quella del
|
||||
territorio, e c'è il badge "via gruppo …". Test: `StoricoAssegnazioniTest`.
|
||||
|
||||
Poi, su richiesta dell'utente: **aperta dalla Home la scheda del territorio
|
||||
non mostra lo storico**. I link della Home ("Da assegnare", "Da rientrare")
|
||||
portano `?dalla_home=1` e `TerritorioShow::$storicoNascosto` salta anche la
|
||||
query; resta "Mostra lo storico delle assegnazioni". Non si usa il `?da=` del
|
||||
ritorno per capirlo: si trasmette di pagina in pagina, e un territorio aperto
|
||||
da *Assegna* (a sua volta aperta dalla Home) sembrerebbe venire dalla Home.
|
||||
|
||||
### Rientro dall'elenco dei territori assegnati (20 ottobre 2026)
|
||||
|
||||
Richiesta dell'utente ("un tasto che va alla registrazione", dallo screenshot
|
||||
|
||||
@@ -700,7 +700,9 @@ docker compose --profile dev up -d --build
|
||||
- Badge di stato colorati e indicatore di priorità (manuale o automatica)
|
||||
- Dettaglio con visualizzatore PDF e storico assegnazioni per anno teocratico:
|
||||
una tabella sola con le colonne in linea, l'anno come riga di separazione,
|
||||
dal più recente (lo stesso nella scheda del proclamatore)
|
||||
dal più recente (lo stesso nella scheda del proclamatore). Aperta dalla
|
||||
Home, la scheda non mostra lo storico ("Mostra lo storico delle
|
||||
assegnazioni" lo apre)
|
||||
- Link PDF pubblico condivisibile, a scadenza configurabile
|
||||
- Soft delete con cestino (ripristino o eliminazione definitiva)
|
||||
- Import massivo di PDF da cartella o archivio ZIP, elaborato in background
|
||||
|
||||
@@ -13,14 +13,29 @@ class TerritorioShow extends Component
|
||||
|
||||
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 = Assegnazione::where('territorio_id', $this->territorio->id)
|
||||
$assegnazioni = $this->storicoNascosto
|
||||
? collect()
|
||||
: Assegnazione::where('territorio_id', $this->territorio->id)
|
||||
->with(['proclamatore', 'annoTeocratico', 'campagna', 'creatoDa', 'rientratoDa'])
|
||||
->orderByDesc('assigned_at')
|
||||
->orderByDesc('id')
|
||||
|
||||
@@ -109,7 +109,7 @@
|
||||
<li class="px-5 py-3 flex items-center justify-between hover:bg-gray-50 transition-colors">
|
||||
<div>
|
||||
<div class="flex items-center gap-2">
|
||||
<a data-ritorno href="{{ route('territori.show', $t) }}" class="text-sm font-semibold text-gray-900 hover:text-indigo-600 transition-colors">N° {{ $t->numero }}</a>
|
||||
<a data-ritorno href="{{ route('territori.show', ['territorio' => $t, 'dalla_home' => 1]) }}" class="text-sm font-semibold text-gray-900 hover:text-indigo-600 transition-colors">N° {{ $t->numero }}</a>
|
||||
@if($t->in_priorita)
|
||||
<span class="inline-flex items-center rounded-full px-2 py-0.5 text-[10px] font-semibold uppercase tracking-wide badge-pulse" style="background:#fef3c7;color:#92400e">★ Prioritario</span>
|
||||
@endif
|
||||
@@ -164,7 +164,7 @@
|
||||
@php($assegnazioneCorrente = $t->assegnazioneCorrente)
|
||||
<li class="px-5 py-3 flex items-center justify-between hover:bg-gray-50 transition-colors">
|
||||
<div>
|
||||
<a data-ritorno href="{{ route('territori.show', $t) }}" class="text-sm font-semibold text-gray-900 hover:text-indigo-600 transition-colors">N° {{ $t->numero }}</a>
|
||||
<a data-ritorno href="{{ route('territori.show', ['territorio' => $t, 'dalla_home' => 1]) }}" class="text-sm font-semibold text-gray-900 hover:text-indigo-600 transition-colors">N° {{ $t->numero }}</a>
|
||||
<p class="text-xs text-gray-500">
|
||||
{{ $assegnazioneCorrente?->proclamatore?->nome_completo }}
|
||||
— <span class="font-medium" style="color:#dc2626">{{ $assegnazioneCorrente?->giorni }} gg</span>
|
||||
|
||||
@@ -152,7 +152,12 @@
|
||||
</div>
|
||||
@endif
|
||||
|
||||
{{-- Assignment history --}}
|
||||
{{-- Assignment history: non quando si arriva dalla Home (TerritorioShow::$storicoNascosto) --}}
|
||||
@if($storicoNascosto)
|
||||
<div class="flex justify-end">
|
||||
<x-btn variante="ghost" dimensione="sm" wire:click="mostraStorico">Mostra lo storico delle assegnazioni</x-btn>
|
||||
</div>
|
||||
@else
|
||||
<div class="bg-white rounded-xl shadow-sm border border-gray-200 p-6">
|
||||
<div class="flex items-center gap-3 mb-4">
|
||||
<div class="h-8 w-8 rounded-lg flex items-center justify-center" style="background:#eef2ff">
|
||||
@@ -213,4 +218,5 @@
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
|
||||
@@ -62,6 +62,26 @@ class StoricoAssegnazioniTest extends TestCase
|
||||
$this->assertSame(2, substr_count($html, 'tm-riga-gruppo'));
|
||||
}
|
||||
|
||||
public function test_aperta_dalla_home_la_scheda_del_territorio_non_mostra_lo_storico(): void
|
||||
{
|
||||
// La Home manda alla scheda con il segnale dalla_home.
|
||||
$this->actingAs($this->admin)->get(route('dashboard'))->assertOk()
|
||||
->assertSee(route('territori.show', ['territorio' => $this->territorio, 'dalla_home' => 1]), false);
|
||||
|
||||
$this->get(route('territori.show', ['territorio' => $this->territorio, 'dalla_home' => 1]))->assertOk()
|
||||
->assertDontSee('Storico Assegnazioni')
|
||||
->assertDontSee('Anno Teocratico')
|
||||
->assertSee('Mostra lo storico delle assegnazioni');
|
||||
|
||||
// Su richiesta si apre; aperta da altrove c'è sempre.
|
||||
\Livewire\Livewire::actingAs($this->admin)->withQueryParams(['dalla_home' => 1])
|
||||
->test(\App\Livewire\Territori\TerritorioShow::class, ['territorio' => $this->territorio])
|
||||
->assertDontSee('Anno Teocratico')
|
||||
->call('mostraStorico')
|
||||
->assertSee('Anno Teocratico 2025-2026');
|
||||
$this->get(route('territori.show', $this->territorio))->assertSee('Storico Assegnazioni');
|
||||
}
|
||||
|
||||
public function test_nella_scheda_del_proclamatore_una_tabella_sola_dal_piu_recente(): void
|
||||
{
|
||||
$html = $this->actingAs($this->admin)->get(route('proclamatori.show', $this->proclamatore))->assertOk()
|
||||
|
||||
Reference in New Issue
Block a user