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 SupporterEmailsController < 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 create
|
|
|
|
if params[:selecting_all]
|
|
|
|
ids = QuerySupporters.full_filter_expr(params[:nonprofit_id], params[:query])
|
2019-07-30 21:29:24 +00:00
|
|
|
.select('supporters.id')
|
|
|
|
.execute(format: 'csv')[1..-1].flatten
|
2018-03-25 17:30:42 +00:00
|
|
|
elsif params[:supporter_ids]
|
|
|
|
ids = params[:supporter_ids]
|
|
|
|
end
|
|
|
|
|
|
|
|
if ids.nil? || ids.empty?
|
2019-07-30 21:29:24 +00:00
|
|
|
render json: { errors: 'Supporters not found' }, status: :unprocessable_entity
|
2018-03-25 17:30:42 +00:00
|
|
|
return
|
|
|
|
end
|
|
|
|
|
2019-07-30 21:29:24 +00:00
|
|
|
render json: { count: ids.count }, status: :ok
|
2018-03-25 17:30:42 +00:00
|
|
|
end
|
|
|
|
|
|
|
|
def gmail
|
|
|
|
gmail = SupporterEmail.create params[:gmail]
|
|
|
|
InsertActivities.for_supporter_emails([gmail.id])
|
|
|
|
render json: gmail
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|