📋 Commit iniziale con: - ✅ Documentazione unificata in docs/ - ✅ Codice Laravel in netgescon-laravel/ - ✅ Script automazione in scripts/ - ✅ Configurazione sync rsync - ✅ Struttura organizzata e pulita 🔄 Versione: 2025.07.19-1644 🎯 Sistema pronto per Git distribuito
8.6 KiB
🔧 INTERFACCIA UNICA - TROUBLESHOOTING NETGESCON
Manual operativo per risoluzione problemi interfaccia, layout e dashboard
🔗 Master:../../00-INDICE-MASTER-NETGESCON.md
📅 Aggiornato: 15/07/2025
🚨 PROBLEMI RISOLTI - QUICK REFERENCE
1️⃣ Dashboard si sposta dopo refresh ✅ RISOLTO
Problema: Layout che si sposta in basso dopo aggiornamento pagina
Causa: Loading screen invasivo in universal.blade.php
Fix: Commentata riga @include('components.layout.loading-screen')
File: resources/views/components/layout/universal.blade.php
2️⃣ View [dashboard.guest] not found ✅ RISOLTO
Problema: Errore view mancante per dashboard guest
Fix: Creata resources/views/dashboard/guest.blade.php
Content: Layout base con @extends('layouts.app')
3️⃣ Form stabili non si visualizza ✅ RISOLTO
Problema: Maschera inserimento stabili non visibile, interfaccia rotta
Causa: Form mista Bootstrap/Tailwind, layout tab non funzionante
Fix: Rifatta completamente form con layout tab Bootstrap puro
File: resources/views/admin/stabili/_form.blade.php
4️⃣ Ruolo 'condomino' mancante ✅ RISOLTO
Problema: Errore ruolo condomino non trovato
Fix: Seeder ruoli aggiornato e eseguito
Command: php artisan db:seed --class=RoleSeeder
5️⃣ Loading screen invasivo ✅ RISOLTO
Problema: Schermata loading copre tutta l'interfaccia
Fix: Sostituito con progress bar footer non invasiva
File: resources/views/components/menu/sections/footer.blade.php
🏢 FORM STABILI - DETTAGLIO ARCHITETTURA
📋 Struttura Tab Implementate
| Tab | Contenuto | Status |
|---|---|---|
| 🏠 Dati Generali | Denominazione, codice stabile, CF, P.IVA, note | ✅ Completo |
| 📍 Indirizzo | Via, città, CAP, provincia | ✅ Completo |
| 🏢 Palazzine | Gestione multi-palazzine tabella Excel-like | ✅ Completo |
| 🏛️ Dati Catastali | Foglio, mappale, categoria, piani/interni evidenziati | ✅ Completo |
| 🏦 Dati Bancari | IBAN principale/secondario, banche, filiali | ✅ Completo |
| 👤 Amministratore | Nome, email, date nomina/scadenza | ✅ Completo |
| 🏪 Locali Servizio | Cantina, portiere, contatori, caldaia, biciclette | ✅ Completo |
🏗️ Tab Palazzine - Gestione Multi-Palazzine
Funzionalità:
- ✅ Tabella dinamica stile Excel
- ✅ Aggiungi/Rimuovi righe con bottoni
- ✅ Campi: Palazzina, Indirizzo, Scala, Interni, Piani
- ✅ Dati esempio precaricati (Via Germanico, Via Catone, Via Gracchi)
Dati Esempio:
PALAZZINA | INDIRIZZO | SCALA | INTERNI | PIANI
1 | Via Germanico 85 | A | 8 | 4
1 | Via Germanico 85 | B | 6 | 4
2 | Via Catone 34 | A | 12 | 4
2 | Via Catone 34 | B | 12 | 4
2 | Via Catone 34 | C | 12 | 4
3 | Via Gracchi 32 | A | 10 | 4
3 | Via Gracchi 32 | B | 10 | 4
🏛️ Tab Dati Catastali - Evidenziazione
Caratteristiche:
- ✅ Alert warning per evidenziare importanza
- ✅ Card dedicata per piani/interni con badge
- ✅ Layout in evidenza per dati ufficiali
Piani/Interni Evidenziati:
🏢 PIANI E INTERNI
Piano 1: [INTERNI 12] Piano 2: [INTERNI 34]
Piano 3: [INTERNI 56] Piano 4: [INTERNI 78]
🏪 Tab Locali di Servizio
Tipi Locali Supportati:
- ✅ Cantina
- ✅ Appartamento Portiere
- ✅ Locale Contatori
- ✅ Locale Caldaia
- ✅ Locale Biciclette
- ✅ Altro (personalizzabile)
Campi per Locale:
- Tipo: Dropdown con categorie predefinite
- Descrizione: Testo libero (es. "Cantina 1 e 2")
- Ubicazione: Piano/posizione (es. "Piano Interrato")
💾 Database - Campi JSON
Tabella stabili - Nuovi Campi:
palazzine_data JSON -- Array palazzine
locali_servizio JSON -- Array locali
iban_principale VARCHAR -- IBAN primario
banca_principale VARCHAR -- Nome banca
amministratore_nome VARCHAR -- Nome amministratore
foglio VARCHAR -- Catastale
mappale VARCHAR -- Catastale
categoria VARCHAR -- Catastale
rendita_catastale DECIMAL -- Catastale
🔧 TROUBLESHOOTING SPECIFICO
❌ Form stabili non funziona
Sintomi:
- Tab non responsive
- Campi non visibili
- JavaScript errors
- Layout rotto
Diagnosi:
# Controlla il file form
cat resources/views/admin/stabili/_form.blade.php | head -20
# Verifica Bootstrap loaded
curl http://localhost:8000 | grep bootstrap
# Controlla errori JavaScript
# (F12 -> Console nel browser)
Fix:
# Se la form è rotta, ripristina da backup
cp resources/views/admin/stabili/_form.blade.php.backup resources/views/admin/stabili/_form.blade.php
# Oppure ricrea la form
php artisan make:view admin.stabili._form
❌ Palazzine non salvano
Sintomi:
- Dati palazzine non persistono
- Errore validazione array
- JSON malformato
Diagnosi:
# Controlla migration
php artisan migrate:status | grep banking
# Verifica colonna JSON
php artisan tinker
> Schema::hasColumn('stabili', 'palazzine_data')
Fix:
# Riesegui migrazione se necessario
php artisan migrate:fresh --seed
# Controlla model cast
grep -n "palazzine_data" app/Models/Stabile.php
❌ JavaScript tab non funziona
Sintomi:
- Tab non clickable
- Contenuto non si switcha
- Console errors
Diagnosi:
// Nel browser F12 -> Console
document.querySelectorAll('[data-bs-toggle="tab"]')
typeof bootstrap
Fix:
<!-- Assicurati Bootstrap JS sia caricato -->
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
<!-- Inizializza tab manualmente se necessario -->
<script>
document.querySelectorAll('[data-bs-toggle="tab"]').forEach(tab => {
new bootstrap.Tab(tab)
});
</script>
📋 CHECKLIST VALIDAZIONE FORM STABILI
✅ Pre-Test
- Server Laravel running su http://localhost:8000
- Login admin funzionante (admin@example.com / password)
- Menu Stabili accessibile
- Nessun errore 500 in laravel.log
✅ Test Interfaccia
- Tab visibili e clickable
- Ogni tab mostra contenuto corretto
- Font compatto e leggibile
- Nessun overflow o scrollbar indesiderati
✅ Test Palazzine
- Tabella visibile con dati esempio
- Bottone "Aggiungi Palazzina" funziona
- Bottone "Rimuovi" (trash) funziona
- Impossibile rimuovere ultima riga
- Validazione campi numerici (interni/piani)
✅ Test Locali
- Dropdown tipo locale funziona
- Bottone "Aggiungi Locale" funziona
- Campi descrizione/ubicazione editabili
- Rimozione locali funziona
✅ Test Salvataggio
- Form submit senza errori
- Dati persistono nel database
- JSON palazzine_data ben formato
- JSON locali_servizio ben formato
- Redirect corretto dopo salvataggio
✅ Test Dati Catastali
- Alert warning visibile
- Card piani/interni in evidenza
- Badge colorate per interni
- Campi catastali editabili
🔗 RIFERIMENTI E LINK
📁 File Critici
- Form:
resources/views/admin/stabili/_form.blade.php - Controller:
app/Http/Controllers/Admin/StabileController.php - Model:
app/Models/Stabile.php - Migration:
database/migrations/2025_07_15_063452_add_banking_and_palazzine_fields_to_stabili_table.php
🔧 Comandi Utili
# Restart server
php artisan serve --host=0.0.0.0 --port=8000
# Check migrations
php artisan migrate:status
# Clear cache
php artisan optimize:clear
# Test database
php artisan tinker
📞 Link Documentazione
- Master Index:
../../00-INDICE-MASTER-NETGESCON.md - Quick Reference:
../QUICK-REFERENCE-CARD.md - Log Sviluppo:
../LOG-SVILUPPO.md
💡 TIP: Questo manual viene aggiornato ad ogni fix. Documenta sempre nuovi problemi!
🔄 Mantieni aggiornato con ogni modifica alla form stabili.
🔧 Interfaccia Unica Troubleshooting - NetGescon System
📧 Support: admin@netgescon.it | 🌐 URL: http://localhost:8000