From 092f0a62302e87f44403ba24fc519c65534dbfff Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Mon, 29 Oct 2012 23:22:54 -0400 Subject: [PATCH] Stabilizing and polishing permissions ui. Still in-progress. --- src/com/gitblit/wicket/pages/EditTeamPage.java | 27 +++++++++++---------------- 1 files changed, 11 insertions(+), 16 deletions(-) diff --git a/src/com/gitblit/wicket/pages/EditTeamPage.java b/src/com/gitblit/wicket/pages/EditTeamPage.java index 05c9121..8ced03c 100644 --- a/src/com/gitblit/wicket/pages/EditTeamPage.java +++ b/src/com/gitblit/wicket/pages/EditTeamPage.java @@ -36,18 +36,17 @@ 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.RepositoryModel; -import com.gitblit.models.RepositoryAccessPermission; +import com.gitblit.Constants.RegistrantType; +import com.gitblit.models.RegistrantAccessPermission; import com.gitblit.models.TeamModel; import com.gitblit.utils.StringUtils; import com.gitblit.wicket.RequiresAdminRole; import com.gitblit.wicket.StringChoiceRenderer; import com.gitblit.wicket.WicketUtils; import com.gitblit.wicket.panels.BulletListPanel; -import com.gitblit.wicket.panels.RepositoryPermissionsPanel; +import com.gitblit.wicket.panels.RegistrantPermissionsPanel; @RequiresAdminRole public class EditTeamPage extends RootSubPage { @@ -62,6 +61,7 @@ isCreate = true; setupPage(new TeamModel("")); setStatelessHint(false); + setOutputMarkupId(true); } public EditTeamPage(PageParameters params) { @@ -72,6 +72,7 @@ TeamModel model = GitBlit.self().getTeamModel(name); setupPage(model); setStatelessHint(false); + setOutputMarkupId(true); } protected void setupPage(final TeamModel teamModel) { @@ -83,14 +84,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, null); List<String> teamUsers = new ArrayList<String>(teamModel.users); Collections.sort(teamUsers); @@ -98,7 +92,7 @@ List<String> postReceiveScripts = new ArrayList<String>(); final String oldName = teamModel.name; - final List<RepositoryAccessPermission> permissions = teamModel.getRepositoryPermissions(); + final List<RegistrantAccessPermission> permissions = teamModel.getRepositoryPermissions(); // users palette final Palette<String> users = new Palette<String>("users", new ListModel<String>( @@ -147,8 +141,8 @@ } } // update team permissions - for (RepositoryAccessPermission repositoryPermission : permissions) { - teamModel.setRepositoryPermission(repositoryPermission.repository, repositoryPermission.permission); + for (RegistrantAccessPermission repositoryPermission : permissions) { + teamModel.setRepositoryPermission(repositoryPermission.registrant, repositoryPermission.permission); } Iterator<String> selectedUsers = users.getSelectedChoices(); @@ -224,7 +218,8 @@ : StringUtils.flattenStrings(teamModel.mailingLists, " ")); form.add(new TextField<String>("mailingLists", mailingLists)); - form.add(new RepositoryPermissionsPanel("repositories", permissions, getAccessPermissions())); + form.add(new RegistrantPermissionsPanel("repositories", RegistrantType.REPOSITORY, + repos, permissions, getAccessPermissions())); form.add(preReceivePalette); form.add(new BulletListPanel("inheritedPreReceive", "inherited", GitBlit.self() .getPreReceiveScriptsInherited(null))); -- Gitblit v1.9.1