2013-02-28 11:39:42 +08:00
|
|
|
require_dependency 'report'
|
|
|
|
|
|
|
|
class Admin::ReportsController < Admin::AdminController
|
|
|
|
|
|
|
|
def show
|
|
|
|
report_type = params[:type]
|
|
|
|
|
|
|
|
raise Discourse::NotFound.new unless report_type =~ /^[a-z0-9\_]+$/
|
|
|
|
|
2014-11-05 06:08:39 +08:00
|
|
|
start_date = 1.month.ago
|
|
|
|
start_date = Time.parse(params[:start_date]) if params[:start_date].present?
|
|
|
|
|
|
|
|
end_date = start_date + 1.month
|
|
|
|
end_date = Time.parse(params[:end_date]) if params[:end_date].present?
|
|
|
|
|
|
|
|
report = Report.find(report_type, {start_date: start_date, end_date: end_date})
|
2013-02-28 11:39:42 +08:00
|
|
|
raise Discourse::NotFound.new if report.blank?
|
|
|
|
|
|
|
|
render_json_dump(report: report)
|
|
|
|
end
|
|
|
|
|
|
|
|
end
|