Files
codeocean/app/views/external_users/statistics.html.slim
Sebastian Serth 9a9efd5caa Lint Slim files and fix offenses
The fixing was partially done manually and partially automatically.
2024-04-18 08:31:24 +02:00

40 lines
2.1 KiB
Plaintext

h1 = t('.title')
- submissions = Submission.where(contributor: @user).in_study_group_of(current_user)
- exercises = Exercise.where(id: submissions.joins(:exercise).group(:exercise_id).select(:exercise_id).distinct).compact
- if submissions.any? && !policy(exercises.first).detailed_statistics?
- submissions = submissions.final
- if submissions.any?
.table-responsive
table.table.table-striped class=(exercises.present? ? 'sortable' : '')
thead
tr
th.header = t('.exercise')
th.header = t('.score')
th.header = t('.deadline')
th.header = t('.runs') if policy(exercises.first).detailed_statistics?
th.header = t('.worktime') if policy(exercises.first).detailed_statistics?
tbody
- exercises.each do |exercise|
// Grab any submission in context of study group (or all if admin). Then check for permission
- any_submission = submissions.where(exercise:).first
- if any_submission && policy(any_submission).show_study_group? && statistics[exercise.id]
- stats = statistics[exercise.id]
tr
td = link_to exercise, controller: 'exercises', action: 'external_user_statistics', external_user_id: @user.id, id: exercise.id
td = stats['maximum_score'] || 0
td.align-middle
- latest_viewable_submission = submissions.where(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'] || 0 if policy(exercises.first).detailed_statistics?
td = stats['working_time'] || 0 if policy(exercises.first).detailed_statistics?
- else
= t('exercises.external_users.statistics.no_data_available')