43 lines
1.9 KiB
Plaintext
43 lines
1.9 KiB
Plaintext
script src="http://labratrevenge.com/d3-tip/javascripts/d3.tip.v0.6.3.js"
|
|
h1 = @exercise
|
|
|
|
= row(label: '.participants', value: @exercise.users.distinct.count)
|
|
- [:intermediate, :final].each do |scope|
|
|
= row(label: ".#{scope}_submissions") do
|
|
= "#{@exercise.submissions.send(scope).count} (#{t('.users', count: @exercise.submissions.send(scope).distinct.count(:user_id))})"
|
|
= row(label: '.average_score') do
|
|
p == @exercise.average_score ? t('shared.out_of', maximum_value: @exercise.maximum_score, value: @exercise.average_score.round(2)) : empty
|
|
p = progress_bar(@exercise.average_percentage)
|
|
|
|
= row(label: '.average_worktime') do
|
|
p = @exercise.average_working_time
|
|
|
|
- Hash[:internal_users => t('.internal_users'), :external_users => t('.external_users')].each_pair do |symbol, label|
|
|
strong = label
|
|
-if symbol==:external_users
|
|
-working_time_array = []
|
|
- @exercise.send(symbol).distinct().each do |user|
|
|
-working_time = @exercise.average_working_time_for(user.id) or 0
|
|
-working_time_array.push working_time
|
|
hr
|
|
.hidden#data data-working-time=ActiveSupport::JSON.encode(working_time_array)
|
|
.graph-functions
|
|
div#chart_1
|
|
hr
|
|
/div#chart_2
|
|
/hr
|
|
.table-responsive
|
|
table.table.table-striped.sortable
|
|
thead
|
|
tr
|
|
- ['.user', '.score', '.runs', '.worktime'].each do |title|
|
|
th.header = t(title)
|
|
tbody
|
|
- @exercise.send(symbol).distinct().each do |user|
|
|
- if user_statistics[user.id] then us = user_statistics[user.id] else us = {"maximum_score" => nil, "runs" => nil}
|
|
- label = current_user.teacher? ? "#{user.name}" : "#{user.name} (#{user.email})"
|
|
tr
|
|
td = link_to_if symbol==:external_users, label, {controller: "exercises", action: "statistics", external_user_id: user.id, id: @exercise.id}
|
|
td = us['maximum_score'] or 0
|
|
td = us['runs']
|
|
td = @exercise.average_working_time_for(user.id) or 0 |