Fix performAdvancedSearch ReferenceError, settings save, sort reset, notifications 500, CSP
DashboardView.php: wrap performAdvancedSearch in a closure so it is
resolved at event-fire time rather than listener-registration time
(advanced-search.js loads later via pageScripts so the bare identifier
reference caused ReferenceError).
DashboardView.php: reset sort URL to page=1 so sorting all pages
instead of staying on the current page.
dashboard.js: add missing save-settings and close-settings cases to
the click delegation handler (were removed in a prior session under
the assumption they were in dashboard.js, but they were not).
notifications.php: replace JSON_EXTRACT-based comment join (not
universally supported) with a two-step PHP filter: fetch owner/watcher
ticket IDs first, then filter raw comment rows in PHP. Also fix the
status change LIKE pattern to match the actual logTicketUpdate format
{"status": {"from": ..., "to": ...}}.
SecurityHeadersMiddleware.php: add https://cdn.jsdelivr.net to
connect-src so Chart.js source maps load without CSP violations.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -586,7 +586,7 @@ include __DIR__ . '/layout_header.php';
|
||||
$newDir = ($currentSort === $col && $currentDir === 'asc') ? 'desc' : 'asc';
|
||||
$sortClass = ($currentSort === $col) ? 'sort-' . $currentDir : '';
|
||||
$ariaSort = ($currentSort === $col) ? 'aria-sort="' . ($currentDir === 'asc' ? 'ascending' : 'descending') . '"' : '';
|
||||
$sortParams = array_merge($_GET, ['sort' => $col, 'dir' => $newDir]);
|
||||
$sortParams = array_merge($_GET, ['sort' => $col, 'dir' => $newDir, 'page' => 1]);
|
||||
$sortUrl = htmlspecialchars('?' . http_build_query($sortParams), ENT_QUOTES, 'UTF-8');
|
||||
?>
|
||||
<th scope="col" class="<?= $sortClass ?>"
|
||||
@@ -1150,9 +1150,12 @@ document.addEventListener('change', function (e) {
|
||||
}
|
||||
});
|
||||
|
||||
// Advanced search form submit
|
||||
// Advanced search form submit — use wrapper so performAdvancedSearch is resolved at event time
|
||||
// (advanced-search.js loads later via pageScripts in layout_footer.php)
|
||||
var advForm = document.getElementById('advancedSearchForm');
|
||||
if (advForm) advForm.addEventListener('submit', performAdvancedSearch);
|
||||
if (advForm) advForm.addEventListener('submit', function(e) {
|
||||
if (typeof performAdvancedSearch === 'function') performAdvancedSearch(e);
|
||||
});
|
||||
|
||||
// ── Flatpickr date pickers on advanced search date fields ────────
|
||||
(function initFlatpickr() {
|
||||
|
||||
Reference in New Issue
Block a user