From e41e8f8c3bc9f5edab1d271464364f95620ece8c Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Thu, 19 Nov 2015 17:55:38 -0500 Subject: [PATCH] Create filestore directory on startup --- src/main/java/com/gitblit/wicket/panels/ProjectRepositoryPanel.java | 81 ++++++++++++---------------------------- 1 files changed, 24 insertions(+), 57 deletions(-) diff --git a/src/main/java/com/gitblit/wicket/panels/ProjectRepositoryPanel.java b/src/main/java/com/gitblit/wicket/panels/ProjectRepositoryPanel.java index ed5780f..efcb1cb 100644 --- a/src/main/java/com/gitblit/wicket/panels/ProjectRepositoryPanel.java +++ b/src/main/java/com/gitblit/wicket/panels/ProjectRepositoryPanel.java @@ -15,7 +15,6 @@ */ package com.gitblit.wicket.panels; -import java.text.MessageFormat; import java.util.Map; import org.apache.wicket.Component; @@ -24,15 +23,13 @@ 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 com.gitblit.Constants.AccessRestrictionType; -import com.gitblit.GitBlit; import com.gitblit.Keys; -import com.gitblit.SyndicationServlet; import com.gitblit.models.RepositoryModel; import com.gitblit.models.UserModel; +import com.gitblit.servlet.SyndicationServlet; import com.gitblit.utils.ArrayUtils; import com.gitblit.utils.StringUtils; import com.gitblit.wicket.GitBlitWebSession; @@ -51,26 +48,29 @@ final Map<AccessRestrictionType, String> accessRestrictions) { super(wicketId); - final boolean showSwatch = GitBlit.getBoolean(Keys.web.repositoryListSwatches, true); - final boolean showSize = GitBlit.getBoolean(Keys.web.showRepositorySizes, true); - - // repository swatch - Component swatch; - if (entry.isBare) { - swatch = new Label("repositorySwatch", " ").setEscapeModelStrings(false); - } else { - swatch = new Label("repositorySwatch", "!"); - WicketUtils.setHtmlTooltip(swatch, localizer.getString("gb.workingCopyWarning", parent)); - } - WicketUtils.setCssBackground(swatch, entry.toString()); - add(swatch); - swatch.setVisible(showSwatch); + final boolean showSwatch = app().settings().getBoolean(Keys.web.repositoryListSwatches, true); + final boolean showSize = app().settings().getBoolean(Keys.web.showRepositorySizes, true); PageParameters pp = WicketUtils.newRepositoryParameter(entry.name); add(new LinkPanel("repositoryName", "list", StringUtils.getRelativePath(entry.projectPath, StringUtils.stripDotGit(entry.name)), SummaryPage.class, pp)); add(new Label("repositoryDescription", entry.description).setVisible(!StringUtils .isEmpty(entry.description))); + + Fragment iconFragment; + if (entry.isMirror) { + iconFragment = new Fragment("repoIcon", "mirrorIconFragment", this); + } else if (entry.isFork()) { + iconFragment = new Fragment("repoIcon", "forkIconFragment", this); + } else if (entry.isBare) { + iconFragment = new Fragment("repoIcon", "repoIconFragment", this); + } else { + iconFragment = new Fragment("repoIcon", "cloneIconFragment", this); + } + if (showSwatch) { + WicketUtils.setCssStyle(iconFragment, "color:" + StringUtils.getColor(entry.toString())); + } + add(iconFragment); if (StringUtils.isEmpty(entry.originRepository)) { add(new Label("originRepository").setVisible(false)); @@ -87,13 +87,7 @@ add(WicketUtils.newClearPixel("sparkleshareIcon").setVisible(false)); } - if (entry.isMirror) { - add(WicketUtils.newImage("mirrorIcon", "mirror_16x16.png", localizer.getString("gb.isMirror", parent))); - } else { - add(WicketUtils.newClearPixel("mirrorIcon").setVisible(false)); - } - - if (entry.isFrozen) { + if (!entry.isMirror && entry.isFrozen) { add(WicketUtils.newImage("frozenIcon", "cold_16x16.png", localizer.getString("gb.isFrozen", parent))); } else { add(WicketUtils.newClearPixel("frozenIcon").setVisible(false)); @@ -110,7 +104,7 @@ } else { String owner = ""; for (String username : entry.owners) { - UserModel ownerModel = GitBlit.self().getUserModel(username); + UserModel ownerModel = app().users().getUserModel(username); if (ownerModel != null) { owner = ownerModel.getDisplayName(); @@ -130,38 +124,10 @@ user = UserModel.ANONYMOUS; } Fragment repositoryLinks; - boolean showOwner = entry.isOwner(user.username); - // owner of personal repository gets admin powers - boolean showAdmin = isAdmin || entry.isUsersPersonalRepository(user.username); - - if (showAdmin || showOwner) { - repositoryLinks = new Fragment("repositoryLinks", showAdmin ? "repositoryAdminLinks" - : "repositoryOwnerLinks", this); + if (user.canAdmin(entry)) { + repositoryLinks = new Fragment("repositoryLinks", "repositoryOwnerLinks", this); repositoryLinks.add(new BookmarkablePageLink<Void>("editRepository", EditRepositoryPage.class, WicketUtils.newRepositoryParameter(entry.name))); - if (showAdmin) { - Link<Void> deleteLink = new Link<Void>("deleteRepository") { - - private static final long serialVersionUID = 1L; - - @Override - public void onClick() { - if (GitBlit.self().deleteRepositoryModel(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", parent), entry))); - repositoryLinks.add(deleteLink); - } } else { repositoryLinks = new Fragment("repositoryLinks", "repositoryUserLinks", this); } @@ -192,6 +158,7 @@ add(new Label("repositorySize", localizer.getString("gb.empty", parent)).setEscapeModelStrings(false)); } - add(new ExternalLink("syndication", SyndicationServlet.asLink("", entry.name, null, 0))); + add(new ExternalLink("syndication", SyndicationServlet.asLink(getRequest() + .getRelativePathPrefixToContextRoot(), entry.name, null, 0))); } } -- Gitblit v1.9.1