Class: GradesService::Commands::ZeroOutAssignmentGradesRollback

Inherits:
Object
  • Object
show all
Defined in:
app/services/grades_service/commands/zero_out_assignment_grades_rollback.rb

Instance Method Summary collapse

Instance Method Details

#call!(options = {}) ⇒ Object



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.
    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