From 27ae9095639bb228a1b7ff86a3ebe4264abf05be Mon Sep 17 00:00:00 2001
From: mschaefers <mschaefers@scoop-gmbh.de>
Date: Thu, 29 Nov 2012 12:33:09 -0500
Subject: [PATCH] feature: when using LdapUserService one can configure Gitblit to fetch all users from ldap that can possibly login. This allows to see newly generated LDAP users instantly in Gitblit. By now an LDAP user had to log in once to appear in GitBlit.
---
src/com/gitblit/wicket/pages/ActivityPage.java | 45 +++++++++++++++++++++++++++++++++++++++++----
1 files changed, 41 insertions(+), 4 deletions(-)
diff --git a/src/com/gitblit/wicket/pages/ActivityPage.java b/src/com/gitblit/wicket/pages/ActivityPage.java
index e8a172e..bceac8f 100644
--- a/src/com/gitblit/wicket/pages/ActivityPage.java
+++ b/src/com/gitblit/wicket/pages/ActivityPage.java
@@ -28,10 +28,16 @@
import org.apache.wicket.behavior.HeaderContributor;
import org.apache.wicket.markup.html.basic.Label;
+import com.gitblit.GitBlit;
+import com.gitblit.Keys;
import com.gitblit.models.Activity;
import com.gitblit.models.Metric;
import com.gitblit.models.RepositoryModel;
import com.gitblit.utils.ActivityUtils;
+import com.gitblit.utils.StringUtils;
+import com.gitblit.wicket.PageRegistration;
+import com.gitblit.wicket.PageRegistration.DropDownMenuItem;
+import com.gitblit.wicket.PageRegistration.DropDownMenuRegistration;
import com.gitblit.wicket.WicketUtils;
import com.gitblit.wicket.charting.GoogleChart;
import com.gitblit.wicket.charting.GoogleCharts;
@@ -61,7 +67,8 @@
// determine repositories to view and retrieve the activity
List<RepositoryModel> models = getRepositories(params);
- List<Activity> recentActivity = ActivityUtils.getRecentActivity(models, daysBack, objectId);
+ List<Activity> recentActivity = ActivityUtils.getRecentActivity(models,
+ daysBack, objectId, getTimeZone());
if (recentActivity.size() == 0) {
// no activity, skip graphs and activity panel
@@ -73,7 +80,7 @@
int totalCommits = 0;
Set<String> uniqueAuthors = new HashSet<String>();
for (Activity activity : recentActivity) {
- totalCommits += activity.commits.size();
+ totalCommits += activity.getCommitCount();
uniqueAuthors.addAll(activity.getAuthorMetrics().keySet());
}
int totalAuthors = uniqueAuthors.size();
@@ -89,6 +96,35 @@
// add activity panel
add(new ActivityPanel("activityPanel", recentActivity));
}
+ }
+
+ @Override
+ protected boolean reusePageParameters() {
+ return true;
+ }
+
+ @Override
+ protected void addDropDownMenus(List<PageRegistration> pages) {
+ DropDownMenuRegistration filters = new DropDownMenuRegistration("gb.filters",
+ ActivityPage.class);
+
+ PageParameters currentParameters = getPageParameters();
+ int daysBack = GitBlit.getInteger(Keys.web.activityDuration, 14);
+ if (currentParameters != null && !currentParameters.containsKey("db")) {
+ currentParameters.put("db", daysBack);
+ }
+
+ // preserve time filter options on repository choices
+ filters.menuItems.addAll(getRepositoryFilterItems(currentParameters));
+
+ // preserve repository filter options on time choices
+ filters.menuItems.addAll(getTimeFilterItems(currentParameters));
+
+ if (filters.menuItems.size() > 0) {
+ // Reset Filter
+ filters.menuItems.add(new DropDownMenuItem(getString("gb.reset"), null, null));
+ }
+ pages.add(filters);
}
/**
@@ -117,7 +153,7 @@
// aggregate repository metrics
for (Map.Entry<String, Metric> entry : activity.getRepositoryMetrics().entrySet()) {
- String repository = entry.getKey();
+ String repository = StringUtils.stripDotGit(entry.getKey());
if (!repositoryMetrics.containsKey(repository)) {
repositoryMetrics.put(repository, new Metric(repository));
}
@@ -138,8 +174,9 @@
GoogleChart chart = new GoogleLineChart("chartDaily", getString("gb.dailyActivity"), "day",
getString("gb.commits"));
SimpleDateFormat df = new SimpleDateFormat("MMM dd");
+ df.setTimeZone(getTimeZone());
for (Activity metric : recentActivity) {
- chart.addValue(df.format(metric.startDate), metric.commits.size());
+ chart.addValue(df.format(metric.startDate), metric.getCommitCount());
}
chart.setWidth(w);
chart.setHeight(h);
--
Gitblit v1.9.1