From 82df524570e7bf27953b14f4797ff04daf89cc3a Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Fri, 09 Dec 2011 08:50:18 -0500 Subject: [PATCH] Implemented empty repository page (issue 31) --- src/com/gitblit/wicket/pages/EditRepositoryPage.java | 36 +++++++++++++++++++++++++++++++----- 1 files changed, 31 insertions(+), 5 deletions(-) diff --git a/src/com/gitblit/wicket/pages/EditRepositoryPage.java b/src/com/gitblit/wicket/pages/EditRepositoryPage.java index 7349ca5..1a5ec3d 100644 --- a/src/com/gitblit/wicket/pages/EditRepositoryPage.java +++ b/src/com/gitblit/wicket/pages/EditRepositoryPage.java @@ -47,7 +47,7 @@ import com.gitblit.wicket.GitBlitWebSession; import com.gitblit.wicket.WicketUtils; -public class EditRepositoryPage extends BasePage { +public class EditRepositoryPage extends RootSubPage { private final boolean isCreate; @@ -75,21 +75,29 @@ List<String> federationSets = new ArrayList<String>(); List<String> repositoryUsers = new ArrayList<String>(); + List<String> repositoryTeams = new ArrayList<String>(); if (isCreate) { - super.setupPage("", getString("gb.newRepository")); + super.setupPage(getString("gb.newRepository"), ""); } else { - super.setupPage("", getString("gb.edit")); + super.setupPage(getString("gb.edit"), repositoryModel.name); if (repositoryModel.accessRestriction.exceeds(AccessRestrictionType.NONE)) { repositoryUsers.addAll(GitBlit.self().getRepositoryUsers(repositoryModel)); + repositoryTeams.addAll(GitBlit.self().getRepositoryTeams(repositoryModel)); Collections.sort(repositoryUsers); } federationSets.addAll(repositoryModel.federationSets); - } + } + final String oldName = repositoryModel.name; // users palette final Palette<String> usersPalette = new Palette<String>("users", new ListModel<String>( repositoryUsers), new CollectionModel<String>(GitBlit.self().getAllUsernames()), + new ChoiceRenderer<String>("", ""), 10, false); + + // teams palette + final Palette<String> teamsPalette = new Palette<String>("teams", new ListModel<String>( + repositoryTeams), new CollectionModel<String>(GitBlit.self().getAllTeamnames()), new ChoiceRenderer<String>("", ""), 10, false); // federation sets palette @@ -146,6 +154,12 @@ return; } + // confirm federation strategy selection + if (repositoryModel.federationStrategy == null) { + error("Please select federation strategy!"); + return; + } + // save federation set preferences if (repositoryModel.federationStrategy.exceeds(FederationStrategy.EXCLUDE)) { repositoryModel.federationSets.clear(); @@ -158,8 +172,9 @@ // save the repository GitBlit.self().updateRepositoryModel(oldName, repositoryModel, isCreate); - // save the repository access list + // repository access if (repositoryModel.accessRestriction.exceeds(AccessRestrictionType.NONE)) { + // save the user access list Iterator<String> users = usersPalette.getSelectedChoices(); List<String> repositoryUsers = new ArrayList<String>(); while (users.hasNext()) { @@ -171,6 +186,14 @@ repositoryUsers.add(repositoryModel.owner); } GitBlit.self().setRepositoryUsers(repositoryModel, repositoryUsers); + + // save the team access list + Iterator<String> teams = teamsPalette.getSelectedChoices(); + List<String> repositoryTeams = new ArrayList<String>(); + while (teams.hasNext()) { + repositoryTeams.add(teams.next()); + } + GitBlit.self().setRepositoryTeams(repositoryModel, repositoryTeams); } } catch (GitBlitException e) { error(e.getMessage()); @@ -205,7 +228,10 @@ form.add(new CheckBox("useDocs")); form.add(new CheckBox("showRemoteBranches")); form.add(new CheckBox("showReadme")); + form.add(new CheckBox("skipSizeCalculation")); + form.add(new CheckBox("skipSummaryMetrics")); form.add(usersPalette); + form.add(teamsPalette); form.add(federationSetsPalette); form.add(new Button("save")); -- Gitblit v1.9.1