Compare commits

...

2 Commits

2 changed files with 48 additions and 37 deletions

View File

@ -375,40 +375,49 @@ class="inline-flex items-center gap-2 rounded-lg border px-3 py-2 text-sm font-s
@endif @endif
</div> </div>
<div class="mt-6"> <div class="mt-6 border-t pt-4">
<div class="text-sm font-semibold text-gray-900 mb-2">Nominativi storici (legacy)</div> <div class="flex items-center gap-2 mb-3">
<x-filament::icon icon="heroicon-o-clock" class="h-5 w-5 text-amber-600" />
<span class="text-base font-bold text-gray-900">Timeline Subentri e Gestioni Anteriore</span>
</div>
<div class="text-xs text-gray-500 mb-3">Cronistoria titolari ed avvicendamenti storici per questa unità immobiliare tra le diverse gestioni</div>
@if(empty($nominativiStorici)) @if(empty($nominativiStorici))
<div class="text-sm text-gray-500">Nessun nominativo storico disponibile.</div> <div class="rounded-lg border border-dashed border-gray-200 p-4 text-center text-sm text-gray-500">Nessun avvicendamento o storico subentri registrato per questa unità.</div>
@else @else
<div class="overflow-x-auto"> <div class="space-y-3">
<table class="min-w-full text-sm"> @foreach($nominativiStorici as $item)
<thead> <div class="rounded-xl border border-gray-200 bg-white p-4 shadow-xs transition hover:border-amber-300">
<tr class="border-b text-left text-gray-500"> <div class="flex flex-wrap items-center justify-between gap-2">
<th class="py-2 pr-4">Ruolo</th> <div class="flex flex-wrap items-center gap-2">
<th class="py-2 pr-4">Nominativo</th> <span class="rounded-md bg-amber-50 border border-amber-200 px-2.5 py-1 text-xs font-bold text-amber-800">
<th class="py-2 pr-4">Periodo</th> {{ $item['periodo'] ?? 'Da sempre' }}
<th class="py-2 pr-4 text-right">Quota</th> </span>
</tr> <span class="text-base font-bold text-gray-900">
</thead> {{ $item['nominativo'] }}
<tbody class="divide-y"> </span>
@foreach($nominativiStorici as $nominativo) @if(!empty($item['ruolo']))
<tr> <span class="rounded-full bg-gray-100 px-2.5 py-0.5 text-xs font-semibold text-gray-700">
<td class="py-2 pr-4 text-gray-700">{{ $nominativo['ruolo'] ?? '—' }}</td> {{ $item['ruolo'] }}
<td class="py-2 pr-4"> </span>
<div class="text-sm font-semibold text-gray-900">{{ $nominativo['nominativo'] ?? '—' }}</div>
@if(!empty($nominativo['fonte']))
<div class="text-xs text-gray-500">Fonte: {{ $nominativo['fonte'] }}</div>
@endif @endif
@if(!empty($nominativo['detail'])) @if(!empty($item['percentuale']))
<div class="text-xs text-gray-500">{{ $nominativo['detail'] }}</div> <span class="rounded-full bg-blue-50 text-blue-700 border border-blue-200 px-2.5 py-0.5 text-xs font-semibold">
Quota: {{ $item['percentuale'] }}
</span>
@endif @endif
</td> </div>
<td class="py-2 pr-4 text-gray-700">{{ $nominativo['periodo'] ?? '—' }}</td> @if(!empty($item['fonte']))
<td class="py-2 pr-4 text-right text-gray-900">{{ $nominativo['percentuale'] ?? '—' }}</td> <div class="text-xs text-gray-500 font-medium">Fonte: {{ $item['fonte'] }}</div>
</tr> @endif
</div>
@if(!empty($item['detail']))
<div class="mt-2 text-xs font-medium text-gray-600 bg-gray-50 rounded-lg p-2.5">
{{ $item['detail'] }}
</div>
@endif
</div>
@endforeach @endforeach
</tbody>
</table>
</div> </div>
@endif @endif
</div> </div>

View File

