Skip to content

Commit 0ec4302

Browse files
committed
Moderation stats: 90d view + other acts
1 parent a54c715 commit 0ec4302

File tree

2 files changed

+16
-3
lines changed

2 files changed

+16
-3
lines changed

app/models/statistics/moderation.rb

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,14 @@ def by_day
1414
EOS
1515
end
1616

17+
ACTS_OF_MODERATION = ['Interdiction de tribune', 'a donné 50 points de karma', 'Interdiction de poster des commentaires']
18+
1719
def acts_by_year
1820
return @acts_by_year if @acts_by_year
1921

2022
@acts_by_year = {}
2123

22-
acts = ['Interdiction de tribune', 'a donné 50 points de karma', 'Interdiction de poster des commentaires']
23-
acts.each do |log|
24+
ACTS_OF_MODERATION.each do |log|
2425
entries = acts_by_year_and_log(log)
2526
entries.each do |entry|
2627
@acts_by_year[entry["year"]] ||= {}
@@ -33,6 +34,10 @@ def acts_by_year_and_log(log)
3334
select_all("SELECT YEAR(CONVERT_TZ(created_at,'UTC','Europe/Paris')) AS year, COUNT(*) AS cnt FROM logs WHERE description LIKE '%#{log}%' GROUP BY year ORDER BY year;")
3435
end
3536

37+
def nb_acts_x_days(user_id,nbdays=nil)
38+
count "SELECT COUNT(*) AS cnt FROM logs WHERE (#{ACTS_OF_MODERATION.map { |log| "description LIKE '%#{log}%'" }.join(' OR ')}) AND #{created_on_the_last_nbdays nbdays, "logs."} AND user_id=#{user_id}"
39+
end
40+
3641
def average_time
3742
select_all <<-EOS
3843
SELECT YEAR(CONVERT_TZ(nodes.created_at,'UTC','Europe/Paris')) AS year,

app/views/statistics/moderation.html.haml

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@
102102

103103
%h3#moderation Sur les derniers jours
104104

105-
%p Il y a eu #{pluralize @stats.moderated_news(7), "dépêche modérée", "dépêches modérées"} (acceptation ou rejet) sur les sept derniers jours, et #{pluralize @stats.moderated_news(31), "dépêche modérée", "dépêches modérées"} sur les trente‑et‑un derniers jours.
105+
%p Il y a eu #{pluralize @stats.moderated_news(7), "dépêche modérée", "dépêches modérées"} (acceptation ou rejet) sur les sept derniers jours, #{pluralize @stats.moderated_news(31), "dépêche modérée", "dépêches modérées"} sur les trente‑et‑un derniers jours et #{pluralize @stats.moderated_news(90), "dépêche modérée", "dépêches modérées"} sur les quatre-vingt-dix (ou nonante) derniers jours.
106106

107107
- if Account.amr.any?
108108
%h4 Équipe de modération actuelle (#{Account.amr.count})
@@ -111,8 +111,12 @@
111111
%th
112112
%th Modérations (7 j)
113113
%th Modérations (31 j)
114+
%th Modérations (90 j)
114115
%th Éditions (7 j)
115116
%th Éditions (31 j)
117+
%th Éditions (90 j)
118+
%th Autres actes (31 j)
119+
%th Autres actes (90 j)
116120
%th Votes (31 j)
117121
%th Dernière dépêche
118122
%th.sorttable_numeric Dépêches cette année en tant qu’auteur
@@ -121,8 +125,12 @@
121125
%td.stat= link_to User.find(user["user_id"]).name, User.find(user["user_id"])
122126
%td.stat= @stats.nb_moderations_x_days(user["user_id"],7)
123127
%td.stat= @stats.nb_moderations_x_days(user["user_id"],31)
128+
%td.stat= @stats.nb_moderations_x_days(user["user_id"],90)
124129
%td.stat= @stats.nb_editions_x_days(user["user_id"],7)
125130
%td.stat= @stats.nb_editions_x_days(user["user_id"],31)
131+
%td.stat= @stats.nb_editions_x_days(user["user_id"],90)
132+
%td.stat= @stats.nb_acts_x_days(user["user_id"],31)
133+
%td.stat= @stats.nb_acts_x_days(user["user_id"],90)
126134
%td.stat= @stats.nb_votes_last_month(user["login"])
127135
- @stats.last_news_at(user["user_id"]).each do |last|
128136
%td.stat= last["last"]

0 commit comments

Comments
 (0)