Fix semester context, attendance rosters, and billing workflows
- load global semester helpers consistently and use date-based semester defaults - fix grading and daily attendance duplicate student/section rows - keep attendance violations scoped to the current semester by default - update invoice, refund, discount, payment, and financial aid flows - add configuration cleanup migrations for duplicate calendar/semester keys - refresh parent registration/report-card and print request handling - update related models, services, views, cron notes, and test coverage
This commit is contained in:
@@ -175,6 +175,7 @@
|
||||
aria-autocomplete="list"
|
||||
aria-haspopup="listbox"
|
||||
value="<?= esc($searchTermUsedInSearch ?? '') ?>">
|
||||
<button class="btn btn-outline-secondary" type="button" id="manualPayClearSearch">Clear</button>
|
||||
<button class="btn btn-primary" type="submit">Search</button>
|
||||
</div>
|
||||
<div id="manualPaySuggest" class="list-group manual-pay-suggest d-none" role="listbox"></div>
|
||||
@@ -1001,9 +1002,11 @@
|
||||
function initSearchSuggest() {
|
||||
const input = _el('manualPaySearchInput');
|
||||
const suggest = _el('manualPaySuggest');
|
||||
const clear = _el('manualPayClearSearch');
|
||||
if (!input || !suggest) return;
|
||||
|
||||
const suggestUrl = <?= json_encode(site_url('payment/manual_pay_suggest')) ?>;
|
||||
const manualPayUrl = <?= json_encode(site_url('payment/manual_pay')) ?>;
|
||||
let lastRequest = 0;
|
||||
|
||||
function hideSuggest() {
|
||||
@@ -1089,6 +1092,14 @@
|
||||
if (e.key === 'Escape') hideSuggest();
|
||||
});
|
||||
|
||||
if (clear) {
|
||||
clear.addEventListener('click', () => {
|
||||
input.value = '';
|
||||
hideSuggest();
|
||||
window.location.href = manualPayUrl;
|
||||
});
|
||||
}
|
||||
|
||||
document.addEventListener('click', (e) => {
|
||||
if (e.target === input || suggest.contains(e.target)) return;
|
||||
hideSuggest();
|
||||
|
||||
Reference in New Issue
Block a user