From 1b04d7730f56a08c935974504b2d849d01870c02 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Thu, 05 Jun 2014 14:16:42 -0400
Subject: [PATCH] Add clone transport user preference

---
 src/main/java/com/gitblit/wicket/pages/UserPage.java |   21 +++++++++++++++++++++
 1 files changed, 21 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/gitblit/wicket/pages/UserPage.java b/src/main/java/com/gitblit/wicket/pages/UserPage.java
index 00a3627..306eea6 100644
--- a/src/main/java/com/gitblit/wicket/pages/UserPage.java
+++ b/src/main/java/com/gitblit/wicket/pages/UserPage.java
@@ -35,6 +35,7 @@
 import org.apache.wicket.model.IModel;
 import org.apache.wicket.model.Model;
 
+import com.gitblit.Constants.Transport;
 import com.gitblit.GitBlitException;
 import com.gitblit.Keys;
 import com.gitblit.models.Menu.ParameterMenuItem;
@@ -221,6 +222,7 @@
 		final IModel<String> emailAddress = Model.of(user.emailAddress == null ? "" : user.emailAddress);
 		final IModel<Language> language = Model.of(preferredLanguage);
 		final IModel<Boolean> emailMeOnMyTicketChanges = Model.of(user.getPreferences().isEmailMeOnMyTicketChanges());
+		final IModel<Transport> transport = Model.of(user.getPreferences().getTransport());
 
 		prefs.add(new TextOption("displayName",
 				getString("gb.displayName"),
@@ -243,6 +245,24 @@
 				getString("gb.emailMeOnMyTicketChangesDescription"),
 				emailMeOnMyTicketChanges).setVisible(app().notifier().isSendingMail()));
 
+		List<Transport> availableTransports = new ArrayList<>();
+		if (app().gitblit().isServingSSH()) {
+			availableTransports.add(Transport.SSH);
+		}
+		if (app().gitblit().isServingHTTP()) {
+			availableTransports.add(Transport.HTTPS);
+			availableTransports.add(Transport.HTTP);
+		}
+		if (app().gitblit().isServingGIT()) {
+			availableTransports.add(Transport.GIT);
+		}
+
+		prefs.add(new ChoiceOption<Transport>("transport",
+				getString("gb.transportPreference"),
+				getString("gb.transportPreferenceDescription"),
+				transport,
+				availableTransports));
+
 		prefs.add(new AjaxButton("save") {
 
 			private static final long serialVersionUID = 1L;
@@ -261,6 +281,7 @@
 				}
 
 				user.getPreferences().setEmailMeOnMyTicketChanges(emailMeOnMyTicketChanges.getObject());
+				user.getPreferences().setTransport(transport.getObject());
 
 				try {
 					app().gitblit().reviseUser(user.username, user);

--
Gitblit v1.9.1