2019-07-30 21:29:24 +00:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2020-06-12 20:03:43 +00:00
|
|
|
# License: AGPL-3.0-or-later WITH WTO-AP-3.0-or-later
|
|
|
|
# Full license explanation at https://github.com/houdiniproject/houdini/blob/master/LICENSE
|
2018-03-25 17:30:42 +00:00
|
|
|
module Nonprofits
|
|
|
|
class ReportsController < ApplicationController
|
2020-05-11 18:38:50 +00:00
|
|
|
include Controllers::Nonprofit::Current
|
|
|
|
include Controllers::Nonprofit::Authorization
|
2019-07-13 07:53:59 +00:00
|
|
|
before_action :authenticate_nonprofit_user!
|
2018-03-25 17:30:42 +00:00
|
|
|
|
|
|
|
def end_of_year
|
|
|
|
respond_to do |format|
|
|
|
|
format.csv do
|
|
|
|
filename = "end-of-year-report-#{params[:year]}.csv"
|
2019-07-30 21:29:24 +00:00
|
|
|
data = QuerySupporters.year_aggregate_report(params[:nonprofit_id], year: params[:year])
|
2018-03-25 17:30:42 +00:00
|
|
|
send_data(Format::Csv.from_array(data), filename: filename)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
def end_of_year_custom
|
|
|
|
respond_to do |format|
|
|
|
|
format.csv do
|
|
|
|
name_description = nil
|
2019-07-30 21:29:24 +00:00
|
|
|
if params[:year]
|
2018-03-25 17:30:42 +00:00
|
|
|
name_description = params[:year]
|
2019-07-30 21:29:24 +00:00
|
|
|
elsif params[:start]
|
2018-03-25 17:30:42 +00:00
|
|
|
name_description = "from-#{params[:start]}"
|
2019-07-30 21:29:24 +00:00
|
|
|
name_description += "-to-#{params[:end]}" if params[:end]
|
2018-03-25 17:30:42 +00:00
|
|
|
end
|
|
|
|
|
2018-10-23 15:43:05 +00:00
|
|
|
filename = "aggregate-report-#{name_description}.csv"
|
2019-07-30 21:29:24 +00:00
|
|
|
data = QuerySupporters.year_aggregate_report(params[:nonprofit_id], year: params[:year], start: params[:start], end: params[:end])
|
2018-03-25 17:30:42 +00:00
|
|
|
send_data(Format::Csv.from_array(data), filename: filename)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|