Class: MetaReports::ReportsController
- Inherits:
-
ApplicationController
- Object
- ApplicationController
- ApplicationController
- MetaReports::ReportsController
- Defined in:
- lib/generators/meta_reports/templates/controllers/reports_controller.rb
Instance Method Summary collapse
- #create ⇒ Object
- #destroy ⇒ Object
- #edit ⇒ Object
- #file ⇒ Object
- #form ⇒ Object
-
#index ⇒ Object
before_filter :require_user load_and_authorize_resource.
- #new ⇒ Object
- #show ⇒ Object
- #update ⇒ Object
Instance Method Details
#create ⇒ Object
41 42 43 44 45 46 47 48 49 |
# File 'lib/generators/meta_reports/templates/controllers/reports_controller.rb', line 41 def create @report = Report.new(params[:report]) if @report.save flash[:notice] = 'Report was successfully created.' redirect_to(edit_report_path(@report)) else render action: "new" end end |
#destroy ⇒ Object
61 62 63 64 65 66 67 |
# File 'lib/generators/meta_reports/templates/controllers/reports_controller.rb', line 61 def destroy @report = Report.find params[:id] @report.destroy flash[:notice] = 'Report was successfully deleted.' redirect_to root_url end |
#edit ⇒ Object
37 38 39 |
# File 'lib/generators/meta_reports/templates/controllers/reports_controller.rb', line 37 def edit @report = Report.find params[:id] end |
#file ⇒ Object
69 70 71 72 73 74 75 76 77 |
# File 'lib/generators/meta_reports/templates/controllers/reports_controller.rb', line 69 def file dir = params[:dir].to_sym path = Report::FILE_DIRS[dir] + params[:file].gsub(/\/../,'') if File.exists?(path) send_file path, type: "application/pdf", x_sendfile: true, disposition: 'inline' else puts "file doesn't exist: #{path}" end end |
#form ⇒ Object
79 80 81 82 83 84 85 86 87 88 89 |
# File 'lib/generators/meta_reports/templates/controllers/reports_controller.rb', line 79 def form if params[:id].to_s =~ /^\d+$/ @report = Report.find(params[:id]) elsif Report.respond_to?(params[:id]) @report = Report.find_by_name(params[:id]) else redirect_to reports_url, notice: 'That report does not exist' return end render "meta_reports/reports/forms/form" end |
#index ⇒ Object
before_filter :require_user load_and_authorize_resource
9 10 11 |
# File 'lib/generators/meta_reports/templates/controllers/reports_controller.rb', line 9 def index @reports = Report.order("meta_reports_reports.title") || [] end |
#new ⇒ Object
33 34 35 |
# File 'lib/generators/meta_reports/templates/controllers/reports_controller.rb', line 33 def new @report = Report.new end |
#show ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/generators/meta_reports/templates/controllers/reports_controller.rb', line 13 def show if params[:id].to_s =~ /^\d+$/ _report = Report.find(params[:id]) elsif Report.respond_to?(params[:id]) _report = Report.find_by_name(params[:id]) else redirect_to root_url, notice: 'That report does not exist' return end @report = _report.run(params) template = {template: "meta_reports/reports/templates/" + (@report[:template] || "default") } respond_to do |format| format.html { render template } format.pdf { render template } format.xlsx { render template } end _report.view end |
#update ⇒ Object
51 52 53 54 55 56 57 58 59 |
# File 'lib/generators/meta_reports/templates/controllers/reports_controller.rb', line 51 def update @report = Report.find params[:id] if @report.update_attributes(params[:meta_report]) flash[:notice] = 'Report was successfully updated.' redirect_to(edit_report_path(@report)) else format.html { render action: "edit" } end end |