This is an automated email from the ASF dual-hosted git repository. brondsem pushed a commit to branch db/8438 in repository https://gitbox.apache.org/repos/asf/allura.git
commit 6219bfa633a00b84415c609fc58ab6aab5b11cde Author: Dave Brondsema <dbronds...@slashdotmedia.com> AuthorDate: Wed Jun 8 14:32:32 2022 -0400 [#8438] option to disable gravatar usage --- Allura/allura/ext/admin/templates/admin_widgets/metadata_admin.html | 2 +- Allura/allura/model/auth.py | 2 +- .../allura/ext/admin/templates/admin_widgets/metadata_admin.html | 2 +- Allura/allura/tests/functional/test_user_profile.py | 1 + Allura/development.ini | 3 +++ 5 files changed, 7 insertions(+), 3 deletions(-) diff --git a/Allura/allura/ext/admin/templates/admin_widgets/metadata_admin.html b/Allura/allura/ext/admin/templates/admin_widgets/metadata_admin.html index 1bdcb50f5..3998c4251 100644 --- a/Allura/allura/ext/admin/templates/admin_widgets/metadata_admin.html +++ b/Allura/allura/ext/admin/templates/admin_widgets/metadata_admin.html @@ -116,7 +116,7 @@ <div class="viewer"> No {% if c.project.is_user_project %}user{% endif %} icon. {{ g.icons['edit'].render(id='edit-icon', title='Upload one', show_title=True) }} - {% if c.project.is_user_project %}<br><small> + {% if c.project.is_user_project and h.asbool(tg.config.get('use_gravatar')) %}<br><small> Or a <a href="http://gravatar.com/">gravatar.com</a> image will be used if available.</small>{% endif %} </div> {% endif %} diff --git a/Allura/allura/model/auth.py b/Allura/allura/model/auth.py index 3dda3bad0..5be5ee9aa 100644 --- a/Allura/allura/model/auth.py +++ b/Allura/allura/model/auth.py @@ -641,7 +641,7 @@ class User(MappedClass, ActivityNode, ActivityObject, SearchIndexable): if private_project and private_project.icon: icon_url = config.get('static.icon_base', '') + self.url() + 'user_icon' icon_source = 'local' - elif self.preferences.email_address: + elif self.preferences.email_address and h.asbool(config.get('use_gravatar')): gravatar_args = {} if gravatar_default_url: gravatar_args['d'] = gravatar_default_url diff --git a/Allura/allura/templates_responsive/override/allura/ext/admin/templates/admin_widgets/metadata_admin.html b/Allura/allura/templates_responsive/override/allura/ext/admin/templates/admin_widgets/metadata_admin.html index f9c4126f8..b47b0cce3 100644 --- a/Allura/allura/templates_responsive/override/allura/ext/admin/templates/admin_widgets/metadata_admin.html +++ b/Allura/allura/templates_responsive/override/allura/ext/admin/templates/admin_widgets/metadata_admin.html @@ -123,7 +123,7 @@ <div class="viewer"> No {% if c.project.is_user_project %}user{% endif %} icon. {{ g.icons['edit'].render(id='edit-icon', title='Upload one', show_title=True) }} - {% if c.project.is_user_project %}<br><small> + {% if c.project.is_user_project and h.asbool(tg.config.get('use_gravatar')) %}<br><small> Or a <a href="http://gravatar.com/">gravatar.com</a> image will be used if available.</small>{% endif %} </div> {% endif %} diff --git a/Allura/allura/tests/functional/test_user_profile.py b/Allura/allura/tests/functional/test_user_profile.py index cd4b3da7f..d8f6724c1 100644 --- a/Allura/allura/tests/functional/test_user_profile.py +++ b/Allura/allura/tests/functional/test_user_profile.py @@ -44,6 +44,7 @@ class TestUserProfile(TestController): assert_in('No skills entered', r.html.find(None, 'skills').getText()) @td.with_user_project('test-admin') + @mock.patch.dict(tg.config, {'use_gravatar': 'true'}) def test_profile_user_card(self): user = User.by_username('test-admin') locals = { diff --git a/Allura/development.ini b/Allura/development.ini index 6bbfb8458..f53b9aa75 100644 --- a/Allura/development.ini +++ b/Allura/development.ini @@ -146,6 +146,9 @@ project_icon_sizes = 16 24 32 48 64 72 90 96 128 135 180 270 ; To use a custom image for default user profile avatars, specify a full URL here. Size 96x96 is best, 48x48 ok ;default_avatar_image = +; Disabled by default for security/privacy reasons. If enabled, md5 of email addresses will be used publicly to try to load gravatar images +;use_gravatar = true + ; For LDAP see https://forge-allura.apache.org/docs/getting_started/installation.html#using-ldap ;auth.method = ldap auth.method = local