netgescon-master/docs/manuals/INTERFACCIA-UNICA-TROUBLESHOOTING.md
Pikappa2 480e7eafbd 🎯 NETGESCON - Setup iniziale repository completo
📋 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
2025-07-19 16:44:47 +02:00

285 lines
8.6 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 🔧 INTERFACCIA UNICA - TROUBLESHOOTING NETGESCON
> **Manual operativo** per risoluzione problemi interfaccia, layout e dashboard
> **🔗 Master:** [`../../00-INDICE-MASTER-NETGESCON.md`](../../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:**
```sql
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:**
```bash
# 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:**
```bash
# 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:**
```bash
# Controlla migration
php artisan migrate:status | grep banking
# Verifica colonna JSON
php artisan tinker
> Schema::hasColumn('stabili', 'palazzine_data')
```
**Fix:**
```bash
# 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:**
```javascript
// Nel browser F12 -> Console
document.querySelectorAll('[data-bs-toggle="tab"]')
typeof bootstrap
```
**Fix:**
```html
<!-- 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**
```bash
# 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`](../../00-INDICE-MASTER-NETGESCON.md)
- **Quick Reference:** [`../QUICK-REFERENCE-CARD.md`](../QUICK-REFERENCE-CARD.md)
- **Log Sviluppo:** [`../LOG-SVILUPPO.md`](../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