diff --git a/app/helpers/statistics_helper.rb b/app/helpers/statistics_helper.rb index a8bb2ef2..fdec56fb 100644 --- a/app/helpers/statistics_helper.rb +++ b/app/helpers/statistics_helper.rb @@ -187,4 +187,25 @@ module StatisticsHelper ] end + def ranged_user_data(interval='year', from=DateTime.new(0), to=DateTime.now) + [ + { + key: 'active', + name: t('statistics.entries.users.active'), + data: ExternalUser.joins(:submissions) + .where(submissions: {created_at: from..to}) + .select("date_trunc('#{interval}', submissions.created_at) AS \"key\", count(distinct external_users.id) AS \"value\"") + .group('key').order('key') + }, + { + key: 'submissions', + name: t('statistics.entries.exercises.submissions'), + data: Submission.where(created_at: from..to) + .select("date_trunc('#{interval}', created_at) AS \"key\", count(id) AS \"value\"") + .group('key').order('key'), + axis: 'right' + } + ] + end + end diff --git a/config/locales/de.yml b/config/locales/de.yml index 3a257967..fd2dbc25 100644 --- a/config/locales/de.yml +++ b/config/locales/de.yml @@ -751,6 +751,7 @@ de: exercises: average_number_of_submissions: "Durchschnittliche Zahl von Abgaben" submissions_per_minute: "Aktuelle Abgabenhäufigkeit (1h)" + submissions: "Abgaben" request_for_comments: percent_solved: "Beantwortete Anfragen" percent_unsolved: "Unbeantwortete Anfragen" @@ -759,6 +760,7 @@ de: users: currently_active: "Aktiv (5 Minuten)" currently_active60: "Aktiv (60 Minuten)" + active: "Aktive Nutzer" graphs: user_activity: "Nutzeraktivität" rfc_activity: "Kommentaranfragenaktivität" diff --git a/config/locales/en.yml b/config/locales/en.yml index 779bfa5d..f58fcdc1 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -751,6 +751,7 @@ en: exercises: average_number_of_submissions: "Average Number of Submissions" submissions_per_minute: "Current Submission Volume (1h)" + submissions: "Submissions" request_for_comments: percent_solved: "Solved Requests" percent_unsolved: "Unsolved Requests" @@ -759,6 +760,7 @@ en: users: currently_active: "Active (5 minutes)" currently_active60: "Active (60 minutes)" + active: "Active Users" graphs: user_activity: "User Activity" rfc_activity: "RfC Activity"