User Activity report: filter 'Last Activity' by the selected date range (#52)
The last_activity subquery had no WHERE clause on the report's date-range filter, so it always showed true all-time last activity even when the page was filtered to e.g. "last 7 days" — inconsistent with every other column on the same report. Added the same DATE(created_at) BETWEEN ? AND ? clause used by the report's other subqueries. Verified against a local MariaDB instance: an out-of-range audit_log row is correctly excluded from last_activity once the filter is applied. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01MGDKHiU5RJdo3dqQUDow3X
This commit is contained in:
@@ -391,13 +391,16 @@ switch (true) {
|
||||
LEFT JOIN (
|
||||
SELECT user_id, MAX(created_at) as last_activity
|
||||
FROM audit_log
|
||||
WHERE DATE(created_at) BETWEEN ? AND ?
|
||||
GROUP BY user_id
|
||||
) al ON u.user_id = al.user_id
|
||||
ORDER BY tickets_created DESC, tickets_resolved DESC";
|
||||
|
||||
$stmt = $conn->prepare($sql);
|
||||
$stmt->bind_param(
|
||||
'ssssssss',
|
||||
'ssssssssss',
|
||||
$dateRange['from'],
|
||||
$dateRange['to'],
|
||||
$dateRange['from'],
|
||||
$dateRange['to'],
|
||||
$dateRange['from'],
|
||||
|
||||
Reference in New Issue
Block a user