From a502d96a860456ec5e8c96761db70f7cabb74751 Mon Sep 17 00:00:00 2001
From: Paul Martin <paul@paulsputer.com>
Date: Sat, 30 Apr 2016 04:19:14 -0400
Subject: [PATCH] Merge pull request #1073 from gitblit/1062-DocEditorUpdates

---
 src/main/java/com/gitblit/models/UserPreferences.java |   50 ++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 42 insertions(+), 8 deletions(-)

diff --git a/src/main/java/com/gitblit/models/UserPreferences.java b/src/main/java/com/gitblit/models/UserPreferences.java
index e6baa28..90c034f 100644
--- a/src/main/java/com/gitblit/models/UserPreferences.java
+++ b/src/main/java/com/gitblit/models/UserPreferences.java
@@ -23,11 +23,12 @@
 import java.util.Map;
 import java.util.TreeMap;
 
+import com.gitblit.Constants.Transport;
 import com.gitblit.utils.StringUtils;
 
 /**
  * User preferences.
- * 
+ *
  * @author James Moger
  *
  */
@@ -37,21 +38,35 @@
 
 	public final String username;
 
-	public String locale;
-	
+	private String locale;
+
+	private Boolean emailMeOnMyTicketChanges;
+
+	private Transport transport;
+
 	private final Map<String, UserRepositoryPreferences> repositoryPreferences = new TreeMap<String, UserRepositoryPreferences>();
 
 	public UserPreferences(String username) {
 		this.username = username;
 	}
-	
+
 	public Locale getLocale() {
 		if (StringUtils.isEmpty(locale)) {
 			return null;
 		}
+		int underscore = locale.indexOf('_');
+		if (underscore > 0) {
+			String lang = locale.substring(0, underscore);
+			String cc = locale.substring(underscore + 1);
+			return new Locale(lang, cc);
+		}
 		return new Locale(locale);
 	}
-	
+
+	public void setLocale(String locale) {
+		this.locale = locale;
+	}
+
 	public UserRepositoryPreferences getRepositoryPreferences(String repositoryName) {
 		String key = repositoryName.toLowerCase();
 		if (!repositoryPreferences.containsKey(key)) {
@@ -63,11 +78,11 @@
 		}
 		return repositoryPreferences.get(key);
 	}
-	
+
 	public void setRepositoryPreferences(UserRepositoryPreferences pref) {
 		repositoryPreferences.put(pref.repositoryName.toLowerCase(), pref);
 	}
-	
+
 	public boolean isStarredRepository(String repository) {
 		if (repositoryPreferences == null) {
 			return false;
@@ -79,7 +94,7 @@
 		}
 		return false;
 	}
-	
+
 	public List<String> getStarredRepositories() {
 		List<String> list = new ArrayList<String>();
 		for (UserRepositoryPreferences prefs : repositoryPreferences.values()) {
@@ -90,4 +105,23 @@
 		Collections.sort(list);
 		return list;
 	}
+
+	public boolean isEmailMeOnMyTicketChanges() {
+		if (emailMeOnMyTicketChanges == null) {
+			return true;
+		}
+		return emailMeOnMyTicketChanges;
+	}
+
+	public void setEmailMeOnMyTicketChanges(boolean value) {
+		this.emailMeOnMyTicketChanges = value;
+	}
+
+	public Transport getTransport() {
+		return transport;
+	}
+
+	public void setTransport(Transport transport) {
+		this.transport = transport;
+	}
 }

--
Gitblit v1.9.1