From b20d13f86675cd99d53e9a29eba48689306ef08e Mon Sep 17 00:00:00 2001 From: Maximilian Grundke Date: Thu, 29 Oct 2015 10:15:40 +0100 Subject: [PATCH] Add statistics for exercises per user --- .gitignore | 1 + app/views/exercises/statistics.html.slim | 15 +++++++++++++++ config/locales/de.yml | 4 ++++ config/locales/en.yml | 4 ++++ 4 files changed, 24 insertions(+) diff --git a/.gitignore b/.gitignore index 4e183355..89d0de42 100644 --- a/.gitignore +++ b/.gitignore @@ -12,6 +12,7 @@ /rubocop.html /tmp /vagrant/ +/.vagrant *.sublime-* /.idea /.vagrant diff --git a/app/views/exercises/statistics.html.slim b/app/views/exercises/statistics.html.slim index 77ab091d..c044004a 100644 --- a/app/views/exercises/statistics.html.slim +++ b/app/views/exercises/statistics.html.slim @@ -7,3 +7,18 @@ h1 = @exercise = 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) + +.table-responsive + table.table + thead + tr + - ['.user', '.score', '.runs', '.worktime'].each do |title| + th.header = t(title) + tbody + - @exercise.users.each do |user| + tr + - submissions = @exercise.submissions.where('user_id=?', user.id) + td = "#{user.name} (#{user.email})" + td = submissions.maximum('score') + td = submissions.count('id') + td = "#{((submissions.maximum('created_at') - submissions.minimum('created_at')) / 60).round(2)} min" diff --git a/config/locales/de.yml b/config/locales/de.yml index aaedd678..871decd9 100644 --- a/config/locales/de.yml +++ b/config/locales/de.yml @@ -239,6 +239,10 @@ de: intermediate_submissions: Intermediäre Abgaben participants: Bearbeitende Nutzer users: '%{count} verschiedene Nutzer' + user: 'Nutzer' + score: 'Punktzahl' + runs: 'Versuche' + worktime: 'Arbeitszeit' submit: failure: Beim Übermitteln Ihrer Punktzahl ist ein Fehler aufgetreten. Bitte versuchen Sie es später erneut. files: diff --git a/config/locales/en.yml b/config/locales/en.yml index 5baed464..7c28ae29 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -239,6 +239,10 @@ en: intermediate_submissions: Intermediate Submissions participants: Participating Users users: '%{count} distinct users' + user: 'User' + score: 'Score' + runs: 'Runs' + worktime: 'Worktime' submit: failure: An error occured while transmitting your score. Please try again later. files: