Class: Compendium::ReportsController

Inherits:
ApplicationController
  • Object
show all
Includes:
ReportsHelper
Defined in:
app/controllers/compendium/reports_controller.rb

Instance Method Summary collapse

Instance Method Details

#exportObject



28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# File 'app/controllers/compendium/reports_controller.rb', line 28

def export
  unless @report.exports?(request.format)
    redirect_to action: :setup, format: nil
    return
  end

  respond_to do |format|
    format.csv do
      filename = @report.report_name.to_s.parameterize + '-' + Time.current.strftime('%Y%m%d%H%I%S')
      response.headers['Content-Disposition'] = 'attachment; filename="' + filename + '.csv"'

      query = @report.queries[@report.exporters[:csv]]
      render text: query.render_csv
    end

    format.any do
      redirect_to action: :setup, format: nil
    end
  end
end

#runObject



15
16
17
18
19
20
21
22
23
24
25
26
# File 'app/controllers/compendium/reports_controller.rb', line 15

def run
  respond_to do |format|
    format.json do
      render json: @query ? @query.results : @report.results
    end

    format.any do
      template = template_exists?(@prefix, get_template_prefixes) ? @prefix : 'run'
      render action: template, locals: { report: @report }
    end
  end
end

#setupObject



11
12
13
# File 'app/controllers/compendium/reports_controller.rb', line 11

def setup
  render_setup
end