From 6bb3b233c8a73d4fe4e5024794029fdc75a9f1bb Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Fri, 14 Sep 2012 09:36:46 -0400
Subject: [PATCH] Expose ReceivePack to Groovy hooks (issue 125)
---
src/com/gitblit/wicket/pages/RootPage.java | 33 +++++++++++++++++++++++++++++++--
1 files changed, 31 insertions(+), 2 deletions(-)
diff --git a/src/com/gitblit/wicket/pages/RootPage.java b/src/com/gitblit/wicket/pages/RootPage.java
index eaa2542..4858368 100644
--- a/src/com/gitblit/wicket/pages/RootPage.java
+++ b/src/com/gitblit/wicket/pages/RootPage.java
@@ -178,6 +178,9 @@
PageParameters pp = getPageParameters();
if (pp != null) {
PageParameters params = new PageParameters(pp);
+ // remove named project parameter
+ params.remove("p");
+
// remove named repository parameter
params.remove("r");
@@ -210,7 +213,7 @@
GitBlit.self().setCookie(response, user);
}
- if (!continueToOriginalDestination()) {
+ if (!session.continueRequest()) {
PageParameters params = getPageParameters();
if (params == null) {
// redirect to this page
@@ -230,6 +233,7 @@
final UserModel user = GitBlitWebSession.get().getUser();
List<RepositoryModel> repositories = GitBlit.self().getRepositoryModels(user);
repositoryModels.addAll(repositories);
+ Collections.sort(repositoryModels);
}
return repositoryModels;
}
@@ -322,6 +326,7 @@
}
boolean hasParameter = false;
+ String projectName = WicketUtils.getProjectName(params);
String repositoryName = WicketUtils.getRepositoryName(params);
String set = WicketUtils.getSet(params);
String regex = WicketUtils.getRegEx(params);
@@ -338,6 +343,27 @@
if (model.name.equalsIgnoreCase(repositoryName)) {
models.add(model);
break;
+ }
+ }
+ }
+
+ if (!StringUtils.isEmpty(projectName)) {
+ // try named project
+ hasParameter = true;
+ if (projectName.equalsIgnoreCase(GitBlit.getString(Keys.web.repositoryRootGroupName, "main"))) {
+ // root project/group
+ for (RepositoryModel model : availableModels) {
+ if (model.name.indexOf('/') == -1) {
+ models.add(model);
+ }
+ }
+ } else {
+ // named project/group
+ String group = projectName.toLowerCase() + "/";
+ for (RepositoryModel model : availableModels) {
+ if (model.name.toLowerCase().startsWith(group)) {
+ models.add(model);
+ }
}
}
}
@@ -411,6 +437,9 @@
}
models = timeFiltered;
}
- return new ArrayList<RepositoryModel>(models);
+
+ List<RepositoryModel> list = new ArrayList<RepositoryModel>(models);
+ Collections.sort(list);
+ return list;
}
}
--
Gitblit v1.9.1