@ -6,7 +6,7 @@ # CURRENT-205
## Obiettivo ## Obiettivo
Hotfix: Anagrafica Unica canonica, storico audit, CRUD protetto e ricerca per nominativo in Unità Immobiliare. Hotfix: Anagrafica Unica canonica, storico audit, CRUD protetto, ricerca per nominativo e sezione visibile "Timeline Subentri e Gestioni Anteriore" in Unità Immobiliare.
## Output del Giro Operativo ## Output del Giro Operativo
@ -14,12 +14,13 @@ ## Output del Giro Operativo
TASK_ID: task-d095b0e23b TASK_ID: task-d095b0e23b
REPOSITORY: ssh://git@git.netgescon.it:2222/michele/netgescon-day0.git REPOSITORY: ssh://git@git.netgescon.it:2222/michele/netgescon-day0.git
BRANCH: stabilization/205-zero BRANCH: stabilization/205-zero
COMMIT: cfc1c0709e20eb5a6d59ce6beeaefcfbcaad9020 COMMIT: da28f26a575b63bc0d9ebafae6c1db05a5a1f644
FILE_O_AREE_TOCCATE: FILE_O_AREE_TOCCATE:
- app/Livewire/Gescon/RubricaUniversaleTable.php - app/Livewire/Gescon/RubricaUniversaleTable.php
- app/Models/RubricaUniversale.php - app/Models/RubricaUniversale.php
- app/Models/Persona.php - app/Models/Persona.php
- app/Filament/Pages/UnitaImmobiliarePage.php - app/Filament/Pages/UnitaImmobiliarePage.php
- resources/views/filament/pages/unita-immobiliare.blade.php
- tests/Feature/AnagraficaUnicaCanonicaTest.php - tests/Feature/AnagraficaUnicaCanonicaTest.php
- tests/Feature/UnitaImmobiliarePageTest.php - tests/Feature/UnitaImmobiliarePageTest.php
- tests/Feature/UnitaGestioneTemporaleTest.php - tests/Feature/UnitaGestioneTemporaleTest.php
@ -28,6 +29,7 @@ ## Output del Giro Operativo
- ./scripts/ops/antigravity-cli/test_runner_and_parser.sh (6/6 passed) - ./scripts/ops/antigravity-cli/test_runner_and_parser.sh (6/6 passed)
GATE_STATISTICS: GATE_STATISTICS:
- DANIELA_BENEDETTO_CANONICAL_RUBRICA: 697 (000000JC / BNDDNL86M58H224O) - DANIELA_BENEDETTO_CANONICAL_RUBRICA: 697 (000000JC / BNDDNL86M58H224O)
- TIMELINE_CARD_SECTION_VISIBLE: true (Scheda Riepilogo)
- SEARCH_BY_NOMINATIVO_UNITA_PICKER: enabled - SEARCH_BY_NOMINATIVO_UNITA_PICKER: enabled
- ATER_BENEDETTO_SUBENTRO_DATE: 08/06/2026 (Gestione 0004 / 2026) - ATER_BENEDETTO_SUBENTRO_DATE: 08/06/2026 (Gestione 0004 / 2026)
- VISTA_STATO_FILTER_WORKING: true - VISTA_STATO_FILTER_WORKING: true
@ -38,6 +40,6 @@ ## Output del Giro Operativo
## Prossimo Passo per .200 (Validazione) ## Prossimo Passo per .200 (Validazione)
- Eseguire il checkout del branch `stabilization/205-zero` al commit `cfc1c0709e20eb5a6d59ce6beeaefcfbcaad9020`. - Eseguire il checkout del branch `stabilization/205-zero` al commit `da28f26a575b63bc0d9ebafae6c1db05a5a1f644`.
- Verificare nella tendina Unità della pagina `/admin-filament/unita-immobiliare` la ricerca diretta per nominativo ("Benedetto", "ATER", "Tordini"). - Verificare nella scheda dell'unità immobiliare (`/admin-filament/unita-immobiliare`) il nuovo box visibile "Timeline Subentri e Gestioni Anteriore" direttamente nella tab **Riepilogo**.
- Verificare la corretta indicazione delle date di subentro per la Scala A Int. 11 (08/06/2026). - Verificare nella tendina Unità la ricerca diretta per nominativo ("Benedetto", "ATER", "Tordini").