src/com/gitblit/client/EditTeamDialog.java | ●●●●● patch | view | raw | blame | history | |
src/com/gitblit/client/EditUserDialog.java | ●●●●● patch | view | raw | blame | history | |
src/com/gitblit/wicket/pages/EditTeamPage.java | ●●●●● patch | view | raw | blame | history | |
src/com/gitblit/wicket/pages/EditUserPage.java | ●●●●● patch | view | raw | blame | history | |
src/com/gitblit/wicket/pages/RootSubPage.java | ●●●●● patch | view | raw | blame | history |
src/com/gitblit/client/EditTeamDialog.java
@@ -315,18 +315,35 @@ restricted.add(repo.name); } } StringUtils.sortRepositorynames(restricted); // remove repositories for which team already has a permission List<String> list = new ArrayList<String>(); // repositories list.add(".*"); // all repositories excluding personal repositories list.add("[^~].*"); String lastProject = null; for (String repo : restricted) { String projectPath = StringUtils.getFirstPathElement(repo); if (lastProject == null || !lastProject.equalsIgnoreCase(projectPath)) { lastProject = projectPath; if (!StringUtils.isEmpty(projectPath)) { // regex for all repositories within a project list.add(projectPath + "/.*"); } list.add(repo); } } // remove repositories for which user already has a permission if (permissions == null) { permissions = new ArrayList<RegistrantAccessPermission>(); } else { for (RegistrantAccessPermission rp : permissions) { restricted.remove(rp.registrant); list.remove(rp.registrant); } } StringUtils.sortRepositorynames(restricted); repositoryPalette.setObjects(restricted, permissions); repositoryPalette.setObjects(list, permissions); } public void setUsers(List<String> users, List<String> selected) { src/com/gitblit/client/EditUserDialog.java
@@ -347,18 +347,35 @@ restricted.add(repo.name); } } StringUtils.sortRepositorynames(restricted); List<String> list = new ArrayList<String>(); // repositories list.add(".*"); // all repositories excluding personal repositories list.add("[^~].*"); String lastProject = null; for (String repo : restricted) { String projectPath = StringUtils.getFirstPathElement(repo); if (lastProject == null || !lastProject.equalsIgnoreCase(projectPath)) { lastProject = projectPath; if (!StringUtils.isEmpty(projectPath)) { // regex for all repositories within a project list.add(projectPath + "/.*"); } list.add(repo); } } // remove repositories for which user already has a permission if (permissions == null) { permissions = new ArrayList<RegistrantAccessPermission>(); } else { for (RegistrantAccessPermission rp : permissions) { restricted.remove(rp.registrant); list.remove(rp.registrant); } } StringUtils.sortRepositorynames(restricted); repositoryPalette.setObjects(restricted, permissions); repositoryPalette.setObjects(list, permissions); } public void setTeams(List<TeamModel> teams, List<TeamModel> selected) { src/com/gitblit/wicket/pages/EditTeamPage.java
@@ -36,11 +36,9 @@ import org.apache.wicket.model.util.CollectionModel; import org.apache.wicket.model.util.ListModel; import com.gitblit.Constants.AccessRestrictionType; import com.gitblit.GitBlit; import com.gitblit.GitBlitException; import com.gitblit.models.RegistrantAccessPermission; import com.gitblit.models.RepositoryModel; import com.gitblit.models.TeamModel; import com.gitblit.utils.StringUtils; import com.gitblit.wicket.RequiresAdminRole; @@ -83,14 +81,7 @@ CompoundPropertyModel<TeamModel> model = new CompoundPropertyModel<TeamModel>(teamModel); List<String> repos = new ArrayList<String>(); for (String repo : GitBlit.self().getRepositoryList()) { RepositoryModel repositoryModel = GitBlit.self().getRepositoryModel(repo); if (repositoryModel.accessRestriction.exceeds(AccessRestrictionType.NONE)) { repos.add(repo); } } StringUtils.sortRepositorynames(repos); List<String> repos = getAccessRestrictedRepositoryList(true); List<String> teamUsers = new ArrayList<String>(teamModel.users); Collections.sort(teamUsers); src/com/gitblit/wicket/pages/EditUserPage.java
@@ -34,12 +34,10 @@ import org.apache.wicket.model.util.CollectionModel; import org.apache.wicket.model.util.ListModel; import com.gitblit.Constants.AccessRestrictionType; import com.gitblit.GitBlit; import com.gitblit.GitBlitException; import com.gitblit.Keys; import com.gitblit.models.RegistrantAccessPermission; import com.gitblit.models.RepositoryModel; import com.gitblit.models.TeamModel; import com.gitblit.models.UserModel; import com.gitblit.utils.StringUtils; @@ -86,14 +84,8 @@ StringUtils.isEmpty(userModel.password) ? "" : userModel.password); CompoundPropertyModel<UserModel> model = new CompoundPropertyModel<UserModel>(userModel); List<String> repos = new ArrayList<String>(); for (String repo : GitBlit.self().getRepositoryList()) { RepositoryModel repositoryModel = GitBlit.self().getRepositoryModel(repo); if (repositoryModel.accessRestriction.exceeds(AccessRestrictionType.NONE)) { repos.add(repo); } } StringUtils.sortRepositorynames(repos); // build list of projects including all repositories wildcards List<String> repos = getAccessRestrictedRepositoryList(true); List<String> userTeams = new ArrayList<String>(); for (TeamModel team : userModel.teams) { src/com/gitblit/wicket/pages/RootSubPage.java
@@ -15,9 +15,15 @@ */ package com.gitblit.wicket.pages; import java.util.ArrayList; import java.util.List; import org.apache.wicket.PageParameters; import org.apache.wicket.markup.html.basic.Label; import com.gitblit.GitBlit; import com.gitblit.Constants.AccessRestrictionType; import com.gitblit.models.RepositoryModel; import com.gitblit.utils.StringUtils; /** @@ -45,4 +51,32 @@ add(new Label("pageSubName", subName)); super.setupPage("", pageName); } protected List<String> getAccessRestrictedRepositoryList(boolean includeWildcards) { // build list of access-restricted projects String lastProject = null; List<String> repos = new ArrayList<String>(); if (includeWildcards) { // all repositories repos.add(".*"); // all repositories excluding personal repositories repos.add("[^~].*"); } for (String repo : GitBlit.self().getRepositoryList()) { RepositoryModel repositoryModel = GitBlit.self().getRepositoryModel(repo); if (repositoryModel.accessRestriction.exceeds(AccessRestrictionType.NONE)) { if (includeWildcards) { if (lastProject == null || !lastProject.equalsIgnoreCase(repositoryModel.projectPath)) { lastProject = repositoryModel.projectPath; if (!StringUtils.isEmpty(repositoryModel.projectPath)) { // regex for all repositories within a project repos.add(repositoryModel.projectPath + "/.*"); } } } repos.add(repo); } } return repos; } }