diff --git a/api.php b/api.php index aef15d2..31a2b8e 100644 --- a/api.php +++ b/api.php @@ -5833,14 +5833,21 @@ switch ($action) { // PAITSI jos Zammadissa status on oikeasti muuttunut (esim. uusi viesti avasi tiketin) $localStatus = $existing['status'] ?? ''; $newStatus = $status; - if ($localStatus === 'suljettu' && $status === 'uusi') { + // Tilat jotka on asetettu lokaalisti intrassa — Zammad ei saa ylikirjoittaa + $localOnlyStatuses = ['odottaa vastausta', 'kasittelyssa', 'odottaa']; + if (in_array($localStatus, $localOnlyStatuses)) { + // Säilytä lokaali tila — paitsi jos Zammadissa on suljettu + if ($status === 'suljettu') { + $newStatus = 'suljettu'; + } else { + $newStatus = $localStatus; + } + } elseif ($localStatus === 'suljettu' && $status === 'uusi') { // Tarkista onko Zammadissa oikeasti uutta toimintaa (updated_at muuttunut) $localUpdated = $existing['updated'] ?? ''; if ($zammadUpdated > $localUpdated) { - // Zammadissa on tapahtunut jotain — avaa uudelleen $newStatus = 'uusi'; } else { - // Ei muutoksia — pidä suljettuna $newStatus = 'suljettu'; } }