src/com/gitblit/wicket/pages/BranchesPage.java | ●●●●● patch | view | raw | blame | history | |
src/com/gitblit/wicket/pages/RepositoryPage.java | ●●●●● patch | view | raw | blame | history | |
src/com/gitblit/wicket/pages/SummaryPage.java | ●●●●● patch | view | raw | blame | history | |
src/com/gitblit/wicket/panels/BranchesPanel.html | ●●●●● patch | view | raw | blame | history | |
src/com/gitblit/wicket/panels/BranchesPanel.java | ●●●●● patch | view | raw | blame | history |
src/com/gitblit/wicket/pages/BranchesPage.java
@@ -24,7 +24,7 @@ public BranchesPage(PageParameters params) { super(params); add(new BranchesPanel("branchesPanel", getRepositoryModel(), getRepository(), -1)); add(new BranchesPanel("branchesPanel", getRepositoryModel(), getRepository(), -1, isShowAdmin())); } @Override src/com/gitblit/wicket/pages/RepositoryPage.java
@@ -75,6 +75,7 @@ private Map<String, SubmoduleModel> submodules; private final Map<String, PageRegistration> registeredPages; private boolean showAdmin; public RepositoryPage(PageParameters params) { super(params); @@ -148,7 +149,7 @@ } // Conditionally add edit link final boolean showAdmin; this.showAdmin = false; if (GitBlit.getBoolean(Keys.web.authenticateAdminPages, true)) { boolean allowAdmin = GitBlit.getBoolean(Keys.web.allowAdministration, false); showAdmin = allowAdmin && GitBlitWebSession.get().canAdmin(); @@ -412,6 +413,11 @@ return WicketUtils.newObjectParameter(repositoryName, commitId); } public boolean isShowAdmin() { return this.showAdmin; } private class SearchForm extends SessionlessForm<Void> implements Serializable { private static final long serialVersionUID = 1L; src/com/gitblit/wicket/pages/SummaryPage.java
@@ -132,7 +132,7 @@ add(new LogPanel("commitsPanel", repositoryName, getRepositoryModel().HEAD, r, numberCommits, 0)); add(new TagsPanel("tagsPanel", repositoryName, r, numberRefs).hideIfEmpty()); add(new BranchesPanel("branchesPanel", getRepositoryModel(), r, numberRefs).hideIfEmpty()); add(new BranchesPanel("branchesPanel", getRepositoryModel(), r, numberRefs, isShowAdmin()).hideIfEmpty()); if (getRepositoryModel().showReadme) { String htmlText = null; src/com/gitblit/wicket/panels/BranchesPanel.html
@@ -29,7 +29,7 @@ <!-- branch page links --> <wicket:fragment wicket:id="branchPageLinks"> <span class="link"> <a wicket:id="log"><wicket:message key="gb.log"></wicket:message></a> | <a wicket:id="tree"><wicket:message key="gb.tree"></wicket:message></a> | <a wicket:id="metrics"><wicket:message key="gb.metrics"></wicket:message></a> | <a wicket:id="syndication"><wicket:message key="gb.feed"></wicket:message></a> <a wicket:id="log"><wicket:message key="gb.log"></wicket:message></a> | <a wicket:id="tree"><wicket:message key="gb.tree"></wicket:message></a> | <a wicket:id="metrics"><wicket:message key="gb.metrics"></wicket:message></a> | <a wicket:id="syndication"><wicket:message key="gb.feed"></wicket:message></a> | <a wicket:id="deleteBranch"><wicket:message key="gb.delete"></wicket:message></a> </span> </wicket:fragment> src/com/gitblit/wicket/panels/BranchesPanel.java
@@ -15,6 +15,7 @@ */ package com.gitblit.wicket.panels; import java.text.MessageFormat; import java.util.ArrayList; import java.util.Collections; import java.util.List; @@ -22,6 +23,7 @@ import org.apache.wicket.markup.html.basic.Label; import org.apache.wicket.markup.html.link.BookmarkablePageLink; import org.apache.wicket.markup.html.link.ExternalLink; import org.apache.wicket.markup.html.link.Link; import org.apache.wicket.markup.html.panel.Fragment; import org.apache.wicket.markup.repeater.Item; import org.apache.wicket.markup.repeater.data.DataView; @@ -38,9 +40,9 @@ import com.gitblit.wicket.WicketUtils; import com.gitblit.wicket.pages.BranchesPage; import com.gitblit.wicket.pages.CommitPage; import com.gitblit.wicket.pages.GitSearchPage; import com.gitblit.wicket.pages.LogPage; import com.gitblit.wicket.pages.MetricsPage; import com.gitblit.wicket.pages.GitSearchPage; import com.gitblit.wicket.pages.TreePage; public class BranchesPanel extends BasePanel { @@ -49,8 +51,8 @@ private final boolean hasBranches; public BranchesPanel(String wicketId, final RepositoryModel model, Repository r, final int maxCount) { public BranchesPanel(String wicketId, final RepositoryModel model, final Repository r, final int maxCount, final boolean showAdmin) { super(wicketId); // branches @@ -106,7 +108,7 @@ WicketUtils.setHtmlTooltip(shortlog, shortMessage); } item.add(shortlog); if (maxCount <= 0) { Fragment fragment = new Fragment("branchLinks", "branchPageLinks", this); fragment.add(new BookmarkablePageLink<Void>("log", LogPage.class, WicketUtils @@ -118,6 +120,9 @@ fragment.add(new ExternalLink("syndication", SyndicationServlet.asLink( getRequest().getRelativePathPrefixToContextRoot(), model.name, entry.getName(), 0))); fragment.add(createDeleteBranchLink(r, entry, showAdmin)); item.add(fragment); } else { Fragment fragment = new Fragment("branchLinks", "branchPanelLinks", this); @@ -148,4 +153,28 @@ setVisible(hasBranches); return this; } private Link<Void> createDeleteBranchLink(final Repository r, final RefModel entry, final boolean showAdmin) { Link<Void> deleteLink = new Link<Void>("deleteBranch") { private static final long serialVersionUID = 1L; @Override public void onClick() { if( showAdmin && JGitUtils.deleteBranchRef(r, entry.getName()) ) { info(MessageFormat.format("Branch \"{0}\" deleted", entry.displayName)); } else { error(MessageFormat.format("Failed to delete branch \"{0}\"", entry.displayName)); } } }; deleteLink.add(new JavascriptEventConfirmation("onclick", MessageFormat.format( "Delete branch \"{0}\"?", entry.displayName ))); deleteLink.setVisible(showAdmin); return deleteLink; } }