@@ -832,6 +832,7 @@ def send_confirm_email(user, email, renew=False, external_id_provider=None, exte
832832 merge_target = OSFUser .objects .get (emails__address = email )
833833 except OSFUser .DoesNotExist :
834834 merge_target = None
835+ merge_account_data = {}
835836 campaign = campaigns .campaign_for_user (user )
836837 # Choose the appropriate email template to use and add existing_user flag if a merge or adding an email.
837838 if external_id_provider and external_id :
@@ -844,6 +845,11 @@ def send_confirm_email(user, email, renew=False, external_id_provider=None, exte
844845 raise HTTPError (http_status .HTTP_400_BAD_REQUEST , data = {})
845846 elif merge_target :
846847 # Merge account confirmation
848+ merge_account_data = {
849+ 'merge_target_fullname' : merge_target .fullname or merge_target .username ,
850+ 'user_username' : user .username ,
851+ 'email' : merge_target .email ,
852+ }
847853 notification_type = NotificationType .Type .USER_CONFIRM_MERGE
848854 elif user .is_active :
849855 # Add email confirmation
@@ -856,19 +862,17 @@ def send_confirm_email(user, email, renew=False, external_id_provider=None, exte
856862 notification_type = NotificationType .Type .USER_INITIAL_CONFIRM_EMAIL
857863
858864 notification_type .instance .emit (
859- user = user ,
860- subscribed_object = user ,
865+ destination_address = merge_target .address or user .username ,
861866 event_context = {
862867 'user_fullname' : user .fullname ,
863- 'user_username' : user .username ,
864868 'confirmation_url' : confirmation_url ,
865869 'can_change_preferences' : False ,
866870 'external_id_provider' : external_id_provider ,
867871 'osf_contact_email' : settings .OSF_CONTACT_EMAIL ,
868872 'osf_support_email' : settings .OSF_SUPPORT_EMAIL ,
869- 'merge_target_fullname' : merge_target .fullname or merge_target .username ,
870- 'email' : merge_target .email ,
873+ ** merge_account_data ,
871874 },
875+ save = False
872876 )
873877
874878def send_confirm_email_async (user , email , renew = False , external_id_provider = None , external_id = None , destination = None ):
0 commit comments