Add safe load_form fallback and resilient invoice navigation
This commit is contained in:
parent
60d708c7b8
commit
644449b3de
|
|
@ -9,7 +9,7 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-6 d-flex gap-2">
|
<div class="col-md-6 d-flex gap-2">
|
||||||
<button type="button" class="btn btn-primary" onclick="chargesInvoiceSearch()">Search</button>
|
<button type="button" class="btn btn-primary" onclick="chargesInvoiceSearch()">Search</button>
|
||||||
<button type="button" class="btn btn-light" onclick="load_form('<?= base_url('Invoice/chargeslist') ?>','Charges Invoice')">Reset</button>
|
<button type="button" class="btn btn-light" onclick="navigateOrLoad('<?= base_url('Invoice/chargeslist') ?>','Charges Invoice')">Reset</button>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
|
|
@ -42,7 +42,7 @@
|
||||||
<td><?= esc($invType) ?></td>
|
<td><?= esc($invType) ?></td>
|
||||||
<td><?= esc(number_format((float) ($row->net_amount ?? 0), 2, '.', '')) ?></td>
|
<td><?= esc(number_format((float) ($row->net_amount ?? 0), 2, '.', '')) ?></td>
|
||||||
<td>
|
<td>
|
||||||
<button type="button" class="btn btn-outline-primary btn-sm" onclick="load_form('<?= base_url('billing/charges/show') ?>/<?= (int) ($row->inv_id ?? 0) ?>','Charges Invoice');">Open</button>
|
<button type="button" class="btn btn-outline-primary btn-sm" onclick="navigateOrLoad('<?= base_url('billing/charges/show') ?>/<?= (int) ($row->inv_id ?? 0) ?>','Charges Invoice');">Open</button>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<?php endforeach; ?>
|
<?php endforeach; ?>
|
||||||
|
|
@ -53,9 +53,17 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
function navigateOrLoad(url, title) {
|
||||||
|
if (typeof window.load_form === 'function') {
|
||||||
|
window.load_form(url, title || '');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
window.location.href = url;
|
||||||
|
}
|
||||||
|
|
||||||
function chargesInvoiceSearch() {
|
function chargesInvoiceSearch() {
|
||||||
var q = (document.getElementById('charges_invoice_search') || {}).value || '';
|
var q = (document.getElementById('charges_invoice_search') || {}).value || '';
|
||||||
load_form('<?= base_url('Invoice/chargeslist') ?>?q=' + encodeURIComponent(q), 'Charges Invoice');
|
navigateOrLoad('<?= base_url('Invoice/chargeslist') ?>?q=' + encodeURIComponent(q), 'Charges Invoice');
|
||||||
}
|
}
|
||||||
|
|
||||||
(function() {
|
(function() {
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-6 d-flex gap-2">
|
<div class="col-md-6 d-flex gap-2">
|
||||||
<button type="button" class="btn btn-primary" onclick="opdInvoiceSearch()">Search</button>
|
<button type="button" class="btn btn-primary" onclick="opdInvoiceSearch()">Search</button>
|
||||||
<button type="button" class="btn btn-light" onclick="load_form('<?= base_url('Invoice/opdlist') ?>','OPD Invoice')">Reset</button>
|
<button type="button" class="btn btn-light" onclick="navigateOrLoad('<?= base_url('Invoice/opdlist') ?>','OPD Invoice')">Reset</button>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
|
|
@ -42,7 +42,7 @@
|
||||||
<td><?= esc((string) ($row->mphone1 ?? '-')) ?></td>
|
<td><?= esc((string) ($row->mphone1 ?? '-')) ?></td>
|
||||||
<td><?= esc($invType) ?></td>
|
<td><?= esc($invType) ?></td>
|
||||||
<td>
|
<td>
|
||||||
<button type="button" class="btn btn-outline-primary btn-sm" onclick="load_form('<?= base_url('Opd/invoice') ?>/<?= (int) ($row->opd_id ?? 0) ?>','OPD Invoice');">Open</button>
|
<button type="button" class="btn btn-outline-primary btn-sm" onclick="navigateOrLoad('<?= base_url('Opd/invoice') ?>/<?= (int) ($row->opd_id ?? 0) ?>','OPD Invoice');">Open</button>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<?php endforeach; ?>
|
<?php endforeach; ?>
|
||||||
|
|
@ -53,9 +53,17 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
function navigateOrLoad(url, title) {
|
||||||
|
if (typeof window.load_form === 'function') {
|
||||||
|
window.load_form(url, title || '');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
window.location.href = url;
|
||||||
|
}
|
||||||
|
|
||||||
function opdInvoiceSearch() {
|
function opdInvoiceSearch() {
|
||||||
var q = (document.getElementById('opd_invoice_search') || {}).value || '';
|
var q = (document.getElementById('opd_invoice_search') || {}).value || '';
|
||||||
load_form('<?= base_url('Invoice/opdlist') ?>?q=' + encodeURIComponent(q), 'OPD Invoice');
|
navigateOrLoad('<?= base_url('Invoice/opdlist') ?>?q=' + encodeURIComponent(q), 'OPD Invoice');
|
||||||
}
|
}
|
||||||
|
|
||||||
(function() {
|
(function() {
|
||||||
|
|
|
||||||
|
|
@ -31,6 +31,33 @@
|
||||||
|
|
||||||
<link href="<?= base_url('assets/css/style.css') ?>" rel="stylesheet">
|
<link href="<?= base_url('assets/css/style.css') ?>" rel="stylesheet">
|
||||||
<link href="<?= base_url('assets/css/custom-theme-dark-borders.css') ?>" rel="stylesheet">
|
<link href="<?= base_url('assets/css/custom-theme-dark-borders.css') ?>" rel="stylesheet">
|
||||||
|
|
||||||
|
<script>
|
||||||
|
// Early fallback so javascript:load_form(...) links never fail before full app scripts initialize.
|
||||||
|
if (typeof window.load_form !== 'function') {
|
||||||
|
window.load_form = function(ourl) {
|
||||||
|
if (ourl) {
|
||||||
|
window.location.href = ourl;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
if (typeof window.load_form_div !== 'function') {
|
||||||
|
window.load_form_div = function(ourl, xdiv) {
|
||||||
|
if (!ourl) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (!xdiv) {
|
||||||
|
window.location.href = ourl;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
var el = document.getElementById(String(xdiv));
|
||||||
|
if (el) {
|
||||||
|
el.innerHTML = '<div class="text-muted">Loading...</div>';
|
||||||
|
}
|
||||||
|
window.location.href = ourl;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
</script>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user