From 9b00974e4e3a18add3fb93e0dc9a02a2c6107ad2 Mon Sep 17 00:00:00 2001 From: DevSoftTech Server Date: Sat, 27 Jun 2026 00:22:17 +0530 Subject: [PATCH] ABDM task board: add OPD gateway retry action --- app/Views/abdm/task_board.php | 33 ++++++++++++++++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/app/Views/abdm/task_board.php b/app/Views/abdm/task_board.php index cabb4e5..fcfb2da 100644 --- a/app/Views/abdm/task_board.php +++ b/app/Views/abdm/task_board.php @@ -318,6 +318,14 @@ + + + @@ -2040,6 +2048,10 @@ btnSubmitFhirToAbdm.className = 'btn btn-sm btn-outline-warning'; btnSubmitFhirToAbdm.innerHTML = ' Verify & Submit to Gateway'; btnSubmitFhirToAbdm.title = 'Submit directly to ABDM gateway after FHIR verification'; + } else if (_fhirSubmitMode === 'opd_gateway') { + btnSubmitFhirToAbdm.className = 'btn btn-sm btn-outline-warning'; + btnSubmitFhirToAbdm.innerHTML = ' Submit to Gateway'; + btnSubmitFhirToAbdm.title = 'Force gateway push for this OPD consult'; } else { btnSubmitFhirToAbdm.className = defaultSubmitBtnClass; btnSubmitFhirToAbdm.innerHTML = defaultSubmitBtnHtml; @@ -2212,11 +2224,17 @@ } if (_fhirOpdId <= 0) { alert('No FHIR bundle loaded.'); return; } - if (!confirm('Submit FHIR bundle for OPD #' + _fhirOpdId + ' to ABDM bridge?')) return; + var submitConfirm = _fhirSubmitMode === 'opd_gateway' + ? 'Submit OPD #' + _fhirOpdId + ' to ABDM gateway now?\nThis will force push_to_gateway=1.' + : 'Submit FHIR bundle for OPD #' + _fhirOpdId + ' to ABDM bridge?'; + if (!confirm(submitConfirm)) return; var origHtml = btn.innerHTML; btn.disabled = true; btn.textContent = 'Submitting…'; var body = new URLSearchParams({ opd_id: _fhirOpdId, opd_session_id: _fhirSessionId }); + if (_fhirSubmitMode === 'opd_gateway') { + body.append('push_to_gateway', '1'); + } body.append(csrfName, csrfHash); var submitTimeoutMs = 150000; var submitController = new AbortController(); @@ -2287,6 +2305,19 @@ }); }); + document.querySelectorAll('.btn-opd-consult-submit-gateway').forEach(function (btn) { + btn.addEventListener('click', function () { + var opdId = parseInt(btn.getAttribute('data-opd-id') || '0', 10); + var abhaId = (btn.getAttribute('data-abha-id') || '').trim(); + if (opdId <= 0) return; + openFhirModal( + '/' + opdId, + 'Gateway Submit — OPD #' + opdId, + { submitMode: 'opd_gateway', abhaId: abhaId } + ); + }); + }); + document.getElementById('btnRefresh').addEventListener('click', function () { if (typeof window.load_form === 'function') { window.load_form(refreshUrl, 'ABDM Task Board');