Make statistics teacher-safe

This commit is contained in:
Maximilian Grundke
2016-02-24 14:23:15 +01:00
parent 4ebaee8931
commit 0a5301a595
3 changed files with 7 additions and 2 deletions

View File

@ -17,4 +17,8 @@ class InternalUser < ActiveRecord::Base
activation_token? || reset_password_token?
end
private :password_void?
def teacher?
role == 'teacher'
end
end

View File

@ -1,5 +1,5 @@
class ExternalUserPolicy < AdminOnlyPolicy
def statistics?
admin? || author? || team_member?
admin?
end
end

View File

@ -22,8 +22,9 @@ h1 = @exercise
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, "#{user.name} (#{user.email})", {controller: "exercises", action: "statistics", external_user_id: user.id, id: @exercise.id}
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