Skip to content

Commit 13208e8

Browse files
committed
Merge pull request #111 from atdt/master
Add setting to cap number of activity days to display
2 parents 3928544 + da71511 commit 13208e8

File tree

5 files changed

+26
-1
lines changed

5 files changed

+26
-1
lines changed

releases.moxie

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,15 @@ r19: {
1818
- Added pptx extension for tree page icon lookup
1919
- Fixed project links on dashboard page when web.mountParameters=false
2020
changes: ~
21-
additions: ~
21+
additions:
22+
- Add setting for maximum number of days of activity to that may be requested
2223
dependencyChanges: ~
2324
contributors:
2425
- github/guriguri
2526
- Doug Ayers
27+
- Ori Livneh
28+
settings:
29+
- { name: 'web.activityDurationMaximum', defaultValue: 30 }
2630
}
2731

2832
#

src/main/distrib/data/gitblit.properties

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -882,6 +882,11 @@ web.activityDuration = 7
882882
# SINCE 1.3.0
883883
web.activityDurationChoices = 1 3 7 14 21 28
884884

885+
# Maximum number of days of activity that may be displayed on the activity page.
886+
#
887+
# SINCE 1.3.2
888+
web.activityDurationMaximum = 30
889+
885890
# The number of days of commits to cache in memory for the dashboard, activity,
886891
# and project pages. A value of 0 will disable all caching and will parse commits
887892
# in each repository per-request. If the value > 0 these pages will try to fulfill

src/main/java/com/gitblit/wicket/pages/BasePage.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -325,6 +325,7 @@ protected List<ProjectModel> getProjects(PageParameters params) {
325325
String regex = WicketUtils.getRegEx(params);
326326
String team = WicketUtils.getTeam(params);
327327
int daysBack = params.getInt("db", 0);
328+
int maxDaysBack = GitBlit.getInteger(Keys.web.activityDurationMaximum, 30);
328329

329330
List<ProjectModel> availableModels = getProjectModels();
330331
Set<ProjectModel> models = new HashSet<ProjectModel>();
@@ -372,6 +373,9 @@ protected List<ProjectModel> getProjects(PageParameters params) {
372373

373374
// time-filter the list
374375
if (daysBack > 0) {
376+
if (maxDaysBack > 0 && daysBack > maxDaysBack) {
377+
daysBack = maxDaysBack;
378+
}
375379
Calendar cal = Calendar.getInstance();
376380
cal.set(Calendar.HOUR_OF_DAY, 0);
377381
cal.set(Calendar.MINUTE, 0);

src/main/java/com/gitblit/wicket/pages/MyDashboardPage.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,9 +96,13 @@ private void setup(PageParameters params) {
9696

9797
// parameters
9898
int daysBack = params == null ? 0 : WicketUtils.getDaysBack(params);
99+
int maxDaysBack = GitBlit.getInteger(Keys.web.activityDurationMaximum, 30);
99100
if (daysBack < 1) {
100101
daysBack = GitBlit.getInteger(Keys.web.activityDuration, 7);
101102
}
103+
if (maxDaysBack > 0 && daysBack > maxDaysBack) {
104+
daysBack = maxDaysBack;
105+
}
102106
Calendar c = Calendar.getInstance();
103107
c.add(Calendar.DATE, -1*daysBack);
104108
Date minimumDate = c.getTime();

src/main/java/com/gitblit/wicket/pages/RootPage.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -345,9 +345,13 @@ protected List<DropDownMenuItem> getRepositoryFilterItems(PageParameters params)
345345
protected List<DropDownMenuItem> getTimeFilterItems(PageParameters params) {
346346
// days back choices - additive parameters
347347
int daysBack = GitBlit.getInteger(Keys.web.activityDuration, 7);
348+
int maxDaysBack = GitBlit.getInteger(Keys.web.activityDurationMaximum, 30);
348349
if (daysBack < 1) {
349350
daysBack = 7;
350351
}
352+
if (daysBack > maxDaysBack) {
353+
daysBack = maxDaysBack;
354+
}
351355
PageParameters clonedParams;
352356
if (params == null) {
353357
clonedParams = new PageParameters();
@@ -397,6 +401,7 @@ protected List<RepositoryModel> getRepositories(PageParameters params) {
397401
String regex = WicketUtils.getRegEx(params);
398402
String team = WicketUtils.getTeam(params);
399403
int daysBack = params.getInt("db", 0);
404+
int maxDaysBack = GitBlit.getInteger(Keys.web.activityDurationMaximum, 30);
400405

401406
List<RepositoryModel> availableModels = getRepositoryModels();
402407
Set<RepositoryModel> models = new HashSet<RepositoryModel>();
@@ -487,6 +492,9 @@ protected List<RepositoryModel> getRepositories(PageParameters params) {
487492

488493
// time-filter the list
489494
if (daysBack > 0) {
495+
if (maxDaysBack > 0 && daysBack > maxDaysBack) {
496+
daysBack = maxDaysBack;
497+
}
490498
Calendar cal = Calendar.getInstance();
491499
cal.set(Calendar.HOUR_OF_DAY, 0);
492500
cal.set(Calendar.MINUTE, 0);

0 commit comments

Comments
 (0)