quiz preview broken, fixes #3999

Change-Id: I4bbc851d3188ab03021e9509b24ed18e5eead9b2
Reviewed-on: https://gerrit.instructure.com/2574
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
This commit is contained in:
Brian Whitmer 2011-03-09 11:08:43 -07:00
parent 2b958579f5
commit e91184e1c5
4 changed files with 4 additions and 4 deletions

View File

@ -44,7 +44,7 @@ class QuizSubmissionsController < ApplicationController
end
@submission.snapshot!(params)
if @submission.untaken? && @submission.attempt == params[:attempt].to_i
if @submission.preview? || (@submission.untaken? && @submission.attempt == params[:attempt].to_i)
@submission.mark_completed
hash = {}
hash = @submission.submission_data if @submission.submission_data.is_a?(Hash) && @submission.submission_data[:attempt] == @submission.attempt

View File

@ -155,7 +155,7 @@ class QuizzesController < ApplicationController
end
end
if @submission && @submission.untaken? && !@just_graded
if @submission && (@submission.untaken? || @submission.preview?) && !@just_graded
if @quiz.access_code && !@quiz.access_code.empty? && params[:access_code] != @quiz.access_code
render :action => 'access_code'
elsif @quiz.ip_filter && !@quiz.valid_ip?(request.remote_ip)

View File

@ -459,7 +459,7 @@ class Quiz < ActiveRecord::Base
submission.end_at = nil
submission.end_at = submission.started_at + (self.time_limit.to_f * 60.0) if self.time_limit
# Admins can take the full quiz whenever they want
unless user && self.grants_right?(user, nil, :grade)
unless user.is_a?(User) && self.grants_right?(user, nil, :grade)
submission.end_at = self.due_at if self.due_at && Time.now < self.due_at && (!submission.end_at || self.due_at < submission.end_at)
end
submission.end_at += (submission.extra_time * 60.0) if submission.end_at && submission.extra_time

View File

@ -12,7 +12,7 @@
<table class="summary" style="font-size: 1.1em;">
<tr>
<th>Time:</th>
<td><%= time_ago_in_words(Time.now - (@submission.finished_at - @submission.started_at)) %></td>
<td><%= time_ago_in_words(Time.now - ((@submission.finished_at || @submission.end_at || @submission.started_at) - @submission.started_at)) %></td>
</tr>
<tr style="<%= hidden if @quiz.quiz_type == 'survey' %>">
<th>Current Score:</th>