sistemazione reports - cambio password - profilo utente

This commit is contained in:
2026-05-27 10:45:05 +02:00
parent fefc3bba2a
commit 3471befb1a
26 changed files with 1964 additions and 632 deletions
+29
View File
@@ -720,3 +720,32 @@ php artisan route:list --name=email
- `resources/views/impostazioni/index.blade.php`: pill Mittenti Aggiuntivi, tab-pane email-mittenti, modale sender modifica/crea, funzioni JS (resetSenderForm, editSender, deleteSender, testSenderSmtp)
- `app/Http/Controllers/Admin/EmailSettingsController.php`: senderDestroy() con expectsJson()
- `resources/views/layouts/adminlte.blade.php`: rimossa voce Impostazioni Email dal sidebar
(Last updated: 27 Maggio 2026 - Password reset, profile, report enhancements)
### 27 Maggio 2026 - Password Reset & Profile
- **Rimosso registration**: Eliminata view `auth/register.blade.php`, rimossi metodi register da AuthController; rimosso link "Non hai un account? Registrati" dalla login
- **Aggiunto password reset**:
- Routes password.request, password.email, password.reset, password.update in routes/web.php
- Metodi showForgotForm(), sendResetLink(), showResetForm(), reset() in AuthController
- `User` model: implementato CanResetPassword con sendPasswordResetNotification() custom via Symfony Mailer su EmailSetting SMTP
- Views: auth/forgot-password.blade.php, auth/reset-password.blade.php, auth/emails/reset-password.blade.php
- **Login fix**: Checkbox "Ricordami" ora usa `$request->has('remember')` invece di hardcoded false
- **Login update**: Aggiunto link "Password dimenticata?" che punta a `route('password.request')`
- **ProfileController**: Creato con `show()` (view auth.profile) e `updatePassword()` con validazione `current_password` e `Password::min(8)`
- **Layout fix**: Link "Profilo" in adminlte.blade.php ora punta a `route('profile')` invece di `#`
- **Profile view**: Già esistente `auth/profile.blade.php` con form cambio password funzionante
### 27 Maggio 2026 - Report Enhancements
- **ReportColumnRegistry** (`app/Helpers/ReportColumnRegistry.php`): Registry centralizzato di colonne disponibili per entity type (individui, gruppi, eventi, documenti, contatti) con supporto per colonne dirette, accessor e relazioni (dot notation tipo `contatti.email`, `gruppi.nome`). Metodo `resolveRelationValue()` per risolvere valori su relazioni nidificate.
- **ReportController fix**:
- `storeCustom()`: colonne salvate correttamente come array in config['columns']; supporto per array da Select2 o comma-separated
- `runCustomReport()`: eager loading automatico per relazioni in colonne dot notation; risoluzione valori via `ReportColumnRegistry::resolveRelationValue()`
- `exportCSV()`: supporto per custom_id con filename da slug del nome report; BOM UTF-8 per Excel
- `resolveReport()`: metodo centralizzato per match report type + tipologia filter
- `run()`: supporto per custom_id per eseguire report personalizzati dalla stessa route
- **6 nuovi report predefiniti** (18 totali): documenti_completo, scadenze_documenti, individui_completo, gruppi_completo, eventi_completo, contatti_completo
- **Tipologia filter**: I report `documenti_completo` e `scadenze_documenti` hanno dropdown inline Select2 per filtro tipologia nella card dell'index
- **Report index view**: Select2 multiselect per colonne, Select2 tipologia filter, sort direction, nuovi bottoni CSV export per custom reports