@@ -3,9 +3,15 @@ defmodule CodeCorps.Emails.ReceiptEmail do
33 import Bamboo.PostmarkHelper
44
55 alias CodeCorps.Emails.BaseEmail
6- alias CodeCorps . { DonationGoal , Project , Repo , StripeConnectCharge , StripeConnectSubscription , WebClient }
6+ alias CodeCorps . { DonationGoal , Project , Repo , StripeConnectCharge , StripeConnectSubscription , WebClient , User }
77
8- @ spec create ( StripeConnectCharge . t , Stripe.Invoice . t ) :: Bamboo.Email . t
8+ @ spec get_name ( User . t ) :: String . t
9+ def get_name ( % User { first_name: nil } ) , do: "there"
10+
11+ @ spec get_name ( User . t ) :: String . t
12+ def get_name ( % User { first_name: name } ) , do: name
13+
14+ @ spec create ( StripeConnectCharge . t , Stripe.Invoice . t ) :: Bamboo.Email . t
915 def create ( % StripeConnectCharge { } = charge , % Stripe.Invoice { } = invoice ) do
1016 with % StripeConnectCharge { } = charge <- Repo . preload ( charge , :user ) ,
1117 % Project { } = project <- get_project ( invoice . subscription ) ,
@@ -55,7 +61,7 @@ defmodule CodeCorps.Emails.ReceiptEmail do
5561 project_title: project . title ,
5662 project_url: project |> url ( ) ,
5763 subject: project |> build_subject_line ( ) ,
58- user_first_name: charge . user . first_name
64+ name: get_name ( charge . user )
5965 }
6066 end
6167
0 commit comments