Rename user to contributor in exercise statistics
Fixes CODEOCEAN-TN
This commit is contained in:
@ -23,13 +23,13 @@ class ExternalUsersController < ApplicationController
|
|||||||
|
|
||||||
def working_time_query(tag = nil)
|
def working_time_query(tag = nil)
|
||||||
"
|
"
|
||||||
SELECT user_id,
|
SELECT contributor_id,
|
||||||
bar.exercise_id,
|
bar.exercise_id,
|
||||||
max(score) as maximum_score,
|
max(score) as maximum_score,
|
||||||
count(bar.id) as runs,
|
count(bar.id) as runs,
|
||||||
sum(working_time_new) AS working_time
|
sum(working_time_new) AS working_time
|
||||||
FROM
|
FROM
|
||||||
(SELECT user_id,
|
(SELECT contributor_id,
|
||||||
exercise_id,
|
exercise_id,
|
||||||
score,
|
score,
|
||||||
id,
|
id,
|
||||||
@ -38,23 +38,23 @@ class ExternalUsersController < ApplicationController
|
|||||||
ELSE working_time
|
ELSE working_time
|
||||||
END AS working_time_new
|
END AS working_time_new
|
||||||
FROM
|
FROM
|
||||||
(SELECT user_id,
|
(SELECT contributor_id,
|
||||||
exercise_id,
|
exercise_id,
|
||||||
max(score) AS score,
|
max(score) AS score,
|
||||||
id,
|
id,
|
||||||
(created_at - lag(created_at) over (PARTITION BY user_id, exercise_id
|
(created_at - lag(created_at) over (PARTITION BY contributor_id, exercise_id
|
||||||
ORDER BY created_at)) AS working_time
|
ORDER BY created_at)) AS working_time
|
||||||
FROM submissions
|
FROM submissions
|
||||||
WHERE #{ExternalUser.sanitize_sql(['user_id = ?', @user.id])}
|
WHERE #{ExternalUser.sanitize_sql(['contributor_id = ?', @user.id])}
|
||||||
AND user_type = 'ExternalUser'
|
AND contributor_type = 'ExternalUser'
|
||||||
#{current_user.admin? ? '' : "AND #{ExternalUser.sanitize_sql(['study_group_id IN (?)', current_user.study_groups.pluck(:id)])} AND cause = 'submit'"}
|
#{current_user.admin? ? '' : "AND #{ExternalUser.sanitize_sql(['study_group_id IN (?)', current_user.study_groups.pluck(:id)])} AND cause = 'submit'"}
|
||||||
GROUP BY exercise_id,
|
GROUP BY exercise_id,
|
||||||
user_id,
|
contributor_id,
|
||||||
id
|
id
|
||||||
) AS foo
|
) AS foo
|
||||||
) AS bar
|
) AS bar
|
||||||
#{tag.nil? ? '' : " JOIN exercise_tags et ON et.exercise_id = bar.exercise_id AND #{ExternalUser.sanitize_sql(['et.tag_id = ?', tag])}"}
|
#{tag.nil? ? '' : " JOIN exercise_tags et ON et.exercise_id = bar.exercise_id AND #{ExternalUser.sanitize_sql(['et.tag_id = ?', tag])}"}
|
||||||
GROUP BY user_id,
|
GROUP BY contributor_id,
|
||||||
bar.exercise_id;
|
bar.exercise_id;
|
||||||
"
|
"
|
||||||
end
|
end
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
h1 = t('.title')
|
h1 = t('.title')
|
||||||
|
|
||||||
- submissions = Submission.where(user: @user).in_study_group_of(current_user)
|
- 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).reject(&:nil?)
|
- exercises = Exercise.where(id: submissions.joins(:exercise).group(:exercise_id).select(:exercise_id).distinct).reject(&:nil?)
|
||||||
- if submissions.any? && !policy(exercises.first).detailed_statistics?
|
- if submissions.any? && !policy(exercises.first).detailed_statistics?
|
||||||
- submissions = submissions.final
|
- submissions = submissions.final
|
||||||
|
Reference in New Issue
Block a user