From a77a5ff76d2ba1eb22bf54d318f411d601e05d6f Mon Sep 17 00:00:00 2001 From: Sebastian Serth Date: Wed, 20 May 2020 12:10:35 +0200 Subject: [PATCH] Fix deadline bug for admins and teachers --- app/views/exercises/statistics.html.slim | 15 ++++++++------- app/views/external_users/statistics.html.slim | 17 +++++++++-------- 2 files changed, 17 insertions(+), 15 deletions(-) diff --git a/app/views/exercises/statistics.html.slim b/app/views/exercises/statistics.html.slim index 97757feb..10934071 100644 --- a/app/views/exercises/statistics.html.slim +++ b/app/views/exercises/statistics.html.slim @@ -61,12 +61,13 @@ h1 = @exercise td = link_to_if symbol==:external_users && policy(user).statistics?, label, {controller: "exercises", action: "statistics", external_user_id: user.id, id: @exercise.id} td = us['maximum_score'] or 0 td.align-middle - - latest_user_submission = submissions.where(user: user).latest - - if latest_user_submission.before_deadline? - .unit-test-result.positive-result.before_deadline - - elsif latest_user_submission.within_grace_period? - .unit-test-result.unknown-result.within_grace_period - - elsif latest_user_submission.after_late_deadline? - .unit-test-result.negative-result.after_late_deadline + - latest_user_submission = submissions.where(user: user).final.latest + - if latest_user_submission.present? + - if latest_user_submission.before_deadline? + .unit-test-result.positive-result.before_deadline + - elsif latest_user_submission.within_grace_period? + .unit-test-result.unknown-result.within_grace_period + - elsif latest_user_submission.after_late_deadline? + .unit-test-result.negative-result.after_late_deadline td = us['runs'] if policy(@exercise).detailed_statistics? td = @exercise.average_working_time_for(user.id) or 0 if policy(@exercise).detailed_statistics? diff --git a/app/views/external_users/statistics.html.slim b/app/views/external_users/statistics.html.slim index 00dcab63..919852e1 100644 --- a/app/views/external_users/statistics.html.slim +++ b/app/views/external_users/statistics.html.slim @@ -4,9 +4,8 @@ h1 = t('.title') - exercises = Exercise.where(id: submissions.joins(:exercise).group(:exercise_id).select(:exercise_id).distinct) - if !policy(exercises.first).detailed_statistics? - submissions = submissions.final -- latest_viewable_submission = submissions.latest -- if latest_viewable_submission && policy(latest_viewable_submission).show_study_group? +- if submissions.any? .table-responsive table.table.table-striped.sortable thead @@ -26,12 +25,14 @@ h1 = t('.title') td = link_to exercise, controller: "exercises", action: "statistics", external_user_id: @user.id, id: exercise.id td = stats["maximum_score"] or 0 td.align-middle - - if latest_viewable_submission.before_deadline? - .unit-test-result.positive-result.before_deadline - - elsif latest_viewable_submission.within_grace_period? - .unit-test-result.unknown-result.within_grace_period - - elsif latest_viewable_submission.after_late_deadline? - .unit-test-result.negative-result.after_late_deadline + - latest_viewable_submission = submissions.where(exercise: exercise).final.latest + - if latest_viewable_submission.present? + - if latest_viewable_submission.before_deadline? + .unit-test-result.positive-result.before_deadline + - elsif latest_viewable_submission.within_grace_period? + .unit-test-result.unknown-result.within_grace_period + - elsif latest_viewable_submission.after_late_deadline? + .unit-test-result.negative-result.after_late_deadline td = stats["runs"] or 0 if policy(exercises.first).detailed_statistics? td = stats["working_time"] or 0 if policy(exercises.first).detailed_statistics? - else