From eda3c3f9896f56fa923a7c7f7e717505a1124581 Mon Sep 17 00:00:00 2001 From: Francesco Picone Date: Tue, 20 Oct 2026 15:32:07 +0200 Subject: [PATCH] ++ elenco dei territori assegnati: pulsante Rientro su ogni riga Porta alla registrazione del rientro e torna all'elenco (data-ritorno); solo con il permesso territori.return. Co-Authored-By: Claude Opus 5.5 --- HANDOFF.md | 9 +++++++++ README.md | 3 ++- .../livewire/assegnazioni/elenco-assegnati.blade.php | 7 ++++++- tests/Feature/InvioLinkTest.php | 10 ++++++++++ 4 files changed, 27 insertions(+), 2 deletions(-) diff --git a/HANDOFF.md b/HANDOFF.md index 9e7cef3..aed3357 100644 --- a/HANDOFF.md +++ b/HANDOFF.md @@ -234,6 +234,15 @@ Decisioni successive dell'utente (20 ottobre 2026): Gli attributi calcolati si chiamano `giacenza_giorni` e `in_priorita` (erano `home_giorni_giacenza` e `home_is_prioritario`, anche nel PDF). - "Il mio gruppo" mostra sotto il titolo nome e cognome del sorvegliante. + +### Rientro dall'elenco dei territori assegnati (20 ottobre 2026) + +Richiesta dell'utente ("un tasto che va alla registrazione", dallo screenshot +della pagina *Assegna* con l'elenco filtrato per proclamatore): in +`ElencoAssegnati` ogni riga ha **Rientro** (solo con `territori.return`), che +apre la registrazione del rientro e, con `data-ritorno`, torna all'elenco. +Anche le righe senza PDF lo hanno. L'elenco ha un tetto di peso per riga +(`AssegnaPrestazioniTest`, 2,6 KB): il pulsante ci sta. - **Anche i membri si segnalano**: `Proclamatore::gruppo_etichetta` ("Gruppo Zisa" / "Sorvegliante del gruppo Zisa") come badge nell'elenco (più il filtro *In un gruppo di servizio*, `filtroStato=gruppo`) e in testa diff --git a/README.md b/README.md index ee8c3c5..62ced75 100644 --- a/README.md +++ b/README.md @@ -728,7 +728,8 @@ docker compose --profile dev up -d --build "Invia link" per riprendere. Anche dall'elenco dei territori assegnati si può copiare o condividere il link - L'elenco dei territori assegnati si carica subito dopo la pagina e si filtra - nel browser, senza attese + nel browser, senza attese; ogni territorio ha il pulsante **Rientro**, che + porta alla registrazione del rientro e poi torna all'elenco - Rientro con calcolo automatico dei giorni - **Prompt campagna**: se il territorio era fuori durante una campagna viene chiesto se è stato percorso per la campagna; oltre la soglia "da rientrare" diff --git a/resources/views/livewire/assegnazioni/elenco-assegnati.blade.php b/resources/views/livewire/assegnazioni/elenco-assegnati.blade.php index 9e5e9cb..4b2982a 100644 --- a/resources/views/livewire/assegnazioni/elenco-assegnati.blade.php +++ b/resources/views/livewire/assegnazioni/elenco-assegnati.blade.php @@ -51,6 +51,8 @@ @endif @if($pdfUrl) @else -

Nessun PDF disponibile

+ @endif @endforeach diff --git a/tests/Feature/InvioLinkTest.php b/tests/Feature/InvioLinkTest.php index ddd46f8..dd96b9b 100644 --- a/tests/Feature/InvioLinkTest.php +++ b/tests/Feature/InvioLinkTest.php @@ -260,4 +260,14 @@ class InvioLinkTest extends TestCase ->get(route('territori.index')) ->assertSee(route('piantine.editor', ['nuovo' => 1]), false); } + + public function test_dall_elenco_degli_assegnati_si_va_al_rientro(): void + { + $this->assegna($this->mario(), $this->territorioConPdf('7')); + $a = Assegnazione::sole(); + + Livewire::withoutLazyLoading()->actingAs($this->admin)->test(ElencoAssegnati::class) + ->assertSee('Rientro') + ->assertSee(route('assegnazioni.rientra', $a), false); + } }