diff --git a/PLAN.md b/PLAN.md new file mode 100644 index 0000000..01ac3a5 --- /dev/null +++ b/PLAN.md @@ -0,0 +1,91 @@ +# 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] +``` diff --git a/data/companies.json b/data/companies.json index dbee29b..29c9bc7 100644 --- a/data/companies.json +++ b/data/companies.json @@ -1,7 +1,7 @@ [ { "id": "cuitunet", - "nimi": "CuituNet", + "nimi": "Cuitunet", "luotu": "2026-03-10", "aktiivinen": true, "domains": ["intra.cuitunet.fi"], diff --git a/deploy_data.php b/deploy_data.php index f335462..38601f5 100644 --- a/deploy_data.php +++ b/deploy_data.php @@ -12,7 +12,7 @@ if (!file_exists($dataDir)) mkdir($dataDir, 0755, true); $companies = [ [ "id" => "cuitunet", - "nimi" => "CuituNet", + "nimi" => "Cuitunet", "luotu" => "2026-03-10 08:58:43", "aktiivinen" => true, "domains" => ["intra.cuitunet.fi"], @@ -33,7 +33,7 @@ $users = [ "companies" => ["cuitunet"], "email" => "", "signatures" => [ - "846898d4a1cb3a08" => "Jukka Lampikoski\nCuituNet Oy\nasiakaspalvelu@cuitunet.fi" + "846898d4a1cb3a08" => "Jukka Lampikoski\nCuitunet Oy\nasiakaspalvelu@cuitunet.fi" ] ] ]; diff --git a/index.html b/index.html index d903a5e..5dc2c56 100644 --- a/index.html +++ b/index.html @@ -830,8 +830,8 @@ Käytä samoja tunnuksia kuin saapuvassa +