BathHacked/energy-sparks

View on GitHub
app/controllers/schools/transport_surveys/responses_controller.rb

Summary

Maintainability
A
0 mins
Test Coverage
module Schools
  module TransportSurveys
    class ResponsesController < ApplicationController
      include Pagy::Backend
      load_resource :school
      load_resource :transport_survey, find_by: :run_on, id_param: :transport_survey_run_on, through: :school
      load_and_authorize_resource :response, class: 'TransportSurvey::Response', through: :transport_survey

      def destroy
        @response.destroy
        redirect_to school_transport_survey_responses_url(@school, @transport_survey), notice: t('schools.transport_surveys.responses.destroy.notice')
      end

      def index
        respond_to do |format|
          format.html { @pagy, @responses = pagy(@responses) }
          format.csv do
            send_data @responses.to_csv,
            filename: "#{t('common.application')}-#{TransportSurvey.model_name.human}-#{@school.slug}-#{@transport_survey.run_on}".parameterize + '.csv'
          end
        end
      end
    end
  end
end