Välitä To/CC-kentät Zammad-vastauksissa

JS ei lähettänyt käyttäjän muokkaamaa To/CC-kenttää Zammad-vastauksen
mukana — backend käytti aina alkuperäistä lähettäjää tietokannasta.
Nyt käyttäjän syöttämä To/CC välitetään API:lle ja Zammadille.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-13 02:02:11 +02:00
parent 6e0596959b
commit 4086409f99
3 changed files with 17 additions and 7 deletions

11
api.php
View File

@@ -304,7 +304,7 @@ class ZammadClient {
}
/** Lähetä vastaus tikettiin */
public function createArticle(int $ticketId, string $body, string $to = '', string $subject = '', string $type = 'email'): array {
public function createArticle(int $ticketId, string $body, string $to = '', string $subject = '', string $type = 'email', string $cc = ''): array {
// Muunna plain-text HTML:ksi jos body ei sisällä HTML-tageja
$htmlBody = $body;
if (strip_tags($body) === $body) {
@@ -320,6 +320,7 @@ class ZammadClient {
'sender' => 'Agent',
];
if ($to) $data['to'] = $to;
if ($cc) $data['cc'] = $cc;
if ($subject) $data['subject'] = 'Re: ' . preg_replace('/^Re:\s*/i', '', $subject);
return $this->request('POST', 'ticket_articles', $data);
}
@@ -5319,11 +5320,15 @@ switch ($action) {
try {
$z = new ZammadClient($integ['config']['url'], $integ['config']['token']);
$to = !empty($input['to']) ? trim($input['to']) : ($ticket['from_email'] ?? '');
$cc = !empty($input['cc']) ? trim($input['cc']) : '';
$result = $z->createArticle(
(int)$ticket['zammad_ticket_id'],
$body,
$ticket['from_email'] ?? '',
$ticket['subject'] ?? ''
$to,
$ticket['subject'] ?? '',
'email',
$cc
);
// Tallenna myös paikalliseen tietokantaan