From 13417cf9c6eec555b51da49742e47939d2f5715b Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Fri, 19 Oct 2012 22:47:33 -0400 Subject: [PATCH] Exclude submodules from zip downloads (issue 151) --- src/com/gitblit/wicket/panels/ProjectRepositoryPanel.java | 38 +++++++++++++++++++++++++++----------- 1 files changed, 27 insertions(+), 11 deletions(-) diff --git a/src/com/gitblit/wicket/panels/ProjectRepositoryPanel.java b/src/com/gitblit/wicket/panels/ProjectRepositoryPanel.java index f7deaf1..50f0d52 100644 --- a/src/com/gitblit/wicket/panels/ProjectRepositoryPanel.java +++ b/src/com/gitblit/wicket/panels/ProjectRepositoryPanel.java @@ -51,7 +51,7 @@ private static final long serialVersionUID = 1L; - public ProjectRepositoryPanel(String wicketId, Localizer localizer, Component owner, + public ProjectRepositoryPanel(String wicketId, Localizer localizer, Component parent, final boolean isAdmin, final RepositoryModel entry, final Map<AccessRestrictionType, String> accessRestrictions) { super(wicketId); @@ -66,7 +66,7 @@ swatch = new Label("repositorySwatch", " ").setEscapeModelStrings(false); } else { swatch = new Label("repositorySwatch", "!"); - WicketUtils.setHtmlTooltip(swatch, localizer.getString("gb.workingCopyWarning", owner)); + WicketUtils.setHtmlTooltip(swatch, localizer.getString("gb.workingCopyWarning", parent)); } WicketUtils.setCssBackground(swatch, entry.toString()); add(swatch); @@ -91,13 +91,13 @@ add(new BookmarkablePageLink<Void>("docs", DocsPage.class, pp).setVisible(entry.useDocs)); if (entry.isFrozen) { - add(WicketUtils.newImage("frozenIcon", "cold_16x16.png", localizer.getString("gb.isFrozen", owner))); + add(WicketUtils.newImage("frozenIcon", "cold_16x16.png", localizer.getString("gb.isFrozen", parent))); } else { add(WicketUtils.newClearPixel("frozenIcon").setVisible(false)); } if (entry.isFederated) { - add(WicketUtils.newImage("federatedIcon", "federated_16x16.png", localizer.getString("gb.isFederated", owner))); + add(WicketUtils.newImage("federatedIcon", "federated_16x16.png", localizer.getString("gb.isFederated", parent))); } else { add(WicketUtils.newClearPixel("federatedIcon").setVisible(false)); } @@ -121,12 +121,24 @@ add(WicketUtils.newBlankImage("accessRestrictionIcon")); } - add(new Label("repositoryOwner", StringUtils.isEmpty(entry.owner) ? "" : (entry.owner + " (" - + localizer.getString("gb.owner", owner) + ")"))); + if (StringUtils.isEmpty(entry.owner)) { + add(new Label("repositoryOwner").setVisible(false)); + } else { + UserModel ownerModel = GitBlit.self().getUserModel(entry.owner); + String owner = entry.owner; + if (ownerModel != null) { + owner = ownerModel.getDisplayName(); + } + add(new Label("repositoryOwner", owner + " (" + + localizer.getString("gb.owner", parent) + ")")); + } UserModel user = GitBlitWebSession.get().getUser(); + if (user == null) { + user = UserModel.ANONYMOUS; + } Fragment repositoryLinks; - boolean showOwner = user != null && user.username.equalsIgnoreCase(entry.owner); + boolean showOwner = entry.isOwner(user.username); // owner of personal repository gets admin powers boolean showAdmin = isAdmin || entry.isUsersPersonalRepository(user.username); @@ -143,15 +155,19 @@ @Override public void onClick() { if (GitBlit.self().deleteRepositoryModel(entry)) { - info(MessageFormat.format(getString("gb.repositoryDeleted"), entry)); - // TODO dp.remove(entry); + // redirect to the owning page + if (entry.isPersonalRepository()) { + setResponsePage(getPage().getClass(), WicketUtils.newUsernameParameter(entry.projectPath.substring(1))); + } else { + setResponsePage(getPage().getClass(), WicketUtils.newProjectParameter(entry.projectPath)); + } } else { error(MessageFormat.format(getString("gb.repositoryDeleteFailed"), entry)); } } }; deleteLink.add(new JavascriptEventConfirmation("onclick", MessageFormat.format( - localizer.getString("gb.deleteRepository", owner), entry))); + localizer.getString("gb.deleteRepository", parent), entry))); repositoryLinks.add(deleteLink); } } else { @@ -181,7 +197,7 @@ add(new Label("repositorySize", entry.size).setVisible(showSize)); } else { // New repository - add(new Label("repositorySize", localizer.getString("gb.empty", owner)).setEscapeModelStrings(false)); + add(new Label("repositorySize", localizer.getString("gb.empty", parent)).setEscapeModelStrings(false)); } add(new ExternalLink("syndication", SyndicationServlet.asLink("", entry.name, null, 0))); -- Gitblit v1.9.1