From d5ee557ef1370b5b9953dca1c8d3b14d0bd68a98 Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Thu, 02 May 2013 22:31:58 -0400 Subject: [PATCH] Do not use problematic WicketUtils fluid api --- src/main/java/com/gitblit/wicket/pages/BasePage.java | 29 ++++++++++++++++++++++++++++- 1 files changed, 28 insertions(+), 1 deletions(-) diff --git a/src/main/java/com/gitblit/wicket/pages/BasePage.java b/src/main/java/com/gitblit/wicket/pages/BasePage.java index b2dcce3..b3b0767 100644 --- a/src/main/java/com/gitblit/wicket/pages/BasePage.java +++ b/src/main/java/com/gitblit/wicket/pages/BasePage.java @@ -57,6 +57,7 @@ import com.gitblit.Constants.FederationStrategy; import com.gitblit.GitBlit; import com.gitblit.Keys; +import com.gitblit.SparkleShareInviteServlet; import com.gitblit.models.ProjectModel; import com.gitblit.models.RepositoryModel; import com.gitblit.models.TeamModel; @@ -311,7 +312,33 @@ return new Label(wicketId).setVisible(false); } } - + + protected String getSparkleShareInviteUrl(RepositoryModel repository) { + if (repository.isBare && repository.isSparkleshared()) { + UserModel user = GitBlitWebSession.get().getUser(); + if (user == null) { + user = UserModel.ANONYMOUS; + } + String username = null; + if (UserModel.ANONYMOUS != user) { + username = user.username; + } + if (GitBlit.getBoolean(Keys.git.enableGitServlet, true) || (GitBlit.getInteger(Keys.git.daemonPort, 0) > 0)) { + // Gitblit as server + // ensure user can rewind + if (user.canRewindRef(repository)) { + String baseURL = WicketUtils.getGitblitURL(RequestCycle.get().getRequest()); + return SparkleShareInviteServlet.asLink(baseURL, repository.name, username); + } + } else { + // Gitblit as viewer, assume RW+ permission + String baseURL = WicketUtils.getGitblitURL(RequestCycle.get().getRequest()); + return SparkleShareInviteServlet.asLink(baseURL, repository.name, username); + } + } + return null; + } + protected List<ProjectModel> getProjectModels() { final UserModel user = GitBlitWebSession.get().getUser(); List<ProjectModel> projects = GitBlit.self().getProjectModels(user, true); -- Gitblit v1.9.1