src/main/java/com/gitblit/ConfigUserService.java | ●●●●● patch | view | raw | blame | history | |
src/main/java/com/gitblit/models/UserPreferences.java | ●●●●● patch | view | raw | blame | history | |
src/main/java/com/gitblit/tickets/TicketNotifier.java | ●●●●● patch | view | raw | blame | history | |
src/main/java/com/gitblit/wicket/GitBlitWebApp.properties | ●●●●● patch | view | raw | blame | history | |
src/main/java/com/gitblit/wicket/pages/UserPage.html | ●●●●● patch | view | raw | blame | history | |
src/main/java/com/gitblit/wicket/pages/UserPage.java | ●●●●● patch | view | raw | blame | history |
src/main/java/com/gitblit/ConfigUserService.java
@@ -96,6 +96,8 @@ private static final String LOCALE = "locale"; private static final String EMAILONMYTICKETCHANGES = "emailMeOnMyTicketChanges"; private static final String ACCOUNTTYPE = "accountType"; private static final String DISABLED = "disabled"; @@ -711,6 +713,7 @@ String val = model.getPreferences().getLocale().getLanguage() + "_" + model.getPreferences().getLocale().getCountry(); config.setString(USER, model.username, LOCALE, val); } config.setBoolean(USER, model.username, EMAILONMYTICKETCHANGES, model.getPreferences().isEmailMeOnMyTicketChanges()); } // user roles @@ -887,6 +890,7 @@ // preferences user.getPreferences().setLocale(config.getString(USER, username, LOCALE)); user.getPreferences().setEmailMeOnMyTicketChanges(config.getBoolean(USER, username, EMAILONMYTICKETCHANGES, true)); // user roles Set<String> roles = new HashSet<String>(Arrays.asList(config.getStringList( src/main/java/com/gitblit/models/UserPreferences.java
@@ -39,6 +39,8 @@ private String locale; private Boolean emailMeOnMyTicketChanges; private final Map<String, UserRepositoryPreferences> repositoryPreferences = new TreeMap<String, UserRepositoryPreferences>(); public UserPreferences(String username) { @@ -100,4 +102,15 @@ Collections.sort(list); return list; } public boolean isEmailMeOnMyTicketChanges() { if (emailMeOnMyTicketChanges == null) { return true; } return emailMeOnMyTicketChanges; } public void setEmailMeOnMyTicketChanges(boolean value) { this.emailMeOnMyTicketChanges = value; } } src/main/java/com/gitblit/tickets/TicketNotifier.java
@@ -545,7 +545,6 @@ } } } mailing.setRecipients(toAddresses); // // CC recipients @@ -554,7 +553,7 @@ // repository owners if (!ArrayUtils.isEmpty(repository.owners)) { tos.addAll(repository.owners); ccs.addAll(repository.owners); } // cc users mentioned in last comment @@ -595,6 +594,14 @@ } ccAddresses.addAll(settings.getStrings(Keys.mail.mailingLists)); // respect the author's email preference UserModel lastAuthor = userManager.getUserModel(lastChange.author); if (!lastAuthor.getPreferences().isEmailMeOnMyTicketChanges()) { toAddresses.remove(lastAuthor.emailAddress); ccAddresses.remove(lastAuthor.emailAddress); } mailing.setRecipients(toAddresses); mailing.setCCs(ccAddresses); } src/main/java/com/gitblit/wicket/GitBlitWebApp.properties
@@ -728,6 +728,8 @@ gb.accountPreferencesDescription = Specify your account preferences gb.languagePreference = Language Preference gb.languagePreferenceDescription = Select your preferred translation for Gitblit gb.emailMeOnMyTicketChanges = Email me on my ticket changes gb.emailMeOnMyTicketChangesDescription = Send me an email notification for changes that I make to a ticket gb.displayNameDescription = The preferred name for display gb.emailAddressDescription = The primary email address for receiving notifications gb.sshKeys = SSH Keys src/main/java/com/gitblit/wicket/pages/UserPage.html
@@ -65,6 +65,7 @@ <div wicket:id="displayName"></div> <div wicket:id="emailAddress"></div> <div wicket:id="language"></div> <div wicket:id="emailMeOnMyTicketChanges"></div> <div class="form-actions"><input class="btn btn-appmenu" type="submit" value="Save" wicket:message="value:gb.save" wicket:id="save" /></div> </form> src/main/java/com/gitblit/wicket/pages/UserPage.java
@@ -48,6 +48,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 +220,7 @@ 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()); prefs.add(new TextOption("displayName", getString("gb.displayName"), @@ -236,6 +238,11 @@ language, languages)); prefs.add(new BooleanOption("emailMeOnMyTicketChanges", getString("gb.emailMeOnMyTicketChanges"), getString("gb.emailMeOnMyTicketChangesDescription"), emailMeOnMyTicketChanges).setVisible(app().notifier().isSendingMail())); prefs.add(new AjaxButton("save") { private static final long serialVersionUID = 1L; @@ -253,6 +260,8 @@ user.getPreferences().setLocale(lang.code); } user.getPreferences().setEmailMeOnMyTicketChanges(emailMeOnMyTicketChanges.getObject()); try { app().gitblit().reviseUser(user.username, user);