@@ -51,7 +51,12 @@ func (m TemplateMailer) ValidateEmail(email string) error {
51
51
func (m * TemplateMailer ) InviteMail (user * models.User , referrerURL string ) error {
52
52
globalConfig , err := conf .LoadGlobal (configFile )
53
53
54
- url , err := getSiteURL (referrerURL , globalConfig .API .ExternalURL , m .Config .Mailer .URLPaths .Invite , "token=" + user .ConfirmationToken + "&type=invite" )
54
+ redirectParam := ""
55
+ if len (referrerURL ) > 0 {
56
+ redirectParam = "&redirect_to=" + referrerURL
57
+ }
58
+
59
+ url , err := getSiteURL (referrerURL , globalConfig .API .ExternalURL , m .Config .Mailer .URLPaths .Invite , "token=" + user .ConfirmationToken + "&type=invite" + redirectParam )
55
60
if err != nil {
56
61
return err
57
62
}
@@ -76,7 +81,12 @@ func (m *TemplateMailer) InviteMail(user *models.User, referrerURL string) error
76
81
func (m * TemplateMailer ) ConfirmationMail (user * models.User , referrerURL string ) error {
77
82
globalConfig , err := conf .LoadGlobal (configFile )
78
83
79
- url , err := getSiteURL (referrerURL , globalConfig .API .ExternalURL , m .Config .Mailer .URLPaths .Confirmation , "token=" + user .ConfirmationToken + "&type=signup" )
84
+ redirectParam := ""
85
+ if len (referrerURL ) > 0 {
86
+ redirectParam = "&redirect_to=" + referrerURL
87
+ }
88
+
89
+ url , err := getSiteURL (referrerURL , globalConfig .API .ExternalURL , m .Config .Mailer .URLPaths .Confirmation , "token=" + user .ConfirmationToken + "&type=signup" + redirectParam )
80
90
if err != nil {
81
91
return err
82
92
}
@@ -99,7 +109,12 @@ func (m *TemplateMailer) ConfirmationMail(user *models.User, referrerURL string)
99
109
100
110
// EmailChangeMail sends an email change confirmation mail to a user
101
111
func (m * TemplateMailer ) EmailChangeMail (user * models.User , referrerURL string ) error {
102
- url , err := getSiteURL (referrerURL , m .Config .SiteURL , m .Config .Mailer .URLPaths .EmailChange , "email_change_token=" + user .EmailChangeToken )
112
+ redirectParam := ""
113
+ if len (referrerURL ) > 0 {
114
+ redirectParam = "&redirect_to=" + referrerURL
115
+ }
116
+
117
+ url , err := getSiteURL (referrerURL , m .Config .SiteURL , m .Config .Mailer .URLPaths .EmailChange , "email_change_token=" + user .EmailChangeToken + "&type=email_change" + redirectParam )
103
118
if err != nil {
104
119
return err
105
120
}
@@ -125,7 +140,12 @@ func (m *TemplateMailer) EmailChangeMail(user *models.User, referrerURL string)
125
140
func (m * TemplateMailer ) RecoveryMail (user * models.User , referrerURL string ) error {
126
141
globalConfig , err := conf .LoadGlobal (configFile )
127
142
128
- url , err := getSiteURL (referrerURL , globalConfig .API .ExternalURL , m .Config .Mailer .URLPaths .Recovery , "token=" + user .RecoveryToken + "&type=recovery" )
143
+ redirectParam := ""
144
+ if len (referrerURL ) > 0 {
145
+ redirectParam = "&redirect_to=" + referrerURL
146
+ }
147
+
148
+ url , err := getSiteURL (referrerURL , globalConfig .API .ExternalURL , m .Config .Mailer .URLPaths .Recovery , "token=" + user .RecoveryToken + "&type=recovery" + redirectParam )
129
149
if err != nil {
130
150
return err
131
151
}
@@ -150,7 +170,12 @@ func (m *TemplateMailer) RecoveryMail(user *models.User, referrerURL string) err
150
170
func (m * TemplateMailer ) MagicLinkMail (user * models.User , referrerURL string ) error {
151
171
globalConfig , err := conf .LoadGlobal (configFile )
152
172
153
- url , err := getSiteURL (referrerURL , globalConfig .API .ExternalURL , m .Config .Mailer .URLPaths .Recovery , "token=" + user .RecoveryToken + "&type=magiclink" )
173
+ redirectParam := ""
174
+ if len (referrerURL ) > 0 {
175
+ redirectParam = "&redirect_to=" + referrerURL
176
+ }
177
+
178
+ url , err := getSiteURL (referrerURL , globalConfig .API .ExternalURL , m .Config .Mailer .URLPaths .Recovery , "token=" + user .RecoveryToken + "&type=magiclink" + redirectParam )
154
179
if err != nil {
155
180
return err
156
181
}
0 commit comments