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 | 61 +++++++++++++++++-------------
1 files changed, 35 insertions(+), 26 deletions(-)
diff --git a/src/com/gitblit/wicket/pages/ActivityPage.java b/src/com/gitblit/wicket/pages/ActivityPage.java
index ebdfee3..bceac8f 100644
--- a/src/com/gitblit/wicket/pages/ActivityPage.java
+++ b/src/com/gitblit/wicket/pages/ActivityPage.java
@@ -24,17 +24,19 @@
import java.util.Map;
import java.util.Set;
-import org.apache.wicket.Application;
import org.apache.wicket.PageParameters;
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;
@@ -65,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
@@ -77,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();
@@ -94,12 +97,34 @@
add(new ActivityPanel("activityPanel", recentActivity));
}
}
-
+
+ @Override
+ protected boolean reusePageParameters() {
+ return true;
+ }
+
@Override
protected void addDropDownMenus(List<PageRegistration> pages) {
- DropDownMenuRegistration menu = new DropDownMenuRegistration("gb.filters", ActivityPage.class);
- menu.menuItems.addAll(getFilterMenuItems());
- pages.add(menu);
+ 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);
}
/**
@@ -128,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));
}
@@ -149,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);
@@ -177,22 +203,5 @@
charts.addChart(chart);
return charts;
- }
-
- @Override
- protected void onBeforeRender() {
- if (GitBlit.isDebugMode()) {
- // strip Wicket tags in debug mode for jQuery DOM traversal
- Application.get().getMarkupSettings().setStripWicketTags(true);
- }
- super.onBeforeRender();
- }
- @Override
- protected void onAfterRender() {
- if (GitBlit.isDebugMode()) {
- // restore Wicket debug tags
- Application.get().getMarkupSettings().setStripWicketTags(false);
- }
- super.onAfterRender();
}
}
--
Gitblit v1.9.1