fix(conduct): escape format specifiers in SQL DATE_FORMAT queries
This commit is contained in:
@@ -147,7 +147,7 @@ class ConductModel:
|
|||||||
where_clause = " AND ".join(conditions)
|
where_clause = " AND ".join(conditions)
|
||||||
|
|
||||||
count_sql = f"""
|
count_sql = f"""
|
||||||
SELECT COUNT(DISTINCT CONCAT(cr.points_change, '|', cr.reason, '|', cr.recorder_id, '|', DATE_FORMAT(cr.created_at, '%Y-%m-%d %H:%i'))) as total
|
SELECT COUNT(DISTINCT CONCAT(cr.points_change, '|', cr.reason, '|', cr.recorder_id, '|', DATE_FORMAT(cr.created_at, '%%Y-%%m-%%d %%H:%%i'))) as total
|
||||||
FROM conduct_records cr
|
FROM conduct_records cr
|
||||||
WHERE {where_clause}
|
WHERE {where_clause}
|
||||||
"""
|
"""
|
||||||
@@ -157,13 +157,13 @@ class ConductModel:
|
|||||||
cr.points_change,
|
cr.points_change,
|
||||||
cr.reason,
|
cr.reason,
|
||||||
cr.recorder_name,
|
cr.recorder_name,
|
||||||
DATE_FORMAT(MIN(cr.created_at), '%Y-%m-%d %H:%i:%s') as created_at,
|
DATE_FORMAT(MIN(cr.created_at), '%%Y-%%m-%%d %%H:%%i:%%s') as created_at,
|
||||||
GROUP_CONCAT(s.name ORDER BY s.student_id SEPARATOR ', ') as student_names,
|
GROUP_CONCAT(s.name ORDER BY s.student_id SEPARATOR ', ') as student_names,
|
||||||
COUNT(*) as student_count
|
COUNT(*) as student_count
|
||||||
FROM conduct_records cr
|
FROM conduct_records cr
|
||||||
JOIN students s ON cr.student_id = s.student_id
|
JOIN students s ON cr.student_id = s.student_id
|
||||||
WHERE {where_clause}
|
WHERE {where_clause}
|
||||||
GROUP BY cr.points_change, cr.reason, cr.recorder_id, DATE_FORMAT(cr.created_at, '%Y-%m-%d %H:%i')
|
GROUP BY cr.points_change, cr.reason, cr.recorder_id, DATE_FORMAT(cr.created_at, '%%Y-%%m-%%d %%H:%%i')
|
||||||
ORDER BY MIN(cr.created_at) DESC
|
ORDER BY MIN(cr.created_at) DESC
|
||||||
LIMIT %s OFFSET %s
|
LIMIT %s OFFSET %s
|
||||||
"""
|
"""
|
||||||
|
|||||||
Reference in New Issue
Block a user