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