From e33b0809a04bee9f59fabb2df3589950e9e78dda Mon Sep 17 00:00:00 2001 From: DevSoftTech Server Date: Wed, 20 May 2026 00:56:56 +0530 Subject: [PATCH] fix: fhir_bundle_preview returns JSON for AJAX (modal) requests, HTML for direct browser --- app/Controllers/Opd_prescription.php | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/app/Controllers/Opd_prescription.php b/app/Controllers/Opd_prescription.php index 289fad1..0e6c582 100644 --- a/app/Controllers/Opd_prescription.php +++ b/app/Controllers/Opd_prescription.php @@ -4324,6 +4324,20 @@ class Opd_prescription extends BaseController } $prettyJson = (string) json_encode($bundle, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES); + + // AJAX callers (modal preview) get JSON directly + if ($this->request->isAJAX()) { + return $this->response->setJSON([ + 'status' => 'ok', + 'bundle' => $bundle, + 'document_id' => (int) ($row['id'] ?? 0), + 'generated_at' => (string) ($row['generated_at'] ?? ''), + 'bundle_type' => (string) ($row['bundle_type'] ?? ''), + 'opd_id' => (int) $opdId, + 'opd_session_id' => (int) $sessionId, + ]); + } + $prettyJsonJs = json_encode($prettyJson); $docId = (int) ($row['id'] ?? 0); $generatedAt = htmlspecialchars((string) ($row['generated_at'] ?? ''), ENT_QUOTES, 'UTF-8');