This is an automated email from the ASF dual-hosted git repository.

asf-gitbox-commits pushed a commit to branch gc/8609
in repository https://gitbox.apache.org/repos/asf/allura.git

commit 8dd8d20a7fb1c65df2ed96cb48a2b9407f2aabc7
Author: Guillermo Cruz <[email protected]>
AuthorDate: Mon May 25 08:55:35 2026 -0600

    [#8609] include geo information that could be available for the html 
template
---
 Allura/allura/lib/plugin.py                                | 2 +-
 Allura/allura/model/auth.py                                | 5 ++++-
 Allura/allura/templates/mail/authentication_code.md.jinja2 | 4 ++--
 Allura/allura/tests/functional/test_auth.py                | 2 +-
 4 files changed, 8 insertions(+), 5 deletions(-)

diff --git a/Allura/allura/lib/plugin.py b/Allura/allura/lib/plugin.py
index 6cd02d63c..9ad183eec 100644
--- a/Allura/allura/lib/plugin.py
+++ b/Allura/allura/lib/plugin.py
@@ -232,7 +232,7 @@ def login(self, user: M.User = None, multifactor_success: 
bool = False, email_ve
             self.session['multifactor-username'] = user.username
             self.session['mode'] = 'email_code'
             self.session.save()
-            
user.send_email_auth_code(return_to=self.request.params.get('return_to', '/'))
+            
user.send_email_auth_code(return_to=self.request.params.get('return_to', '/'), 
login_details=login_details)
             return None
 
         # All stages complete — clean up and proceed to login
diff --git a/Allura/allura/model/auth.py b/Allura/allura/model/auth.py
index feb9e950c..8fdbcc600 100644
--- a/Allura/allura/model/auth.py
+++ b/Allura/allura/model/auth.py
@@ -471,7 +471,7 @@ def make_password_reset_url(self):
         reset_url = h.absurl(f'/auth/forgotten_password/{hash}')
         return reset_url
 
-    def send_email_auth_code(self, return_to='/', subject_tmpl='{site_name} 
Authentication Code'):
+    def send_email_auth_code(self, return_to='/', subject_tmpl='{site_name} 
Authentication Link', login_details=None):
         from allura.controllers.auth import AuthController
 
         email_address = self.get_pref('email_address')
@@ -484,10 +484,13 @@ def send_email_auth_code(self, return_to='/', 
subject_tmpl='{site_name} Authenti
             link_params['return_to'] = return_to
         verify_url = h.absurl(tg.url('/auth/login_email_verify', link_params))
         subject = subject_tmpl.format(site_name=config['site_name'])
+        geo = login_details.extra.get('geo') if getattr(login_details, 
'extra', None) else None
         text = 
g.jinja2_env.get_template('allura:templates/mail/authentication_code.md.jinja2').render(dict(
             user=self,
             config=config,
             verify_url=verify_url,
+            login_details=login_details,
+            geo=geo
         ))
         allura.tasks.mail_tasks.send_system_mail_to_user(email_address, 
subject, text)
 
diff --git a/Allura/allura/templates/mail/authentication_code.md.jinja2 
b/Allura/allura/templates/mail/authentication_code.md.jinja2
index 370b7d14b..c3a2da377 100644
--- a/Allura/allura/templates/mail/authentication_code.md.jinja2
+++ b/Allura/allura/templates/mail/authentication_code.md.jinja2
@@ -16,9 +16,9 @@
        specific language governing permissions and limitations
        under the License.
 -#}
-
 An attempt to sign-in to your {{ config['site_name'] }} account was detected.
-
+{% block geo_info %}
+{% endblock %}
 If this was you, click the link below to complete your sign-in:
 
 {{ verify_url }}
diff --git a/Allura/allura/tests/functional/test_auth.py 
b/Allura/allura/tests/functional/test_auth.py
index c088c0d79..e2e568370 100644
--- a/Allura/allura/tests/functional/test_auth.py
+++ b/Allura/allura/tests/functional/test_auth.py
@@ -3466,7 +3466,7 @@ def test_email_auth_code(self, send_system_mail_to_user):
             # Validate the email with the verification link was sent
             args, kwargs = send_system_mail_to_user.call_args
             assert r.session.get('mode') == 'email_code'
-            assert args[1] == f"{config['site_name']} Authentication Code"
+            assert args[1] == f"{config['site_name']} Authentication Link"
             assert send_system_mail_to_user.call_count == 1
             email_text = send_system_mail_to_user.call_args[0][2]
 

Reply via email to