diff options
-rw-r--r-- | CHANGELOG | 1 | ||||
-rw-r--r-- | app/assets/javascripts/project.js.coffee | 1 | ||||
-rw-r--r-- | app/helpers/button_helper.rb | 26 | ||||
-rw-r--r-- | app/helpers/projects_helper.rb | 2 | ||||
-rw-r--r-- | app/views/shared/_clone_panel.html.haml | 6 | ||||
-rw-r--r-- | features/steps/project/create.rb | 4 | ||||
-rw-r--r-- | spec/helpers/projects_helper_spec.rb | 19 |
7 files changed, 37 insertions, 22 deletions
diff --git a/CHANGELOG b/CHANGELOG index d3171da81c3..47450b6b4f6 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -2,6 +2,7 @@ Please view this file on the master branch, on stable branches it's out of date. v 8.6.0 (unreleased) - Fix bug where wrong commit ID was being used in a merge request diff to show old image (Stan Hu) + - Make HTTP(s) label consistent on clone bar (Stan Hu) - Add confidential issues - Bump gitlab_git to 9.0.3 (Stan Hu) - Support Golang subpackage fetching (Stan Hu) diff --git a/app/assets/javascripts/project.js.coffee b/app/assets/javascripts/project.js.coffee index 76bc4ff42a2..87d313ed67c 100644 --- a/app/assets/javascripts/project.js.coffee +++ b/app/assets/javascripts/project.js.coffee @@ -11,7 +11,6 @@ class @Project $(@).toggleClass('active') url = $("#project_clone").val() - console.log("url",url) # Update the input field $('#project_clone').val(url) diff --git a/app/helpers/button_helper.rb b/app/helpers/button_helper.rb index d6c05843743..ee2cb6ab0ea 100644 --- a/app/helpers/button_helper.rb +++ b/app/helpers/button_helper.rb @@ -23,36 +23,34 @@ module ButtonHelper end def http_clone_button(project) - klass = 'btn js-protocol-switch' - klass << ' active' if default_clone_protocol == 'http' + klass = 'http-selector' klass << ' has_tooltip' if current_user.try(:require_password?) protocol = gitlab_config.protocol.upcase - content_tag :button, protocol, + content_tag :a, protocol, class: klass, + href: @project.http_url_to_repo, data: { - clone: project.http_url_to_repo, + html: true, + placement: 'right', container: 'body', - html: 'true', title: "Set a password on your account<br>to pull or push via #{protocol}" - }, - type: :button + } end def ssh_clone_button(project) - klass = 'btn js-protocol-switch' - klass << ' active' if default_clone_protocol == 'ssh' + klass = 'ssh-selector' klass << ' has_tooltip' if current_user.try(:require_ssh_key?) - content_tag :button, 'SSH', + content_tag :a, 'SSH', class: klass, + href: project.ssh_url_to_repo, data: { - clone: project.ssh_url_to_repo, + html: true, + placement: 'right', container: 'body', - html: 'true', title: 'Add an SSH key to your profile<br>to pull or push via SSH.' - }, - type: :button + } end end diff --git a/app/helpers/projects_helper.rb b/app/helpers/projects_helper.rb index 5473419ef24..322a7021fdd 100644 --- a/app/helpers/projects_helper.rb +++ b/app/helpers/projects_helper.rb @@ -209,7 +209,7 @@ module ProjectsHelper def default_clone_protocol if !current_user || current_user.require_ssh_key? - "http" + gitlab_config.protocol else "ssh" end diff --git a/app/views/shared/_clone_panel.html.haml b/app/views/shared/_clone_panel.html.haml index faf7e49ed29..974751d9970 100644 --- a/app/views/shared/_clone_panel.html.haml +++ b/app/views/shared/_clone_panel.html.haml @@ -8,11 +8,9 @@ = icon('angle-down') %ul.dropdown-menu.dropdown-menu-right.clone-options-dropdown %li - %a#ssh-selector{href: @project.ssh_url_to_repo} - SSH + = ssh_clone_button(project) %li - %a#http-selector{href: @project.http_url_to_repo} - HTTPS + = http_clone_button(project) = text_field_tag :project_clone, default_url_to_repo(project), class: "js-select-on-focus form-control", readonly: true .input-group-btn diff --git a/features/steps/project/create.rb b/features/steps/project/create.rb index 8a0e8fc2b6c..422b151eaa2 100644 --- a/features/steps/project/create.rb +++ b/features/steps/project/create.rb @@ -27,7 +27,7 @@ class Spinach::Features::ProjectCreate < Spinach::FeatureSteps step 'I click on HTTP' do find('#clone-dropdown').click - find('#http-selector').click + find('.http-selector').click end step 'Remote url should update to http link' do @@ -36,7 +36,7 @@ class Spinach::Features::ProjectCreate < Spinach::FeatureSteps step 'If I click on SSH' do find('#clone-dropdown').click - find('#ssh-selector').click + find('.ssh-selector').click end step 'Remote url should update to ssh link' do diff --git a/spec/helpers/projects_helper_spec.rb b/spec/helpers/projects_helper_spec.rb index 53207767581..86cbd29830c 100644 --- a/spec/helpers/projects_helper_spec.rb +++ b/spec/helpers/projects_helper_spec.rb @@ -94,4 +94,23 @@ describe ProjectsHelper do end end end + + describe 'default_clone_protocol' do + describe 'using HTTP' do + it 'returns HTTP' do + expect(helper).to receive(:current_user).and_return(nil) + + expect(helper.send(:default_clone_protocol)).to eq('http') + end + end + + describe 'using HTTPS' do + it 'returns HTTPS' do + allow(Gitlab.config.gitlab).to receive(:protocol).and_return('https') + expect(helper).to receive(:current_user).and_return(nil) + + expect(helper.send(:default_clone_protocol)).to eq('https') + end + end + end end |