netgescon-day0/skill-netgescon/control-tower/CURRENT-205.md

5.5 KiB

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.