diff --git a/app/models/exercise.rb b/app/models/exercise.rb index 3546c7e7..e7dba16d 100644 --- a/app/models/exercise.rb +++ b/app/models/exercise.rb @@ -37,6 +37,11 @@ class Exercise < ActiveRecord::Base else 0 end end + def average_number_of_submissions + user_count = internal_users.distinct.count + external_users.distinct.count + return user_count == 0 ? 0 : submissions.count() / user_count.to_f() + end + def average_working_time self.class.connection.execute(""" SELECT avg(working_time) as average_time diff --git a/app/views/execution_environments/statistics.html.slim b/app/views/execution_environments/statistics.html.slim index 38112c4f..ae2bf4f8 100644 --- a/app/views/execution_environments/statistics.html.slim +++ b/app/views/execution_environments/statistics.html.slim @@ -11,5 +11,5 @@ h1 = @execution_environment tr td = exercise.title td = exercise.average_score - td = exercise.submissions.count() + td = exercise.average_number_of_submissions td = exercise.average_working_time