Skip to content
Open
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions app/assets/stylesheets/_variables.scss
Original file line number Diff line number Diff line change
Expand Up @@ -25,3 +25,4 @@ $autolab-selected-gray: #f5f5f5;
$autolab-border-gray: #f4f1f1;
$autolab-gray-text: #676464;
$autolab-highlight-comments: #008000;
$autolab-yellow: #f7e788;
10 changes: 10 additions & 0 deletions app/assets/stylesheets/style.css.scss
Original file line number Diff line number Diff line change
Expand Up @@ -1717,4 +1717,14 @@ table.sub td, th {
margin-left: 5px;
margin-top: 5px;
color: $autolab-grey;
}

.regrade-refresh {
color: $autolab-gray-text;
background-color: rgba($autolab-yellow, 0.3);
border: 1px solid $autolab-yellow;
border-left: 5px solid $autolab-yellow;
padding: 10px;
border-radius: 3px;
font-weight: 500;
}
10 changes: 5 additions & 5 deletions app/controllers/assessment/autograde.rb
Original file line number Diff line number Diff line change
Expand Up @@ -117,15 +117,15 @@ def regradeBatch
end

success_jobs = submissions.size - failure_jobs
if success_jobs > 0
link = "<a href=\"#{url_for(controller: 'jobs')}\">#{ActionController::Base.helpers.pluralize(success_jobs, "submission")}</a>"
flash[:success] = ("Regrading #{link}")
end
# if success_jobs > 0
# link = "<a href=\"#{url_for(controller: 'jobs')}\">#{ActionController::Base.helpers.pluralize(success_jobs, "submission")}</a>"
# flash[:success] = ("Regrading #{link}")
# end

# For both :success and :error
flash[:html_safe] = true

redirect_to([@course, @assessment, :submissions]) && return
redirect_to([@course, @assessment, :submissions, regrading: 'true']) && return
end

#
Expand Down
29 changes: 29 additions & 0 deletions app/controllers/submissions_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -21,12 +21,41 @@ def index
.order("created_at DESC")
@autograded = @assessment.has_autograder?

@regrading = if params[:regrading].nil?
false
else
params[:regrading]
end
regrading_jobs = []
@regrading_submissions = []

if @regrading
raw_live_jobs = []
begin
raw_live_jobs = TangoClient.jobs
rescue TangoClient::TangoException => e
flash.now[:error] = "Error while getting job list: #{e.message}"
end

raw_live_jobs.each do |job|
regrading_jobs.push(job["id"])
end
end

@submissions_to_cud = {}
@submissions.each do |submission|
currSubId = submission.id
currCud = submission.course_user_datum_id
@submissions_to_cud[currSubId] = currCud
if regrading_jobs.include?(submission.jobid)
@regrading_submissions.push(submission.id)
end
end

if @regrading_submissions.empty?
@regrading = false
end

@submissions_to_cud = @submissions_to_cud.to_json
@excused_cids = []
excused_students = AssessmentUserDatum.where(
Expand Down
32 changes: 24 additions & 8 deletions app/views/submissions/index.html.erb
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,15 @@
<%= javascript_include_tag "manage_submissions" %>
<% end %>

<% if @regrading %>
<div class="regrade-refresh">
Currently regrading <%= ActionController::Base.helpers.pluralize(@regrading_submissions.count, "submission") %>.
View detailed progress
<%= link_to "here", url_for(controller: 'jobs') %>. To update scores,
<%= link_to "refresh", url_for([@course, @assessment, :submissions, regrading: 'true']) %>.
</div>
<% end %>

<h3>Manage Submissions</h3>
<hr>

Expand Down Expand Up @@ -194,15 +203,22 @@
<%# Score %>
<td class="submissions-td">
<div class="submissions-score-align">
<div class="score-num"><%= computed_score { submission.final_score(@cud) } %></div>
<div class="score-icon">
<a class="modal-trigger score-details"
data-email="<%= submission.course_user_datum.email %>"
data-cuid=" <%= submission.course_user_datum.id %>">
<i class="material-icons submissions-score-icon">zoom_in</i>
</a>
<% if @regrading_submissions.include?(submission.id) then %>
<div class="score-icon">
<%= link_to "<i class='tiny material-icons'>access_time</i>".html_safe,
{ controller: "jobs", action: "getjob", id: submission.jobid } %>
</div>
</div>
<% else %>
<div class="score-num"><%= computed_score { submission.final_score(@cud) } %></div>
<div class="score-icon">
<a class="modal-trigger score-details"
data-email="<%= submission.course_user_datum.email %>"
data-cuid=" <%= submission.course_user_datum.id %>">
<i class="material-icons submissions-score-icon">zoom_in</i>
</a>
</div>
</div>
<% end %>
</td>

<%# Submission Date %>
Expand Down
Loading