# Sähköpostiallekirjoitus per käyttäjä per postilaatikko ## Tallennusrakenne Allekirjoitukset tallennetaan **users.json**:iin käyttäjäkohtaisesti, avaimena postilaatikon ID: ```json { "id": "abc123", "username": "jukka", "nimi": "Jukka", "signatures": { "mailbox-cuitunet-1": "Jukka Lampikoski\nCuitunet Oy\nasiakaspalvelu@cuitunet.fi", "mailbox-storagebox-1": "Jukka\nStorageBOX\nbox@storagebox.fi" } } ``` ## Muutokset ### 1. index.html — Allekirjoitusten hallinta käyttäjälomakkeessa Lisätään user-modal lomakkeeseen uusi osio "Sähköpostiallekirjoitukset": - Jokaiselle postilaatikkolle (kaikkien käyttäjän yritysten) oma textarea - Näyttää postilaatikon nimen + yrityksen nimen labelin - Esim: "Cuitunet — Cuitunet-asiakaspalvelu" ### 2. script.js — openUserForm() - Haetaan kaikkien yritysten postilaatikot API:lla (uusi endpoint `all_mailboxes` tai hyödynnetään olemassaolevia) - Generoidaan allekirjoitus-textareat dynaamisesti - Täytetään olemassa olevat allekirjoitukset user.signatures objektista ### 3. script.js — Käyttäjälomakkeen tallennus - Kerätään allekirjoitus-textareoiden arvot `signatures`-objektiin - Lähetetään `user_update`/`user_create` mukana ### 4. api.php — user_update/user_create - Vastaanotetaan ja tallennetaan `signatures`-kenttä users.json:iin ### 5. api.php — Uusi endpoint `all_mailboxes` - Palauttaa kaikki postilaatikot käyttäjän yrityksistä (id, nimi, yrityksen nimi) - Tarvitaan allekirjoituslomakkeen generointiin ### 6. script.js — Vastauslomake (ticket-reply) - Kun tiketti avataan, haetaan kirjautuneen käyttäjän allekirjoitus kyseiselle postilaatikkolle - Näytetään allekirjoitus vastaus-textarean alla esikatseluna (readonly, harmaa teksti) - Allekirjoitusta EI laiteta itse tekstikenttään (käyttäjä ei vahingossa muokkaa sitä) ### 7. api.php — ticket_reply endpoint - Haetaan käyttäjän allekirjoitus: users.json → kyseinen user → signatures[mailbox_id] - Liitetään allekirjoitus viestin perään ennen lähettämistä: `$body . "\n\n-- \n" . $signature` - Tallennetaan myös messages-tauluun allekirjoituksen kanssa (jotta näkyy viestiketjussa) - Muistiinpanoon (ticket_note) EI liitetä allekirjoitusta ## Käyttöliittymä Käyttäjälomakkeessa: ``` Sähköpostiallekirjoitukset ───────────────────────── Cuitunet — Cuitunet-asiakaspalvelu ┌──────────────────────────────────┐ │ Jukka Lampikoski │ │ Cuitunet Oy │ │ asiakaspalvelu@cuitunet.fi │ └──────────────────────────────────┘ StorageBOX — Tuki ┌──────────────────────────────────┐ │ Jukka │ │ StorageBOX │ │ box@storagebox.fi │ └──────────────────────────────────┘ ``` Tikettinäkymässä vastauslomakkeen alla: ``` [Kirjoita vastaus... ] -- Jukka Lampikoski Cuitunet Oy asiakaspalvelu@cuitunet.fi [Lähetä vastaus] ```