4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
# File 'app/services/grades_service/commands/zero_out_assignment_grades_rollback.rb', line 4
def call!(options={})
load_audit(options)
CSV.foreach('/tmp/zero_grader_rollback.csv') do |row|
submission_id = row[0]
orig_score = row[1]
submission = Submission.find(submission_id)
user = submission.user
grader = GradesService::Account.account_admin
submission = Submission.find(submission_id)
assignment = submission.assignment
if orig_score.present? && submission.score == 0 || submission.score.nil?
puts "Setting submission #{submission.id} from #{submission.score} to #{orig_score or 'nil'}"
begin
puts "assignment.grade_student(#{user.id}, score: #{orig_score or 'nil'}, grader: 1)"
assignment.grade_student(user, score: orig_score, grader: grader)
rescue => e
puts "Failed Setting submission #{submission.id} from #{submission.score} to #{orig_score or 'nil'}: #{e}"
end
end
end
end
|