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
|
|
|
class EmailSettingsController < 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 index
|
|
|
|
user = current_role?(:super_admin) ? User.find(params[:user_id]) : current_user
|
|
|
|
es = QueryEmailSettings.fetch(params[:nonprofit_id], user.id)
|
|
|
|
render json: es
|
|
|
|
end
|
|
|
|
|
|
|
|
# Create or update for a given user and nonprofit
|
|
|
|
# post /nonprofits/:nonprofit_id/users/:user_id/email_settings for current_user
|
|
|
|
def create
|
|
|
|
user = current_role?(:super_admin) ? User.find(params[:user_id]) : current_user
|
2019-08-06 14:05:00 +00:00
|
|
|
render json: UpdateEmailSettings.save(params[:nonprofit_id], user.id, email_settings_params)
|
|
|
|
end
|
|
|
|
|
|
|
|
private
|
|
|
|
|
|
|
|
def email_settings_params
|
|
|
|
params.require(:email_settings).permit(:notify_payments, :notify_campaigns, :notify_events, :notify_payouts, :notify_recurring_donations)
|
2018-03-25 17:30:42 +00:00
|
|
|
end
|
|
|
|
end
|