Remove @submissions variable for external_user_statistics

This commit is contained in:
Sebastian Serth
2022-07-21 16:33:55 +02:00
committed by Sebastian Serth
parent 2141fdb1ac
commit d4c567c722
2 changed files with 11 additions and 10 deletions

View File

@ -492,13 +492,13 @@ working_time_accumulated: working_time_accumulated})
# Render statistics page for one specific external user
if policy(@exercise).detailed_statistics?
@submissions = Submission.where(user: @external_user,
submissions = Submission.where(user: @external_user,
exercise_id: @exercise.id).in_study_group_of(current_user).order('created_at')
@show_autosaves = params[:show_autosaves] == 'true'
@submissions = @submissions.where.not(cause: 'autosave') unless @show_autosaves
submissions = submissions.where.not(cause: 'autosave') unless @show_autosaves
interventions = UserExerciseIntervention.where('user_id = ? AND exercise_id = ?', @external_user.id,
@exercise.id)
@all_events = (@submissions + interventions).sort_by(&:created_at)
@all_events = (submissions + interventions).sort_by(&:created_at)
@deltas = @all_events.map.with_index do |item, index|
delta = item.created_at - @all_events[index - 1].created_at if index.positive?
delta.nil? || (delta > StatisticsHelper::WORKING_TIME_DELTA_IN_SECONDS) ? 0 : delta
@ -510,12 +510,12 @@ working_time_accumulated: working_time_accumulated})
else
final_submissions = Submission.where(user: @external_user,
exercise_id: @exercise.id).in_study_group_of(current_user).final
@submissions = []
submissions = []
%i[before_deadline within_grace_period after_late_deadline].each do |filter|
relevant_submission = final_submissions.send(filter).latest
@submissions.push relevant_submission if relevant_submission.present?
submissions.push relevant_submission if relevant_submission.present?
end
@all_events = @submissions
@all_events = submissions
end
render 'exercises/external_users/statistics'

View File

@ -3,20 +3,21 @@ h1
' (external user
= link_to_if(policy(@external_user).show?, @external_user.displayname, @external_user)
' )
- current_submission = @submissions.first
- submissions = @all_events.filter{|event| event.is_a? Submission}
- current_submission = submissions.first
- if current_submission
- initial_files = current_submission.files.to_a
- all_files = []
- file_types = Set.new()
- @submissions.each do |submission|
- submissions.each do |submission|
- submission.files.each do |file|
- file_types.add(ActiveSupport::JSON.encode(file.file_type))
- all_files.push(submission.files)
- all_files.reject!(&:blank?)
- file_types.reject!(&:blank?)
.d-none#data data-submissions=ActiveSupport::JSON.encode(@submissions) data-files=ActiveSupport::JSON.encode(all_files) data-file-types=ActiveSupport::JSON.encode(file_types)
.d-none#data data-submissions=ActiveSupport::JSON.encode(submissions) data-files=ActiveSupport::JSON.encode(all_files) data-file-types=ActiveSupport::JSON.encode(file_types)
#stats-editor.row
- index = 0
@ -33,7 +34,7 @@ h1
input type='range' orient='horizontal' list='datapoints' min=0 max=all_files.length-1 value=0 style="width: 100%"
datalist#datapoints
- index=0
- @submissions.each do |submission|
- submissions.each do |submission|
- next if submission.files.blank?
option data-submission=submission
=index