Implement ranged user queries

This commit is contained in:
Maximilian Grundke
2018-04-25 13:58:40 +02:00
parent 9da3d98654
commit a0d46d223c
3 changed files with 25 additions and 0 deletions

View File

@ -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

View File

@ -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"

View File

@ -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"