đĄ-nappi sivun alareunassa avaa kehitysehdotuslomakkeen suoraan
(navigoi todo/features-vÀlilehdelle ja avaa uuden ehdotuksen).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Kokoaa kaikki asiakkaiden liittymÀt yhteen nÀkymÀÀn haulla ja suodattimilla.
Sarakkeet: asiakas, osoite, kaupunki, nopeus, VLAN, laite, portti, IP, hinta.
Suodattimet: kaupunki, nopeus, laite. Laitetietojen ping-status nÀkyvissÀ.
Klikkaus avaa asiakkaan muokkaukseen.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Uusi category-sarake todosiin. NĂ€kyy listassa badgena, lomakkeessa
dropdownina ja lukunÀkymÀssÀ. TyypillÀ voi myös suodattaa listaa.
VĂ€rikoodatut badget kullekin tyypille.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
TehtÀvÀt ja kehitysehdotukset nÀytetÀÀn nyt taulukkoriveinÀ
(kuten tukitiketit) kortti-gridin sijaan. TehtÀvÀt lajitellaan
deadlinen mukaan (lÀhimmÀt ensin), valmiit loppuun. MyöhÀstyneet
rivit punaisella ja pian erÀÀntyvÀt keltaisella taustalla.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Vapaa tekstikenttĂ€ â select-dropdown valmiilla vaihtoehdoilla:
- Tyyppi: Reititin, Kytkin, Palomuuri, Tukiasema, Palvelin, OLT, ONT, Mediamuunnin, Muu
- Funktio: PE/EDGE/CPE Reititin, Core/Aggregaatio/Access-kytkin, WAN GW, WLAN Controller, Asiakaslaite, Muu
- Tyyppi-sarake siirretty ennen Funktio-saraketta
- setSelectValue helper: lisÀÀ puuttuvan option automaattisesti muokatessa vanhaa dataa
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Uusi moduuli "Ohjeet" jossa yllÀpitÀjÀ voi kirjoittaa ohjeita
asiakaspalvelijoille miten asioita tehdÀÀn.
Ominaisuudet:
- Korttipohjainen listanÀkymÀ (grid) hakutoiminnolla ja kategoriasuodatuksella
- Markdown-editori toolbarilla (B, I, H2, H3, listat, linkit, koodi, lainaukset)
- Esikatselu-toggle muokkausnÀkymÀssÀ
- Artikkelien lukunÀkymÀ renderoitulla Markdownilla
- Kategorioiden hallinta (lisÀÀ/poista)
- Tagit ja kiinnitys (pinned) -toiminto
- Oikeushallinta: kaikki lukevat, admin luo/muokkaa/poistaa
- Moduuli nÀkyy/piiloutuu yrityskohtaisista asetuksista
- Muutokset kirjautuvat muutoslokiin
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Sijainnit lisÀtÀÀn yrityksen asetuksista, joten tekniikka-
vÀlilehden turhat LisÀÀ sijainti -napit poistettu.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Duplikaatti-IP/verkko -tarkistus: estÀÀ saman verkko-osoitteen lisÀÀmisen kahdesti
- Vapaan tilan nÀyttö: kun subnet avataan, nÀytetÀÀn vapaat osoitelohkot lasten vÀlissÀ (vihreÀ "Vapaa"-rivi)
- Asiakas-kenttÀ poistettu IPAM-nÀkymÀstÀ (taulukot, lomake, haku)
- Varattu oletustilaksi verkkoa/VLANia lisÀttÀessÀ
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Dropdown oli liian rajoittava â nyt VLAN-numeron voi kirjoittaa
vapaasti lomakkeeseen verkkojen ja IP:iden kohdalla.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- VLAN-kenttÀ on nyt dropdown joka populoidaan VLAN-listasta
(subnetit viittaavat VLANeihin)
- Asiakas-kenttÀ on dropdown joka populoidaan asiakaslistasta
- VerkkonÀkymÀssÀ VLAN-sarakkeessa nÀkyy numero + nimi viitteenÀ
- VLAN-osio nÀkyy aina (myös tyhjÀnÀ)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
TyhjÀ kenttÀ tai 'kaikki' = ei rajoitusta. UI nÀyttÀÀ 'kaikki'
oletuksena uusille yrityksille.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
LisÀtty allowed_ips kenttÀ yrityksiin. TyhjÀ = ei rajoitusta,
muuten vain listatut IP:t/CIDR-alueet pÀÀsevÀt kirjautumaan.
Superadmin ohittaa aina IP-tarkistuksen (backdoor).
Tarkistus tehdÀÀn login, check_auth ja company_switch -endpointeissa.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Vaihdettu sarakkeen nimi 'Osoitettu' -> 'Agentti' ja
detail-nÀkymÀn dropdown 'Ei osoitettu' -> 'Ei agenttia'.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Siirretty Asiakas-sarake heti Tila-sarakkeen jÀlkeen ja lisÀtty
uusi Osoitettu (assigned_to) -sarake viimeiseksi sarakkeeksi.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Vastauspohjien hallinta kuuluu asiakaspalvelu-osioon, ei API-asetusten alle.
Poistettu tuplana ollut HTML-osio + siihen liittyvÀt JS-eventlistenerit.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Captcha: loadBranding() ensin, sitten captcha+auth, jotta sessio-cookie
on luotu ennen captcha-latausta (estÀÀ eri sessiot rinnakkaisilla kutsuilla).
SMTP-testi: lisÀÀ salasanavihje (3 ensimmÀistÀ + 2 viimeistÀ merkkiÀ),
override-kentÀt joilla voi testata eri tunnuksilla suoraan ilman DB:tÀ.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Korvaa mailbox_debug-endpoint kattavalla smtp_test-endpointilla,
joka testaa yhteyden, TLS:n ja autentikoinnin vaihe vaiheelta.
"Testaa SMTP" -nappi lomakkeessa nÀyttÀÀ tulokset.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- SMTP-palvelinkenttÀ nÀkyy nyt aina mailbox-lomakkeessa,
myös kun "KÀytÀ samoja tunnuksia" on pÀÀllÀ (vain kÀyttÀjÀ
ja salasana piiloutuvat)
- Korjattu CuituNet â Cuitunet kaikkialla (pieni n)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Portti ja salaus tarvitaan aina (IMAP=993/SSL vs SMTP=587/TLS),
joten ne nÀkyvÀt nyt checkboxin tilasta riippumatta.
"KÀytÀ samoja tunnuksia" piilottaa vain palvelimen, kÀyttÀjÀn
ja salasanan.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Mailbox-lomake nÀyttÀÀ nyt Saapuva (IMAP) ja LÀhtevÀ (SMTP)
vierekkÀin. SMTP-puolella on "KÀytÀ samoja tunnuksia kuin
saapuvassa" -checkbox (oletuksena pÀÀllÀ), joka piilottaa
SMTP-kentÀt ja kopioi IMAP-asetukset tallennettaessa.
LÀhettÀjÀn sÀhköposti ja nimi omana osionaan alhaalla.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Aiemmin sÀhköpostit lÀhetettiin PHP mail()-funktiolla, mikÀ
ei toimi kunnolla useimmilla palvelimilla (SPF/DKIM-ongelmat).
Nyt mailboxiin voi konfiguroida SMTP-asetukset (host, port,
user, pass, encryption), ja lÀhetys tapahtuu suoraan
SMTP-palvelimen kautta socket-yhteydellÀ. Fallback PHP
mail():iin jos SMTP-asetuksia ei ole asetettu.
- db.php: smtp_host/port/user/password/encryption sarakkeet
- api.php: sendViaSMTP() socket-pohjainen SMTP-client
- index.html: SMTP-kentÀt mailbox-lomakkeeseen
- script.js: SMTP-kenttien luku/kirjoitus lomakkeessa
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
KÀyttÀjÀ nÀkee nyt "KÀytÀ allekirjoitusta" -tÀpÀn alla
suoraan mitÀ allekirjoitustekstiÀ viestiin liitetÀÀn.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Checkbox nyt oletuksena rastittuna = allekirjoitus mukaan. Rastin poisto
poistaa allekirjoituksen viestistÀ.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- ModuulijÀrjestelmÀ: yrityskohtaiset tabit (customers, support, leads, archive,
changelog, settings) valittavissa checkboxeina yrityksen asetuksissa
- KÀyttÀjÀroolit: superadmin (pÀÀkÀyttÀjÀ), admin (yritysadmin), user (kÀyttÀjÀ)
- Superadmin: kaikki oikeudet kuten ennen
- Yritysadmin: muokkaa oman yrityksen asetuksia, moduuleita, postilaatikoita
- KÀyttÀjÀ: peruskÀyttö ilman hallintaoikeuksia
- PÀivitetty-kenttÀ nÀyttÀÀ suhteellista aikaa (15min sitten, 2h sitten, 3pv sitten)
- DB: enabled_modules sarake companies-tauluun, role ENUM laajennettu
- Automaattinen migraatio: vanhat admin â superadmin
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Priority emails are now per-customer, not per-company.
Each customer can have a list of email addresses that
automatically elevate ticket priority to "tÀrkeÀ" when
they send email. Field added to customer form under
"LisÀtiedot" section.
Removed separate priority_emails settings from API/rules tabs.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Reply form:
- Mailbox/sender selection dropdown (choose which email to reply from)
- CC field (auto-filled from incoming email CC, editable)
- Reply templates dropdown (quick insert pre-made responses)
Priority system:
- Three levels: normaali, tÀrkeÀ, urgent
- Priority dropdown in ticket detail view
- Priority-based sorting (urgent/tÀrkeÀ always on top)
- Visual indicators in ticket list (colored rows, emoji badges)
- Priority emails: per-company email list that auto-sets "tÀrkeÀ"
Response templates:
- CRUD management in Settings tab
- Dropdown selector in reply form
- Templates insert into textarea
Telegram alerts:
- Bot token + chat ID configuration in Settings
- Test button to verify connection
- Auto-alert on urgent tickets (both manual and from email fetch)
- Alert on priority email matches
Database changes:
- New tables: reply_templates, customer_priority_emails
- New columns: tickets.cc, tickets.priority
- ALTER TABLE migration in initDatabase()
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- When company logo is set, show only "Hallintapaneeli" without
company name (logo identifies the company)
- Ticket auto-refresh checkbox is checked by default
- Auto-refresh starts when switching to support tab
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>