diff --git a/api.php b/api.php index cda50f1..4b9853b 100644 --- a/api.php +++ b/api.php @@ -5379,7 +5379,7 @@ switch ($action) { // Zammad state → intran status $stateMap = [ - 'new' => 'uusi', 'open' => 'avoin', 'pending reminder' => 'odottaa', + 'new' => 'uusi', 'open' => 'kasittelyssa', 'pending reminder' => 'odottaa', 'pending close' => 'odottaa', 'closed' => 'suljettu', 'merged' => 'suljettu', 'removed' => 'suljettu', ]; @@ -5638,6 +5638,21 @@ switch ($action) { $attachments ); + // Päivitä tila: uusi → käsittelyssä (sekä intra että Zammad) + if ($ticket['status'] === 'uusi') { + _dbExecute( + "UPDATE tickets SET status = 'kasittelyssa' WHERE id = ? AND company_id = ?", + [$ticketId, $companyId] + ); + // Päivitä Zammadiin: state → open + try { + $z->updateTicket((int)$ticket['zammad_ticket_id'], ['state' => 'open']); + } catch (\Throwable $e) { + // Ei estä vastauksen tallennusta — logita virhe + error_log("Zammad state update failed: " . $e->getMessage()); + } + } + // Tallenna To/CC/BCC tiketille pysyvästi _dbExecute( "UPDATE tickets SET to_email = ?, cc = ?, bcc = ? WHERE id = ? AND company_id = ?",