From 4e3c152fa7e97200855ba0d2716362dbe7976920 Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Fri, 04 Jan 2013 17:23:23 -0500 Subject: [PATCH] Support local accounts with LdapUserService and RedmineUserService (issue-183) --- src/com/gitblit/wicket/pages/EditTeamPage.java | 37 +++++++++++++++++++------------------ 1 files changed, 19 insertions(+), 18 deletions(-) diff --git a/src/com/gitblit/wicket/pages/EditTeamPage.java b/src/com/gitblit/wicket/pages/EditTeamPage.java index 05c9121..8344d38 100644 --- a/src/com/gitblit/wicket/pages/EditTeamPage.java +++ b/src/com/gitblit/wicket/pages/EditTeamPage.java @@ -36,18 +36,18 @@ 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.Keys; +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 +62,7 @@ isCreate = true; setupPage(new TeamModel("")); setStatelessHint(false); + setOutputMarkupId(true); } public EditTeamPage(PageParameters params) { @@ -72,6 +73,12 @@ TeamModel model = GitBlit.self().getTeamModel(name); setupPage(model); setStatelessHint(false); + setOutputMarkupId(true); + } + + @Override + protected boolean requiresPageMap() { + return true; } protected void setupPage(final TeamModel teamModel) { @@ -83,14 +90,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 +98,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 +147,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(); @@ -212,19 +212,20 @@ form.add(new SimpleAttributeModifier("autocomplete", "off")); // not all user services support manipulating team memberships - boolean editMemberships = GitBlit.self().supportsTeamMembershipChanges(); + boolean editMemberships = GitBlit.self().supportsTeamMembershipChanges(null); // field names reflective match TeamModel fields form.add(new TextField<String>("name")); form.add(new CheckBox("canAdmin")); - form.add(new CheckBox("canFork")); + form.add(new CheckBox("canFork").setEnabled(GitBlit.getBoolean(Keys.web.allowForking, true))); form.add(new CheckBox("canCreate")); form.add(users.setEnabled(editMemberships)); mailingLists = new Model<String>(teamModel.mailingLists == null ? "" : 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