179 lines
5.7 KiB
Markdown
179 lines
5.7 KiB
Markdown
# GUIDA GESTIONE LAYOUT NETGESCON
|
|
**Data Creazione:** 22/07/2025
|
|
**Ultima Modifica:** 22/07/2025
|
|
**Versione:** 1.0
|
|
|
|
## PROBLEMA RICORRENTE: REGRESSIONE GRAFICA CON LOGOUT
|
|
|
|
### DESCRIZIONE PROBLEMA
|
|
Durante l'implementazione del sistema di logout, si è verificata una regressione grafica dove:
|
|
- Il logout funziona correttamente ✅
|
|
- La grafica tornava al layout vecchio (non bello) ❌
|
|
- Le pagine utilizzavano `layouts.app-universal-v2` invece di `admin.layouts.netgescon`
|
|
|
|
### CAUSA ROOT
|
|
Il problema si verifica quando si modifica il layout base e alcune pagine mantengono riferimenti al layout sbagliato.
|
|
|
|
## LAYOUT SYSTEM NETGESCON
|
|
|
|
### LAYOUT CORRETTO DA USARE
|
|
```blade
|
|
@extends('admin.layouts.netgescon')
|
|
```
|
|
|
|
### LAYOUT DA EVITARE
|
|
```blade
|
|
@extends('layouts.app-universal-v2') <!-- SBAGLIATO -->
|
|
```
|
|
|
|
### CARATTERISTICHE LAYOUT CORRETTO
|
|
- **File:** `/resources/views/admin/layouts/netgescon.blade.php`
|
|
- **Header:** Blu con menu utente e logout funzionale
|
|
- **Sidebar:** Scura con navigazione (NETGESCON, Dashboard, Stabili, Condomini, etc.)
|
|
- **Design:** Moderno e professionale
|
|
- **Framework:** Bootstrap 5
|
|
- **Logout:** Menu dropdown in alto a destra con icona utente
|
|
|
|
## PROCEDURA DI RISOLUZIONE
|
|
|
|
### STEP 1: IDENTIFICARE PAGINE CON LAYOUT SBAGLIATO
|
|
```bash
|
|
grep -r "@extends('layouts.app-universal-v2')" resources/views/
|
|
```
|
|
|
|
### STEP 2: SOSTITUIRE LAYOUT ERRATO
|
|
Per ogni file trovato, sostituire:
|
|
```blade
|
|
# DA:
|
|
@extends('layouts.app-universal-v2')
|
|
|
|
# A:
|
|
@extends('admin.layouts.netgescon')
|
|
```
|
|
|
|
### STEP 3: PULIRE CACHE
|
|
```bash
|
|
php artisan view:clear
|
|
php artisan config:clear
|
|
php artisan route:clear
|
|
```
|
|
|
|
### STEP 4: VERIFICARE RISULTATO
|
|
- Controllare che tutte le pagine abbiano la grafica bella
|
|
- Verificare che il logout funzioni
|
|
- Testare navigazione sidebar
|
|
|
|
## PAGINE SISTEMATE (22/07/2025)
|
|
|
|
### ADMIN PAGES
|
|
- ✅ `/admin/stabili/index.blade.php`
|
|
- ✅ `/admin/stabili/create.blade.php`
|
|
- ✅ `/admin/stabili/edit.blade.php`
|
|
- ✅ `/admin/stabili/show.blade.php`
|
|
- ✅ `/admin/palazzine/show.blade.php`
|
|
- ✅ `/admin/unita-immobiliari/show.blade.php`
|
|
- ✅ `/admin/dashboard.blade.php`
|
|
|
|
### SUPERADMIN PAGES
|
|
- ✅ `/superadmin/archivi/comuni.blade.php`
|
|
- ✅ `/superadmin/archivi/index.blade.php`
|
|
- ✅ `/superadmin/comuni/index.blade.php`
|
|
|
|
## COMANDO RAPIDO DI SISTEMA
|
|
|
|
### DIAGNOSI RAPIDA
|
|
```bash
|
|
# Trova tutte le pagine con layout sbagliato
|
|
grep -r "@extends('layouts.app-universal-v2')" /var/www/netgescon/resources/views/
|
|
|
|
# Conta quante pagine hanno layout sbagliato
|
|
grep -r "@extends('layouts.app-universal-v2')" /var/www/netgescon/resources/views/ | wc -l
|
|
```
|
|
|
|
### CORREZIONE AUTOMATICA (DA USARE CON ATTENZIONE)
|
|
```bash
|
|
# Sostituisce automaticamente in tutti i file
|
|
find /var/www/netgescon/resources/views/ -name "*.blade.php" -exec sed -i "s/@extends('layouts\.app-universal-v2')/@extends('admin.layouts.netgescon')/g" {} \;
|
|
|
|
# Pulisce cache dopo correzione
|
|
php artisan view:clear && php artisan config:clear && php artisan route:clear
|
|
```
|
|
|
|
## LAYOUT HEADER CON LOGOUT
|
|
|
|
### CODICE LOGOUT MENU (FUNZIONANTE)
|
|
```blade
|
|
<!-- User Dropdown Menu -->
|
|
<div class="dropdown">
|
|
<a class="nav-link dropdown-toggle d-flex align-items-center text-white text-decoration-none"
|
|
href="#" role="button" id="userDropdown" data-bs-toggle="dropdown" aria-expanded="false">
|
|
<i class="fas fa-user-circle me-2"></i>
|
|
<span>{{ Auth::user()->name }}</span>
|
|
</a>
|
|
<ul class="dropdown-menu dropdown-menu-end" aria-labelledby="userDropdown">
|
|
<li><a class="dropdown-item" href="#"><i class="fas fa-user me-2"></i>Profilo</a></li>
|
|
<li><a class="dropdown-item" href="#"><i class="fas fa-cog me-2"></i>Impostazioni</a></li>
|
|
<li><hr class="dropdown-divider"></li>
|
|
<li>
|
|
<form method="POST" action="{{ route('logout') }}" class="d-inline">
|
|
@csrf
|
|
<button type="submit" class="dropdown-item">
|
|
<i class="fas fa-sign-out-alt me-2"></i>Logout
|
|
</button>
|
|
</form>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
```
|
|
|
|
### JAVASCRIPT NECESSARIO
|
|
```javascript
|
|
// Assicurarsi che Bootstrap JS sia caricato per dropdown
|
|
document.addEventListener('DOMContentLoaded', function() {
|
|
// Bootstrap dropdown auto-inizializzazione
|
|
var dropdownElementList = [].slice.call(document.querySelectorAll('.dropdown-toggle'));
|
|
var dropdownList = dropdownElementList.map(function (dropdownToggleEl) {
|
|
return new bootstrap.Dropdown(dropdownToggleEl);
|
|
});
|
|
});
|
|
```
|
|
|
|
## PREVENZIONE FUTURA
|
|
|
|
### CHECKLIST MODIFICHE LAYOUT
|
|
1. ✅ Testare logout funziona
|
|
2. ✅ Verificare grafica belle mantiene
|
|
3. ✅ Controllare tutte le pagine principali
|
|
4. ✅ Pulire cache Laravel
|
|
5. ✅ Documentare cambiamenti
|
|
|
|
### FILE DA MONITORARE
|
|
- `admin.layouts.netgescon` - Layout principale
|
|
- Tutte le blade in `resources/views/admin/`
|
|
- Tutte le blade in `resources/views/superadmin/`
|
|
|
|
### BACKUP IMPORTANTE
|
|
Prima di modifiche ai layout, backup di:
|
|
- `resources/views/admin/layouts/netgescon.blade.php`
|
|
- Lista completa pagine con layout corretto
|
|
|
|
## LOGS SESSIONE RISOLUZIONE
|
|
|
|
### 22/07/2025 - RISOLUZIONE COMPLETA
|
|
**Problema:** Regressione grafica dopo implementazione logout
|
|
**Causa:** Pagine con `@extends('layouts.app-universal-v2')`
|
|
**Soluzione:** Cambio a `@extends('admin.layouts.netgescon')`
|
|
**Pagine sistemate:** 8 admin pages + 3 superadmin pages
|
|
**Risultato:** ✅ Logout funzionale + ✅ Grafica bella mantenuta
|
|
|
|
### COMMAND LOG
|
|
```bash
|
|
# Comandi eseguiti
|
|
grep -r "@extends('layouts.app-universal-v2')" resources/views/
|
|
# Sostituzioni multiple con replace_string_in_file
|
|
php artisan view:clear && php artisan config:clear && php artisan route:clear
|
|
```
|
|
|
|
---
|
|
**NOTA:** Questo documento deve essere aggiornato ogni volta che si interviene sui layout per mantenere traccia delle modifiche e prevenire regressioni future.
|