Commit 0f785bbc authored by Ben Bodenmiller's avatar Ben Bodenmiller

ink to configured gravatar host on profile page

parent 88a3cfe1
...@@ -28,6 +28,7 @@ v 7.14.0 (unreleased) ...@@ -28,6 +28,7 @@ v 7.14.0 (unreleased)
- Show buttons to add license, changelog and contribution guide if they're missing. - Show buttons to add license, changelog and contribution guide if they're missing.
- Disabled autocapitalize and autocorrect on login field (Daryl Chan) - Disabled autocapitalize and autocorrect on login field (Daryl Chan)
- Mention group and project name in creation, update and deletion notices (Achilleas Pipinellis) - Mention group and project name in creation, update and deletion notices (Achilleas Pipinellis)
- Update gravatar link on profile page to link to configured gravatar host (Ben Bodenmiller)
- Remove redis-store TTL monkey patch - Remove redis-store TTL monkey patch
v 7.13.2 v 7.13.2
......
...@@ -82,12 +82,12 @@ ...@@ -82,12 +82,12 @@
You can change your avatar here You can change your avatar here
- if Gitlab.config.gravatar.enabled - if Gitlab.config.gravatar.enabled
%br %br
or remove the current avatar to revert to #{link_to "gravatar.com", "http://gravatar.com"} or remove the current avatar to revert to #{link_to Gitlab.config.gravatar.host, "http://" + Gitlab.config.gravatar.host}
- else - else
You can upload an avatar here You can upload an avatar here
- if Gitlab.config.gravatar.enabled - if Gitlab.config.gravatar.enabled
%br %br
or change it at #{link_to "gravatar.com", "http://gravatar.com"} or change it at #{link_to Gitlab.config.gravatar.host, "http://" + Gitlab.config.gravatar.host}
%hr %hr
%a.choose-btn.btn.btn-sm.js-choose-user-avatar-button %a.choose-btn.btn.btn-sm.js-choose-user-avatar-button
%i.fa.fa-paperclip %i.fa.fa-paperclip
......
...@@ -9,6 +9,15 @@ class Settings < Settingslogic ...@@ -9,6 +9,15 @@ class Settings < Settingslogic
gitlab.port.to_i == (gitlab.https ? 443 : 80) gitlab.port.to_i == (gitlab.https ? 443 : 80)
end end
# get host without www, thanks to http://stackoverflow.com/a/6674363/1233435
def get_host_without_www(url)
url = URI.encode(url)
uri = URI.parse(url)
uri = URI.parse("http://#{url}") if uri.scheme.nil?
host = uri.host.downcase
host.start_with?('www.') ? host[4..-1] : host
end
private private
def build_gitlab_shell_ssh_path_prefix def build_gitlab_shell_ssh_path_prefix
...@@ -147,6 +156,7 @@ Settings['gravatar'] ||= Settingslogic.new({}) ...@@ -147,6 +156,7 @@ Settings['gravatar'] ||= Settingslogic.new({})
Settings.gravatar['enabled'] = true if Settings.gravatar['enabled'].nil? Settings.gravatar['enabled'] = true if Settings.gravatar['enabled'].nil?
Settings.gravatar['plain_url'] ||= 'http://www.gravatar.com/avatar/%{hash}?s=%{size}&d=identicon' Settings.gravatar['plain_url'] ||= 'http://www.gravatar.com/avatar/%{hash}?s=%{size}&d=identicon'
Settings.gravatar['ssl_url'] ||= 'https://secure.gravatar.com/avatar/%{hash}?s=%{size}&d=identicon' Settings.gravatar['ssl_url'] ||= 'https://secure.gravatar.com/avatar/%{hash}?s=%{size}&d=identicon'
Settings.gravatar['host'] = Settings.get_host_without_www(Settings.gravatar['plain_url'])
# #
# GitLab Shell # GitLab Shell
......
...@@ -35,6 +35,7 @@ Feature: Profile ...@@ -35,6 +35,7 @@ Feature: Profile
Then I change my avatar Then I change my avatar
And I should see new avatar And I should see new avatar
And I should see the "Remove avatar" button And I should see the "Remove avatar" button
And I should see the gravatar host link
Scenario: I remove my avatar Scenario: I remove my avatar
Given I visit profile page Given I visit profile page
...@@ -42,6 +43,7 @@ Feature: Profile ...@@ -42,6 +43,7 @@ Feature: Profile
When I remove my avatar When I remove my avatar
Then I should see my gravatar Then I should see my gravatar
And I should not see the "Remove avatar" button And I should not see the "Remove avatar" button
And I should see the gravatar host link
Scenario: My password is expired Scenario: My password is expired
Given my password is expired Given my password is expired
......
...@@ -60,6 +60,10 @@ class Spinach::Features::Profile < Spinach::FeatureSteps ...@@ -60,6 +60,10 @@ class Spinach::Features::Profile < Spinach::FeatureSteps
expect(page).not_to have_link("Remove avatar") expect(page).not_to have_link("Remove avatar")
end end
step 'I should see the gravatar host link' do
expect(page).to have_link("gravatar.com")
end
step 'I try change my password w/o old one' do step 'I try change my password w/o old one' do
page.within '.update-password' do page.within '.update-password' do
fill_in "user_password", with: "22233344" fill_in "user_password", with: "22233344"
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment