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]
