From aaec72af7ec9b2e16934a1ee2e8b0a956eb7fbfa Mon Sep 17 00:00:00 2001 From: ajdj100 Date: Thu, 20 Nov 2025 10:06:01 -0500 Subject: [PATCH] Made all created by human readable --- api/src/services/CourseSerivce.ts | 27 ++++++++++++++++++++++++--- shared/types/course.ts | 2 ++ ui/src/pages/TrainingReport.vue | 15 ++++++++++----- 3 files changed, 36 insertions(+), 8 deletions(-) diff --git a/api/src/services/CourseSerivce.ts b/api/src/services/CourseSerivce.ts index 7ba4daf..ea324e3 100644 --- a/api/src/services/CourseSerivce.ts +++ b/api/src/services/CourseSerivce.ts @@ -53,7 +53,17 @@ export async function getCourseEventAttendees(id: number): Promise { - const sql = `SELECT E.*, C.name AS course_name FROM course_events AS E LEFT JOIN courses AS C ON E.course_id = C.id WHERE E.id = ?;`; + const sql = `SELECT + E.*, + M.name AS created_by_name, + C.name AS course_name + FROM course_events AS E + LEFT JOIN courses AS C + ON E.course_id = C.id + LEFT JOIN members AS M + ON E.created_by = M.id + WHERE E.id = ?; + `; let rows: CourseEventDetails[] = await pool.query(sql, [id]); let event = rows[0]; event.attendees = await getCourseEventAttendees(id); @@ -65,7 +75,7 @@ export async function insertCourseEvent(event: CourseEventDetails): Promise { - const sql = "SELECT E.id AS event_id, E.course_id, E.event_date AS date, E.created_by, C.name AS course_name FROM course_events as E LEFT JOIN courses AS C ON E.course_id = C.id;"; + const sql = `SELECT + E.id AS event_id, + E.course_id, + E.event_date AS date, + E.created_by, + C.name AS course_name, + M.name AS created_by_name + FROM course_events AS E + LEFT JOIN courses AS C + ON E.course_id = C.id + LEFT JOIN members AS M + ON E.created_by = M.id;`; let events: CourseEventSummary[] = await pool.query(sql); return events; } diff --git a/shared/types/course.ts b/shared/types/course.ts index 50c7315..c16ec41 100644 --- a/shared/types/course.ts +++ b/shared/types/course.ts @@ -29,6 +29,7 @@ export interface CourseEventDetails { attendees: CourseAttendee[] | null; created_by: number | null; + created_by_name: string | null; course_name: string | null; } @@ -80,4 +81,5 @@ export interface CourseEventSummary { course_name: string; date: string; created_by: number; + created_by_name: string; } \ No newline at end of file diff --git a/ui/src/pages/TrainingReport.vue b/ui/src/pages/TrainingReport.vue index 67fddc0..1211956 100644 --- a/ui/src/pages/TrainingReport.vue +++ b/ui/src/pages/TrainingReport.vue @@ -60,7 +60,7 @@ onMounted(async () => {
- + Training @@ -76,7 +76,8 @@ onMounted(async () => { @click="viewTrainingReport(report.event_id);"> {{ report.course_name }} {{ report.date }} - {{ report.created_by === null ? "Unknown User" : report.created_by + {{ report.created_by_name === null ? "Unknown User" : + report.created_by_name }} @@ -89,6 +90,9 @@ onMounted(async () => {

{{ focusedTrainingReport.course_name }}

{{ focusedTrainingReport.event_date }}

+

Created by {{ focusedTrainingReport.created_by_name === null ? "Unknown User" : + focusedTrainingReport.created_by_name + }}