4.5 KiB
4.5 KiB
CURRENT-205
TASK_ID: task-email-service-password-reset MACHINE: .205 STATO: completato
Obiettivo Completato
-
Attivazione e Diagnostica Servizio Posta SMTP (Google Workspace / Gmail):
- Configurato e bonificato
.envcon credenziali dedicate Google Workspace:MAIL_MAILER=smtpMAIL_HOST=smtp.gmail.comMAIL_PORT=587MAIL_ENCRYPTION=tlsMAIL_USERNAME=netgescon@gmail.comMAIL_FROM_ADDRESS=michele@netgescon.it(NetGescon)
- Risolto il blocco delle email in coda: impostato
QUEUE_CONNECTION=synced eliminata la dipendenza da daemonqueue:worknon presenti a sistema. - Svuotata la tabella
jobsevadendo le notifiche pendenti.
- Configurato e bonificato
-
Notifica di Reimpostazione Password Personalizzata in Italiano (
NetGesconResetPasswordNotification):- Creata la notifica
App\Notifications\NetGesconResetPasswordNotification:- Invio sincrono immediato (senza code asincrone).
- Testo in italiano, grafica formattata, pulsante "Reimposta Password", token univoco e link per copia-incolla con scadenza 60 minuti.
- Mittente ufficiale
michele@netgescon.it(NetGescon).
- Registrato il binding in
AppServiceProvidersu\Filament\Auth\Notifications\ResetPassword. - Agganciato il metodo
sendPasswordResetNotification()suApp\Models\User.
- Creata la notifica
-
Autonomia Cambio Password Utente:
- Da non autenticato: abilitato il flusso completo su
/admin-filament/password-reset/request(link "Hai dimenticato la password?" nella maschera di login). - Da autenticato: abilitata la schermata profilo
/admin-filament/profiletramite->profile()inAdminFilamentPanelProvider, consentendo il cambio password autonomo direttamente dal menu utente in alto a destra.
- Da non autenticato: abilitato il flusso completo su
-
Allineamento Utenze Google Workspace / NetGescon:
- Utenza Workspace
michele@netgescon.it(User ID 25): attiva con ruolisuper-admin,amministratore,admin. - Utenza Google
netgescon@gmail.com(User ID 35): registrata e attiva con ruolosuper-admin. - Entrambe le utenze possono richiedere e ricevere la reimpostazione password o accedere in autonomia.
- Utenza Workspace
-
Comandi Artisan di Diagnostica e Invio:
php artisan netgescon:test-mail {email?}: invia un'email diagnostica SMTP per testare la connettività Google Workspace.php artisan netgescon:send-password-reset {email}: genera il token crittografato e invia il link di ripristino all'email richiesta.
Output del Giro Operativo
ESITO_205: riuscito TASK_ID: task-email-service-password-reset REPOSITORY: ssh://git@git.netgescon.it:2222/michele/netgescon-day0.git BRANCH: stabilization/205-zero COMMIT: 1970594 FILE_O_AREE_TOCCATE:
- app/Console/Commands/SendPasswordResetEmailCommand.php
- app/Console/Commands/TestMailCommand.php
- app/Notifications/NetGesconResetPasswordNotification.php
- app/Models/User.php
- app/Providers/AppServiceProvider.php
- app/Providers/Filament/AdminFilamentPanelProvider.php
- tests/Feature/PasswordResetAndEmailServiceTest.php
- skill-netgescon/control-tower/CURRENT-205.md TEST_ESEGUITI:
- ./vendor/bin/pest tests/Feature/PasswordResetAndEmailServiceTest.php tests/Feature/FornitoreTecnorepairAndIntegrationsTest.php tests/Feature/FornitoreContabilitaSerialiImportTest.php tests/Feature/StrutturaDatabaseAndStorageTest.php tests/Feature/NominativiAndFeMatchingTest.php tests/Feature/PostaImapWebmailAndProtocolloTest.php tests/Feature/ContabilitaRelazionaleOrdinarieTest.php tests/Feature/BpmBankParserAndImporterTest.php tests/Feature/UnitaGestioneTemporaleTest.php tests/Feature/CatastoHubDbDrivenTest.php tests/Feature/UnitaCondominoInquilinoRoleToggleTest.php tests/Feature/UnitaImmobiliarePageTest.php tests/Feature/BenedettoBonificaIdempotenteTest.php tests/Feature/ControlTowerPollCommandTest.php (46 passed, 285 assertions) GATE_STATISTICS:
- SMTP_GMAIL_WORKSPACE: Connessione smtp.gmail.com:587 verificata e funzionante.
- PASSWORD_RESET_FLOW: Richiesta da login (/admin-filament/password-reset/request) e da profilo (/admin-filament/profile) operativi.
- SYNC_DISPATCH: Notifiche recapitate istantaneamente senza dipendenza da code background.
- TEST_SUITE: 46 test Feature passati (285 asserzioni, 100% pass). BLOCCO_DATI: no BLOCCO_CONTRATTO: no RISCHI_APERTI: nessuno
Prossimo Passo per .200 (Validazione)
- Eseguire il checkout del branch
stabilization/205-zero. - Eseguire la suite di test Pest (46 passed, 285 assertions).
- Eseguire
php artisan netgescon:test-mailper verificare la connettività SMTP Google. - Verificare la ricezione del link di reset e la modifica autonoma della password.