Paul Martin
2016-04-06 2fca824e349f5fecbf71d940c4521644e92cb0dd
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;
@@ -103,7 +104,7 @@
      if (isMyProfile) {
         addPreferences(user);
         if (app().gitblit().isServingSSH()) {
         if (app().services().isServingSSH()) {
            // show the SSH key management tab
            addSshKeys(user);
         } else {
@@ -171,16 +172,19 @@
      Form<Void> prefs = new Form<Void>("prefsForm");
      List<Language> languages = Arrays.asList(
            new Language("Deutsch","de"),
            new Language("English","en"),
            new Language("Español", "es"),
            new Language("Français", "fr"),
            new Language("Italiano", "it"),
            new Language("日本語", "ja"),
            new Language("한국말", "ko"),
            new Language("Nederlands", "nl"),
            new Language("Norsk", "no"),
            new Language("Język Polski", "pl"),
            new Language("Português", "pt_BR"),
            new Language("中文", "zh_CN"));
            new Language("簡體中文", "zh_CN"),
            new Language("正體中文", "zh_TW"));
      Locale locale = user.getPreferences().getLocale();
      if (locale == null) {
@@ -221,6 +225,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 +248,26 @@
            getString("gb.emailMeOnMyTicketChangesDescription"),
            emailMeOnMyTicketChanges).setVisible(app().notifier().isSendingMail()));
      List<Transport> availableTransports = new ArrayList<>();
      if (app().services().isServingSSH()) {
         availableTransports.add(Transport.SSH);
      }
      if (app().services().isServingHTTP()) {
         availableTransports.add(Transport.HTTP);
      }
      if (app().services().isServingHTTPS()) {
         availableTransports.add(Transport.HTTPS);
      }
      if (app().services().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 +286,7 @@
            }
            user.getPreferences().setEmailMeOnMyTicketChanges(emailMeOnMyTicketChanges.getObject());
            user.getPreferences().setTransport(transport.getObject());
            try {
               app().gitblit().reviseUser(user.username, user);