From 01af96211c165926da3eb199e129818c9669a90a Mon Sep 17 00:00:00 2001 From: abhisek Date: Fri, 13 Mar 2020 16:45:48 +0530 Subject: [PATCH] Added csv export of registrations as a backend action --- .../leads/event_registrations_controller.rb | 22 +++++++++++++++++++ .../leads/event_registrations/index.html.erb | 7 +----- config/routes.rb | 1 + 3 files changed, 24 insertions(+), 6 deletions(-) diff --git a/app/controllers/leads/event_registrations_controller.rb b/app/controllers/leads/event_registrations_controller.rb index 38603dc..e23c655 100644 --- a/app/controllers/leads/event_registrations_controller.rb +++ b/app/controllers/leads/event_registrations_controller.rb @@ -11,6 +11,28 @@ def index end end + def export_csv + content = CSV.generate do |csv| + csv << ["#","Name","Email","Registered On","Id Type","Id #","State"] + + @event.event_registrations.each do |registration| + csv << [ + registration.id, + registration.user&.name, + registration.user&.email, + registration.created_at, + registration.gov_id_type, + registration.gov_id_number, + registration.state + ] + end + end + + send_data content, + :type => 'text/csv; charset=iso-8859-1; header=present', + :disposition => "attachment; filename=event_#{@event.id}_registrations.csv" + end + def mass_update @event_registrations = @event.event_registrations diff --git a/app/views/leads/event_registrations/index.html.erb b/app/views/leads/event_registrations/index.html.erb index ad8f887..034cc0f 100644 --- a/app/views/leads/event_registrations/index.html.erb +++ b/app/views/leads/event_registrations/index.html.erb @@ -12,7 +12,7 @@ <%= link_to "Back to Event", leads_event_path(@event), :class => 'btn btn-sm btn-primary' %> <%= link_to "Update Registration State", '#', :class => 'btn btn-sm btn-danger', :id => 'registration_update_btn' %> - <%= link_to "Export Report", '#', :class => 'btn btn-sm btn-primary', :id => 'export_report' %> + <%= link_to "Export Report", export_csv_leads_event_event_registrations_path(@event), :class => 'btn btn-sm btn-primary', :id => 'export_report' %> @@ -80,9 +80,4 @@ }); return false; }); - - - $('#export_report').click(function() { - $('.table2excel').TableCSVExport(); - }); \ No newline at end of file diff --git a/config/routes.rb b/config/routes.rb index a6640b2..cc0252a 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -41,6 +41,7 @@ resources :event_registrations do collection do put 'mass_update' + get 'export_csv' end end resources :event_mailer_tasks do