From b7502e5c0666154c7378469fd769b3aeb242e949 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Thu, 02 May 2013 21:44:18 -0400
Subject: [PATCH] Added SparkleShare invite url panel
---
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