From 352f30876a34d9ee136b1ec430f29adebbf10503 Mon Sep 17 00:00:00 2001 From: Steven Lageveen Date: Fri, 27 Sep 2024 01:01:36 +0200 Subject: [PATCH] Should fix multiple submissions in brightspace --- .../LMSHandlers/BrightspaceHandler.cs | 33 +++++++++++++------ charts/iguideme/Chart.yaml | 4 +-- 2 files changed, 25 insertions(+), 12 deletions(-) diff --git a/IguideME.Web/Services/LMSHandlers/BrightspaceHandler.cs b/IguideME.Web/Services/LMSHandlers/BrightspaceHandler.cs index 02c7fa7e..36522e36 100644 --- a/IguideME.Web/Services/LMSHandlers/BrightspaceHandler.cs +++ b/IguideME.Web/Services/LMSHandlers/BrightspaceHandler.cs @@ -353,19 +353,32 @@ IEnumerable users using ( NpgsqlDataReader r = Query( - @$"SELECT grade_results.grade_object_id, + @$" + SELECT gr.grade_object_id, users.username, - grade_results.points_numerator, - grade_results.points_denominator, - grade_results.grade_text, - grade_results.grade_released_date - FROM grade_results + gr.points_numerator, + gr.points_denominator, + gr.grade_text, + gr.grade_released_date + FROM ( + SELECT grade_object_id, + user_id, + points_numerator, + points_denominator, + grade_text, + grade_released_date, + org_unit_id, + is_released, + ROW_NUMBER() OVER (PARTITION BY grade_object_id, user_id ORDER BY version DESC) ranked_order + FROM grade_results) gr INNER JOIN users - ON users.user_id = grade_results.user_id - WHERE grade_results.org_unit_id = @courseID + ON users.user_id = gr.user_id + WHERE gr.org_unit_id = @courseID + AND gr.ranked_order = 1 AND (is_released is null or is_released = TRUE) - AND grade_results.user_id - IN ({string.Join(",", users.Select((_, index) => $"@userID{index}"))})", + AND gr.user_id + IN ({string.Join(",", users.Select((_, index) => $"@userID{index}"))}) + ;", parameters ) ) diff --git a/charts/iguideme/Chart.yaml b/charts/iguideme/Chart.yaml index 46007686..5906f9ea 100644 --- a/charts/iguideme/Chart.yaml +++ b/charts/iguideme/Chart.yaml @@ -2,5 +2,5 @@ apiVersion: v2 name: iguideme description: IguideME type: application -version: 0.2.93 -appVersion: "0.2.93" +version: 0.2.94 +appVersion: "0.2.94"