75 lines
5.5 KiB
Markdown
75 lines
5.5 KiB
Markdown
# CURRENT-205
|
|
|
|
TASK_ID: task-nethome-imap-webmail-protocollo
|
|
MACHINE: .205
|
|
STATO: completato
|
|
|
|
## Obiettivo Completato
|
|
|
|
1. **Gestione Fornitore Nethome SAS (`10055221005`) & Collegamento Compensi Stabili**:
|
|
- Fornitore ID 236 (`NETHOME sas di BARONE M. & C.`, P.IVA / CF `10055221005`) censito e collegato trasversalmente a tutti i 16 stabili in `fornitore_stabile_impostazioni`.
|
|
- Verificate le 5 fatture elettroniche già presenti a sistema con Nethome come fornitore/cedente.
|
|
|
|
2. **Codice Mnemonico `cod_stabile` da `Stabili.mdb`**:
|
|
- Riallineati e popolati i codici mnemonici su tutti i 16 stabili target (`0002` -> `908`, `0008` -> `909`, `0009` -> `912`, `0010` -> `13`, `0011` -> `910`, `0012` -> `920`, `0013` -> `17`, `0016` -> `145`, `0017` -> `907`, `0018` -> `18`, `0019` -> `146`, `0021` -> `148`, `0022` -> `928`, `0023` -> `8`, `0024` -> `147`, `0025` -> `223`).
|
|
- Visibile e ricercabile nella tabella `http://192.168.0.205:8000/admin-filament/gescon/anagrafica/stabili`.
|
|
|
|
3. **Integrazione IMAP e Archiviazione Locale `.EML` (`php artisan gescon:fetch-mail`)**:
|
|
- Sviluppato `ImapClient` in puro PHP SSL/TLS su porta 993 (zero dipendenze binarie libc-client) con supporto comandi IMAP standard (LOGIN, SELECT, SEARCH, FETCH BODY).
|
|
- Sviluppato `EmlParser` per parsing MIME conforme RFC 822/2822/5322 con decodifica multipart, body HTML/testo e salvataggio allegati.
|
|
- Salvataggio automatico del file grezzo `.eml` in `storage/app/private/amministratori/{cod_adm}/stabili/{cod_stabile}/posta_{ordinaria|pec}/{anno}/`.
|
|
- Creazione del record in `communication_messages` e auto-matching dell'Unità Immobiliare per email del mittente.
|
|
- Supporto configurazione e test connessione IMAP direttamente dalla scheda stabile (`/admin-filament/condomini/stabile?tab=posta-ufficiale`).
|
|
|
|
4. **Due Nuove Blade Webmail Stile Gmail (Posta Ordinaria e Posta PEC)**:
|
|
- `PostaOrdinariaWebmail` (`http://192.168.0.205:8000/admin-filament/comunicazioni/posta-ordinaria`)
|
|
- `PostaPecWebmail` (`http://192.168.0.205:8000/admin-filament/comunicazioni/posta-pec`)
|
|
- Layout responsive modellato fedelmente sullo screenshot Gmail: barra di ricerca in tempo reale con debounce, filtro per stabile singolo o aggregato, pillole allegati (PDF, immagini, documenti), contrassegno speciale ⭐, apertura 1-click di ticket condominiale, composizione modale ed anteprima allegati rapida.
|
|
|
|
5. **Scheda Unità (`unita-immobiliare`) - Tab Comunicazioni & Protocollo**:
|
|
- Aggregazione completa di corrispondenza storica (`protoc_ec`, `corrisp_inviata`) e messaggi email/PEC associati all'unità (`communication_messages`).
|
|
- Ordinamento cronologico rigorosamente decrescente basato su Unix timestamp per evitare anomalie di ordinamento lessicografico.
|
|
- Modal di anteprima visiva istantanea di PDF, immagini e documenti allegati cliccando sul nome del file.
|
|
|
|
## Output del Giro Operativo
|
|
|
|
ESITO_205: riuscito
|
|
TASK_ID: task-nethome-imap-webmail-protocollo
|
|
REPOSITORY: ssh://git@git.netgescon.it:2222/michele/netgescon-day0.git
|
|
BRANCH: stabilization/205-zero
|
|
COMMIT: d7f8346
|
|
FILE_O_AREE_TOCCATE:
|
|
- app/Services/Posta/EmlParser.php
|
|
- app/Services/Posta/ImapClient.php
|
|
- app/Services/Posta/ImapMailboxService.php
|
|
- app/Console/Commands/FetchMailboxesCommand.php
|
|
- app/Filament/Pages/Posta/PostaOrdinariaWebmail.php
|
|
- app/Filament/Pages/Posta/PostaPecWebmail.php
|
|
- resources/views/filament/pages/posta/webmail.blade.php
|
|
- app/Filament/Pages/Condomini/StabilePage.php
|
|
- resources/views/filament/pages/condomini/tabs/posta-ufficiale.blade.php
|
|
- app/Filament/Pages/UnitaImmobiliarePage.php
|
|
- resources/views/filament/pages/unita-immobiliare.blade.php
|
|
- app/Models/PersonaUnitaRelazione.php
|
|
- skill-netgescon/directives/gestione-posta-imap-webmail-protocollo.md
|
|
- tests/Feature/PostaImapWebmailAndProtocolloTest.php
|
|
- skill-netgescon/control-tower/CURRENT-205.md
|
|
TEST_ESEGUITI:
|
|
- ./vendor/bin/pest tests/Feature/PostaImapWebmailAndProtocolloTest.php tests/Feature/NominativiAndFeMatchingTest.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/AnagraficaUnicaCanonicaTest.php tests/Feature/BenedettoBonificaIdempotenteTest.php tests/Feature/ControlTowerPollCommandTest.php (34 passed, 210 assertions)
|
|
GATE_STATISTICS:
|
|
- NETHOME_SAS_FORNITORE: Fornitore 236 configurato e collegato a tutti i 16 stabili.
|
|
- COD_STABILE_MNEMONICO: 16 stabili aggiornati con cod_stabile da Stabili.mdb.
|
|
- IMAP_EML_SYNC: Client socket puro PHP SSL/TLS + Parser RFC 822 + archiviazione .eml in storage per anno/stabile.
|
|
- GMAIL_WEBMAIL_UI: Due blade dedicate (Posta Ordinaria e PEC) conformi allo screenshot di riferimento.
|
|
- UNITA_PROTOCOLLO_MODAL: Ordinamento cronologico Unix decrescente + modal anteprima allegati/documenti.
|
|
- TEST_SUITE: 34 test Feature passati con successo (210 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 (34 passed, 210 assertions).
|
|
- Verificare la Webmail Posta Ordinaria su `http://192.168.0.205:8000/admin-filament/comunicazioni/posta-ordinaria`, la Webmail PEC su `http://192.168.0.205:8000/admin-filament/comunicazioni/posta-pec` e la Scheda Unità (tab Comunicazioni & Protocollo) su `http://192.168.0.205:8000/admin-filament/unita-immobiliare?tab=preferenze`.
|