Class: Admin::ReportsController
- Inherits:
-
StaffController
- Object
- StaffController
- Admin::ReportsController
- Defined in:
- app/controllers/admin/reports_controller.rb
Constant Summary collapse
- REPORTS_LIMIT =
50
Instance Method Summary collapse
Instance Method Details
#bulk ⇒ Object
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
# File 'app/controllers/admin/reports_controller.rb', line 33 def bulk reports = [] hijack do params[:reports].each do |report_type, report_params| args = parse_params(report_params) report = nil report = Report.find_cached(report_type, args) if (report_params[:cache]) if report reports << report else report = Report.find(report_type, args) Report.cache(report) if (report_params[:cache]) && report if report.blank? report = Report._get(report_type, args) report.error = :not_found end reports << report end end render_json_dump(reports: reports) end end |
#index ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'app/controllers/admin/reports_controller.rb', line 6 def index reports_methods = ["page_view_total_reqs"] + ApplicationRequest .req_types .keys .select { |r| r =~ /\Apage_view_/ && r !~ /mobile/ } .map { |r| r + "_reqs" } + Report.singleton_methods.grep(/\Areport_(?!about|storage_stats)/) reports = reports_methods.map do |name| type = name.to_s.gsub("report_", "") description = I18n.t("reports.#{type}.description", default: "") description_link = I18n.t("reports.#{type}.description_link", default: "") { type: type, title: I18n.t("reports.#{type}.title"), description: description.presence ? description : nil, description_link: description_link.presence ? description_link : nil, } end render_json_dump(reports: reports.sort_by { |report| report[:title] }) end |
#show ⇒ Object
63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 |
# File 'app/controllers/admin/reports_controller.rb', line 63 def show report_type = params[:type] raise Discourse::NotFound unless report_type =~ /\A[a-z0-9\_]+\z/ args = parse_params(params) report = nil report = Report.find_cached(report_type, args) if (params[:cache]) return render_json_dump(report: report) if report hijack do report = Report.find(report_type, args) raise Discourse::NotFound if report.blank? Report.cache(report) if (params[:cache]) render_json_dump(report: report) end end |