%table.table.sortable.table-striped.table-bordered.table-condensed %thead %tr %th Login %th Name / %th Activated? / %th Logged_in / %th Contest(s) %th Remark - @problems.each do |p| %th.text-right= p.name.gsub('_',' ') %th.text-right Total %th.text-right Passed %tbody - sum = Array.new(@problems.count,0) - nonzero = Array.new(@problems.count,0) - full = Array.new(@problems.count,0) - @scorearray.each do |sc| %tr - total,num_passed = 0,0 - sc.each_index do |i| - if i == 0 %td= link_to sc[i].login, stat_user_path(sc[i]) %td= sc[i].full_name / %td= sc[i].activated / %td= sc[i].try(:contest_stat).try(:started_at) ? 'yes' : 'no' / %td= sc[i].contests.collect {|c| c.name}.join(', ') %td= sc[i].remark - else %td.text-right= sc[i][0] - total += sc[i][0] - num_passed += 1 if sc[i][1] - sum[i] += sc[i][0] - nonzero[i] += 1 if sc[i][0] > 0 - full[i] += 1 if sc[i][1] %td.text-right= total %td.text-right= num_passed %tfoot %tr %td Summation %td %td - sum.each.with_index do |s,i| - next if i == 0 %td.text-right= number_with_delimiter(s) %td %td %tr %td partial solver %td %td - nonzero.each.with_index do |s,i| - next if i == 0 %td.text-right= number_with_delimiter(s) %td %td %tr %td Full solver %td %td - full.each.with_index do |s,i| - next if i == 0 %td.text-right= number_with_delimiter(s) %td %td :javascript $.bootstrapSortable(true,'reversed')