From 56c549e384b1a648c77bbd09a2cc77976e8a64de Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Tue, 24 May 2011 17:39:55 -0400 Subject: [PATCH] Documentation. --- src/com/gitblit/wicket/RepositoryPage.java | 41 +++++++++++++++++++++++++++-------------- 1 files changed, 27 insertions(+), 14 deletions(-) diff --git a/src/com/gitblit/wicket/RepositoryPage.java b/src/com/gitblit/wicket/RepositoryPage.java index 78fd33c..7b447bc 100644 --- a/src/com/gitblit/wicket/RepositoryPage.java +++ b/src/com/gitblit/wicket/RepositoryPage.java @@ -35,8 +35,8 @@ import com.gitblit.wicket.models.RepositoryModel; import com.gitblit.wicket.pages.BranchesPage; import com.gitblit.wicket.pages.DocsPage; +import com.gitblit.wicket.pages.EditRepositoryPage; import com.gitblit.wicket.pages.LogPage; -import com.gitblit.wicket.pages.RepositoriesPage; import com.gitblit.wicket.pages.SearchPage; import com.gitblit.wicket.pages.SummaryPage; import com.gitblit.wicket.pages.TagsPage; @@ -66,6 +66,7 @@ put("tags", "gb.tags"); put("tree", "gb.tree"); put("tickets", "gb.tickets"); + put("edit", "gb.edit"); } }; @@ -79,10 +80,8 @@ } Repository r = getRepository(); - if (r == null) { - error(MessageFormat.format("Failed to open repository {0} for {1}!", repositoryName, getPageName()), true); - } - + RepositoryModel model = getRepositoryModel(); + // standard page links add(new BookmarkablePageLink<Void>("summary", SummaryPage.class, WicketUtils.newRepositoryParameter(repositoryName))); add(new BookmarkablePageLink<Void>("log", LogPage.class, WicketUtils.newRepositoryParameter(repositoryName))); @@ -93,14 +92,27 @@ // per-repository extra page links List<String> extraPageLinks = new ArrayList<String>(); - // Conditionally add tickets page - if (getRepositoryModel().useTickets && JGitUtils.getTicketsBranch(r) != null) { + // Conditionally add tickets link + if (model.useTickets && JGitUtils.getTicketsBranch(r) != null) { extraPageLinks.add("tickets"); } - // Conditionally add docs page - if (getRepositoryModel().useDocs) { + // Conditionally add docs link + if (model.useDocs) { extraPageLinks.add("docs"); + } + + final boolean showAdmin; + if (GitBlit.self().settings().getBoolean(Keys.web.authenticateAdminPages, true)) { + boolean allowAdmin = GitBlit.self().settings().getBoolean(Keys.web.allowAdministration, false); + showAdmin = allowAdmin && GitBlitWebSession.get().canAdmin(); + } else { + showAdmin = GitBlit.self().settings().getBoolean(Keys.web.allowAdministration, false); + } + + // Conditionally add edit link + if (showAdmin || GitBlitWebSession.get().isLoggedIn() && (model.owner != null && model.owner.equalsIgnoreCase(GitBlitWebSession.get().getUser().getUsername()))) { + extraPageLinks.add("edit"); } ListDataProvider<String> extrasDp = new ListDataProvider<String>(extraPageLinks); @@ -115,6 +127,9 @@ } else if (extra.equals("docs")) { item.add(new Label("extraSeparator", " | ")); item.add(new LinkPanel("extraLink", null, getString("gb.docs"), DocsPage.class, WicketUtils.newRepositoryParameter(repositoryName))); + } else if (extra.equals("edit")) { + item.add(new Label("extraSeparator", " | ")); + item.add(new LinkPanel("extraLink", null, getString("gb.edit"), EditRepositoryPage.class, WicketUtils.newRepositoryParameter(repositoryName))); } } }; @@ -150,8 +165,7 @@ if (r == null) { Repository r = GitBlit.self().getRepository(repositoryName); if (r == null) { - error("Can not load repository " + repositoryName); - redirectToInterceptPage(new RepositoriesPage()); + error("Can not load repository " + repositoryName, true); return null; } this.r = r; @@ -163,9 +177,8 @@ if (m == null) { RepositoryModel model = GitBlit.self().getRepositoryModel(GitBlitWebSession.get().getUser(), repositoryName); if (model == null) { - error("Unauthorized access for repository " + repositoryName); - redirectToInterceptPage(new RepositoriesPage()); - return null; + error("Unauthorized access for repository " + repositoryName, true); + return null; } m = model; } -- Gitblit v1.9.1