12345678910111213141516171819202122232425262728293031323334353637 |
- # frozen_string_literal: true
- module ExportControllerConcern
- extend ActiveSupport::Concern
- included do
- before_action :authenticate_user!
- before_action :require_not_suspended!
- before_action :load_export
- skip_before_action :require_functional!
- end
- private
- def load_export
- @export = Export.new(current_account)
- end
- def send_export_file
- respond_to do |format|
- format.csv { send_data export_data, filename: export_filename }
- end
- end
- def export_data
- raise 'Override in controller'
- end
- def export_filename
- "#{controller_name}.csv"
- end
- def require_not_suspended!
- forbidden if current_account.suspended?
- end
- end
|