mirror of
https://github.com/codeninjasllc/discourse.git
synced 2024-11-23 23:58:31 -05:00
FIX: some reports ignored date range parameters
This commit is contained in:
parent
c618478e88
commit
32bc9a8f93
2 changed files with 4 additions and 3 deletions
|
@ -126,9 +126,9 @@ SQL
|
||||||
|
|
||||||
def self.count_per_day_for_type(post_action_type, opts=nil)
|
def self.count_per_day_for_type(post_action_type, opts=nil)
|
||||||
opts ||= {}
|
opts ||= {}
|
||||||
opts[:since_days_ago] ||= 30
|
|
||||||
result = unscoped.where(post_action_type_id: post_action_type)
|
result = unscoped.where(post_action_type_id: post_action_type)
|
||||||
result = result.where('post_actions.created_at >= ?', opts[:since_days_ago].days.ago)
|
result = result.where('post_actions.created_at >= ?', opts[:start_date] || (opts[:since_days_ago] || 30).days.ago)
|
||||||
|
result = result.where('post_actions.created_at <= ?', opts[:end_date]) if opts[:end_date]
|
||||||
result = result.joins(post: :topic).where('topics.category_id = ?', opts[:category_id]) if opts[:category_id]
|
result = result.joins(post: :topic).where('topics.category_id = ?', opts[:category_id]) if opts[:category_id]
|
||||||
result.group('date(post_actions.created_at)')
|
result.group('date(post_actions.created_at)')
|
||||||
.order('date(post_actions.created_at)')
|
.order('date(post_actions.created_at)')
|
||||||
|
|
|
@ -35,6 +35,7 @@ class Report
|
||||||
|
|
||||||
def self.find(type, opts=nil)
|
def self.find(type, opts=nil)
|
||||||
opts ||= {}
|
opts ||= {}
|
||||||
|
|
||||||
# Load the report
|
# Load the report
|
||||||
report = Report.new(type)
|
report = Report.new(type)
|
||||||
report.start_date = opts[:start_date] if opts[:start_date]
|
report.start_date = opts[:start_date] if opts[:start_date]
|
||||||
|
@ -184,7 +185,7 @@ class Report
|
||||||
|
|
||||||
def self.post_action_report(report, post_action_type)
|
def self.post_action_report(report, post_action_type)
|
||||||
report.data = []
|
report.data = []
|
||||||
PostAction.count_per_day_for_type(post_action_type, category_id: report.category_id).each do |date, count|
|
PostAction.count_per_day_for_type(post_action_type, category_id: report.category_id, start_date: report.start_date, end_date: report.end_date).each do |date, count|
|
||||||
report.data << { x: date, y: count }
|
report.data << { x: date, y: count }
|
||||||
end
|
end
|
||||||
countable = PostAction.unscoped.where(post_action_type_id: post_action_type)
|
countable = PostAction.unscoped.where(post_action_type_id: post_action_type)
|
||||||
|
|
Loading…
Reference in a new issue