From e4ffebc567f84d6ac730c1f3b044db65832f8f73 Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Sun, 01 Jan 2012 09:19:13 -0500 Subject: [PATCH] Fixed daysback on repositories page --- src/com/gitblit/FileUserService.java | 62 ++++++++++++++++++++++++++++++ 1 files changed, 61 insertions(+), 1 deletions(-) diff --git a/src/com/gitblit/FileUserService.java b/src/com/gitblit/FileUserService.java index 880ca7b..9c4e507 100644 --- a/src/com/gitblit/FileUserService.java +++ b/src/com/gitblit/FileUserService.java @@ -20,6 +20,7 @@ import java.io.IOException; import java.text.MessageFormat; import java.util.ArrayList; +import java.util.Collections; import java.util.HashSet; import java.util.List; import java.util.Map; @@ -334,6 +335,23 @@ } list.add(user); } + Collections.sort(list); + return list; + } + + /** + * Returns the list of all users available to the login service. + * + * @return list of all usernames + */ + @Override + public List<UserModel> getAllUsers() { + read(); + List<UserModel> list = new ArrayList<UserModel>(); + for (String username : getAllUsernames()) { + list.add(getUserModel(username)); + } + Collections.sort(list); return list; } @@ -368,6 +386,7 @@ } catch (Throwable t) { logger.error(MessageFormat.format("Failed to get usernames for role {0}!", role), t); } + Collections.sort(list); return list; } @@ -618,15 +637,25 @@ TeamModel team = new TeamModel(username.substring(1)); List<String> repositories = new ArrayList<String>(); List<String> users = new ArrayList<String>(); + List<String> mailingLists = new ArrayList<String>(); + List<String> preReceive = new ArrayList<String>(); + List<String> postReceive = new ArrayList<String>(); for (String role : roles) { if (role.charAt(0) == '!') { users.add(role.substring(1)); + } else if (role.charAt(0) == '&') { + mailingLists.add(role.substring(1)); + } else if (role.charAt(0) == '^') { + preReceive.add(role.substring(1)); + } else if (role.charAt(0) == '%') { + postReceive.add(role.substring(1)); } else { repositories.add(role); } } team.addRepositories(repositories); team.addUsers(users); + team.addMailingLists(mailingLists); teams.put(team.name.toLowerCase(), team); } else { // user definition @@ -652,6 +681,21 @@ @Override public List<String> getAllTeamNames() { List<String> list = new ArrayList<String>(teams.keySet()); + Collections.sort(list); + return list; + } + + /** + * Returns the list of all teams available to the login service. + * + * @return list of all teams + * @since 0.8.0 + */ + @Override + public List<TeamModel> getAllTeams() { + List<TeamModel> list = new ArrayList<TeamModel>(teams.values()); + list = DeepCopier.copy(list); + Collections.sort(list); return list; } @@ -687,6 +731,7 @@ } catch (Throwable t) { logger.error(MessageFormat.format("Failed to get teamnames for role {0}!", role), t); } + Collections.sort(list); return list; } @@ -742,7 +787,7 @@ // remove role from team for (String name : needsRemoveRole) { String team = "@" + name; - String[] values = allUsers.getProperty(team).split(","); + String[] values = allUsers.getProperty(team).split(","); StringBuilder sb = new StringBuilder(); for (int i = 0; i < values.length; i++) { String value = values[i]; @@ -832,6 +877,21 @@ sb.append(user); sb.append(','); } + for (String address : model.mailingLists) { + sb.append('&'); + sb.append(address); + sb.append(','); + } + for (String script : model.preReceiveScripts) { + sb.append('^'); + sb.append(script); + sb.append(','); + } + for (String script : model.postReceiveScripts) { + sb.append('%'); + sb.append(script); + sb.append(','); + } // trim trailing comma sb.setLength(sb.length() - 1); allUsers.remove("@" + teamname); -- Gitblit v1.9.1