summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEirik Lygre <eirik.lygre@gmail.com>2015-12-06 20:48:04 +0100
committerEirik Lygre <eirik.lygre@gmail.com>2015-12-06 20:48:04 +0100
commit88217029fc37e972fd84aec7eb9a77247a9532bf (patch)
tree74fe6907645054c0a29b0568212f5c9e6329cf0d
parent234f4bf20fb338f2164976fd39203fbc671afd29 (diff)
downloadgitlab-ce-88217029fc37e972fd84aec7eb9a77247a9532bf.tar.gz
When rendering the clone page, check user profile to decide default clone protocol. If the user has uploaded SSH-keys, use SSH; otherwise, use http(s). Close #3504.
-rw-r--r--app/helpers/projects_helper.rb14
1 files changed, 12 insertions, 2 deletions
diff --git a/app/helpers/projects_helper.rb b/app/helpers/projects_helper.rb
index 48729e5260e..22db8d860e5 100644
--- a/app/helpers/projects_helper.rb
+++ b/app/helpers/projects_helper.rb
@@ -175,11 +175,21 @@ module ProjectsHelper
end
def default_url_to_repo(project = @project)
- current_user ? project.url_to_repo : project.http_url_to_repo
+ if default_clone_protocol == "ssh"
+ project.ssh_url_to_repo
+ else
+ project.http_url_to_repo
+ end
end
def default_clone_protocol
- current_user ? "ssh" : "http"
+ if !current_user
+ "http"
+ elsif current_user.require_ssh_key?
+ "http"
+ else
+ "ssh"
+ end
end
def project_last_activity(project)