Class: ClarkKent::ReportsController
- Inherits:
-
ApplicationController
- Object
- ApplicationController
- ClarkKent::ReportsController
- Defined in:
- app/controllers/clark_kent/reports_controller.rb
Defined Under Namespace
Classes: UpdateReport
Instance Method Summary collapse
- #clone ⇒ Object
- #create ⇒ Object
- #destroy ⇒ Object
- #download_link ⇒ Object
- #edit ⇒ Object
- #index ⇒ Object
- #new ⇒ Object
- #set_manage_tab ⇒ Object
- #show ⇒ Object
- #update ⇒ Object
Methods inherited from ApplicationController
Instance Method Details
#clone ⇒ Object
80 81 82 83 84 |
# File 'app/controllers/clark_kent/reports_controller.rb', line 80 def clone report = ClarkKent::Report.find(params[:id]) report.deep_clone redirect_to reports_url end |
#create ⇒ Object
16 17 18 19 20 21 22 23 24 25 |
# File 'app/controllers/clark_kent/reports_controller.rb', line 16 def create @report = ClarkKent::Report.new(report_params) @report.save if @report.errors.empty? render action: :edit else puts @report.errors. render action: :new, status: :conflict end end |
#destroy ⇒ Object
86 87 88 89 90 |
# File 'app/controllers/clark_kent/reports_controller.rb', line 86 def destroy @report = ClarkKent::Report.find(params[:id]) @report.destroy redirect_to reports_url end |
#download_link ⇒ Object
49 50 51 52 53 54 55 56 57 58 59 60 61 |
# File 'app/controllers/clark_kent/reports_controller.rb', line 49 def download_link @report = ClarkKent::Report.where(id: params[:id]).first prepare_params(params.permit!) if defined? prepare_params @report_result_name = "report-#{@report.id}-#{Time.now.to_formatted_s(:number)}" parse_date_filters if params[:run_report].present? @these_params[:report_result_name] = @report_result_name @these_params[:browser_tab_id] = @browser_tab_id ConeyIsland.submit(ClarkKent::Report, :send_report_to_s3, args: [@report.id, @these_params], timeout: 300) render partial: 'download_link' end |
#edit ⇒ Object
63 64 65 66 67 68 |
# File 'app/controllers/clark_kent/reports_controller.rb', line 63 def edit @report = ClarkKent::Report.find(params[:id]) if request.xhr? render_ajax end end |
#index ⇒ Object
9 10 |
# File 'app/controllers/clark_kent/reports_controller.rb', line 9 def index end |
#new ⇒ Object
12 13 14 |
# File 'app/controllers/clark_kent/reports_controller.rb', line 12 def new @report = ClarkKent::Report.new end |
#set_manage_tab ⇒ Object
5 6 7 |
# File 'app/controllers/clark_kent/reports_controller.rb', line 5 def set_manage_tab @manage_tab = 'reports' end |
#show ⇒ Object
27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'app/controllers/clark_kent/reports_controller.rb', line 27 def show @report = ClarkKent::Report.where(id: params[:id]).includes(:report_columns).first if request.xhr? render partial: 'show' else prepare_params(params.permit!) if defined? prepare_params if params[:run_report].present? parse_date_filters @these_params[:page] = params[:page] @these_params[:per] = @report.resource_class.default_per_page begin query = @report.get_query(@these_params) rescue ClarkKent::ReportFilterError => e @errors = e. else @rows = query.page(params[:page]) @rows.push @report.summary_row(@rows) if @report.summary_row? end end end end |
#update ⇒ Object
70 71 72 73 74 75 76 77 78 |
# File 'app/controllers/clark_kent/reports_controller.rb', line 70 def update @report = ClarkKent::Report.find(params[:id]) UpdateReport.new(@report,report_params).call if @report.errors.empty? render partial: 'show' else render partial: 'edit', status: :conflict end end |