From a4d2498b7f94012cfdf481fcf151f8cfd7537a42 Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Mon, 23 May 2011 16:46:09 -0400 Subject: [PATCH] User list. Revised home page. Updated Jetty. Secure cookies. Docs. --- src/com/gitblit/GitBlit.java | 46 ++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 38 insertions(+), 8 deletions(-) diff --git a/src/com/gitblit/GitBlit.java b/src/com/gitblit/GitBlit.java index 40cb388..51c3b45 100644 --- a/src/com/gitblit/GitBlit.java +++ b/src/com/gitblit/GitBlit.java @@ -4,6 +4,7 @@ import java.io.IOException; import java.text.MessageFormat; import java.util.ArrayList; +import java.util.Collections; import java.util.List; import javax.servlet.ServletContextEvent; @@ -21,6 +22,7 @@ import com.gitblit.Constants.AccessRestrictionType; import com.gitblit.utils.JGitUtils; +import com.gitblit.utils.StringUtils; import com.gitblit.wicket.models.RepositoryModel; import com.gitblit.wicket.models.UserModel; @@ -95,10 +97,24 @@ userCookie.setPath("/"); response.addCookie(userCookie); } + + public List<String> getAllUsernames() { + List<String> names = loginService.getAllUsernames(); + Collections.sort(names); + return names; + } - public UserModel getUser(String username) { + public UserModel getUserModel(String username) { UserModel user = loginService.getUserModel(username); return user; + } + + public List<String> getRepositoryUsers(RepositoryModel repository) { + return loginService.getUsernamesForRole(repository.name); + } + + public boolean setRepositoryUsers(RepositoryModel repository, List<String> repositoryUsers) { + return loginService.setUsernamesForRole(repository.name, repositoryUsers); } public void editUserModel(UserModel user, boolean isCreate) throws GitBlitException { @@ -157,15 +173,28 @@ model.lastChange = JGitUtils.getLastChange(r); StoredConfig config = JGitUtils.readConfig(r); if (config != null) { - model.description = config.getString("gitblit", null, "description"); - model.owner = config.getString("gitblit", null, "owner"); - model.useTickets = config.getBoolean("gitblit", "useTickets", false); - model.useDocs = config.getBoolean("gitblit", "useDocs", false); - model.accessRestriction = AccessRestrictionType.fromName(config.getString("gitblit", null, "accessRestriction")); - model.showRemoteBranches = config.getBoolean("gitblit", "showRemoteBranches", false); + model.description = getConfig(config, "description", ""); + model.owner = getConfig(config, "owner", ""); + model.useTickets = getConfig(config, "useTickets", false); + model.useDocs = getConfig(config, "useDocs", false); + model.accessRestriction = AccessRestrictionType.fromName(getConfig(config, "accessRestriction", null)); + model.showRemoteBranches = getConfig(config, "showRemoteBranches", false); + model.isFrozen = getConfig(config, "isFrozen", false); } r.close(); return model; + } + + private String getConfig(StoredConfig config, String field, String defaultValue) { + String value = config.getString("gitblit", null, field); + if (StringUtils.isEmpty(value)) { + return defaultValue; + } + return value; + } + + private boolean getConfig(StoredConfig config, String field, boolean defaultValue) { + return config.getBoolean("gitblit", field, defaultValue); } public void editRepositoryModel(RepositoryModel repository, boolean isCreate) throws GitBlitException { @@ -197,6 +226,7 @@ config.setBoolean("gitblit", null, "useDocs", repository.useDocs); config.setString("gitblit", null, "accessRestriction", repository.accessRestriction.name()); config.setBoolean("gitblit", null, "showRemoteBranches", repository.showRemoteBranches); + config.setBoolean("gitblit", null, "isFrozen", repository.isFrozen); try { config.save(); } catch (IOException e) { @@ -206,7 +236,7 @@ } public void configureContext(IStoredSettings settings) { - logger.info("Configure GitBlit from " + settings.toString()); + logger.info("Using configuration from " + settings.toString()); this.storedSettings = settings; repositoriesFolder = new File(settings.getString(Keys.git.repositoriesFolder, "repos")); exportAll = settings.getBoolean(Keys.git.exportAll, true); -- Gitblit v1.9.1