From 5c869c1f509dbc05378b405637e72647317842dc Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Fri, 13 Jun 2014 09:00:42 -0400 Subject: [PATCH] Merge pull request #192 from carstenlenz/release-v1.6.0 --- src/main/java/com/gitblit/wicket/pages/UserPage.java | 32 +++++++++++++++++++++++++++++++- 1 files changed, 31 insertions(+), 1 deletions(-) diff --git a/src/main/java/com/gitblit/wicket/pages/UserPage.java b/src/main/java/com/gitblit/wicket/pages/UserPage.java index 9404896..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; @@ -48,6 +49,7 @@ import com.gitblit.wicket.GitBlitWebSession; import com.gitblit.wicket.GitblitRedirectException; import com.gitblit.wicket.WicketUtils; +import com.gitblit.wicket.panels.BooleanOption; import com.gitblit.wicket.panels.ChoiceOption; import com.gitblit.wicket.panels.ProjectRepositoryPanel; import com.gitblit.wicket.panels.SshKeysPanel; @@ -219,6 +221,8 @@ final IModel<String> displayName = Model.of(user.getDisplayName()); 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"), @@ -236,6 +240,29 @@ language, languages)); + prefs.add(new BooleanOption("emailMeOnMyTicketChanges", + getString("gb.emailMeOnMyTicketChanges"), + 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; @@ -252,6 +279,9 @@ if (lang != null) { user.getPreferences().setLocale(lang.code); } + + user.getPreferences().setEmailMeOnMyTicketChanges(emailMeOnMyTicketChanges.getObject()); + user.getPreferences().setTransport(transport.getObject()); try { app().gitblit().reviseUser(user.username, user); @@ -274,7 +304,7 @@ private void addSshKeys(final UserModel user) { Fragment keysTab = new Fragment("sshKeysTab", "sshKeysTabFragment", this); - keysTab.add(new SshKeysPanel("sshKeysPanel", user, getClass(), getPageParameters())); + keysTab.add(new SshKeysPanel("sshKeysPanel", user)); // add the SSH keys tab add(new Fragment("sshKeysLink", "sshKeysLinkFragment", this).setRenderBodyOnly(true)); -- Gitblit v1.9.1