James Moger
2013-05-30 d0f6f2599eecb06c76739c7fab3c581fa031e75b
Added locale user preference, still requires ui
3 files modified
18 ■■■■■ changed files
src/main/java/com/gitblit/ConfigUserService.java 8 ●●●●● patch | view | raw | blame | history
src/main/java/com/gitblit/models/UserPreferences.java 2 ●●●●● patch | view | raw | blame | history
src/main/java/com/gitblit/wicket/GitBlitWebSession.java 8 ●●●●● patch | view | raw | blame | history
src/main/java/com/gitblit/ConfigUserService.java
@@ -92,6 +92,8 @@
    
    private static final String STARRED = "starred";
    
    private static final String LOCALE = "locale";
    private final File realmFile;
    private final Logger logger = LoggerFactory.getLogger(ConfigUserService.class);
@@ -849,6 +851,11 @@
            if (!StringUtils.isEmpty(model.countryCode)) {
                config.setString(USER, model.username, COUNTRYCODE, model.countryCode);
            }
            if (model.getPreferences() != null) {
                if (!StringUtils.isEmpty(model.getPreferences().locale)) {
                    config.setString(USER, model.username, LOCALE, model.getPreferences().locale);
                }
            }
            // user roles
            List<String> roles = new ArrayList<String>();
@@ -1010,6 +1017,7 @@
                    user.stateProvince = config.getString(USER, username, STATEPROVINCE);
                    user.countryCode = config.getString(USER, username, COUNTRYCODE);
                    user.cookie = config.getString(USER, username, COOKIE);
                    user.getPreferences().locale = config.getString(USER, username, LOCALE);
                    if (StringUtils.isEmpty(user.cookie) && !StringUtils.isEmpty(user.password)) {
                        user.cookie = StringUtils.getSHA1(user.username + user.password);
                    }
src/main/java/com/gitblit/models/UserPreferences.java
@@ -37,6 +37,8 @@
    public final String username;
    public String locale;
    private final Map<String, UserRepositoryPreferences> repositoryPreferences = new TreeMap<String, UserRepositoryPreferences>();
    public UserPreferences(String username) {
src/main/java/com/gitblit/wicket/GitBlitWebSession.java
@@ -15,6 +15,7 @@
 */
package com.gitblit.wicket;
import java.util.Locale;
import java.util.Map;
import java.util.TimeZone;
import java.util.concurrent.atomic.AtomicBoolean;
@@ -120,6 +121,13 @@
    public void setUser(UserModel user) {
        this.user = user;
        if (user != null) {
            Locale preferredLocale = user.getPreferences().getLocale();
            if (preferredLocale != null) {
                // set the user's preferred locale
                setLocale(preferredLocale);
            }
        }
    }
    public TimeZone getTimezone() {