Skip to content

Commit

Permalink
Merge pull request #111 from atdt/master
Browse files Browse the repository at this point in the history
Add setting to cap number of activity days to display
  • Loading branch information
gitblit committed Aug 12, 2013
2 parents 3928544 + da71511 commit 13208e8
Show file tree
Hide file tree
Showing 5 changed files with 26 additions and 1 deletion.
6 changes: 5 additions & 1 deletion releases.moxie
Expand Up @@ -18,11 +18,15 @@ r19: {
- Added pptx extension for tree page icon lookup
- Fixed project links on dashboard page when web.mountParameters=false
changes: ~
additions: ~
additions:
- Add setting for maximum number of days of activity to that may be requested
dependencyChanges: ~
contributors:
- github/guriguri
- Doug Ayers
- Ori Livneh
settings:
- { name: 'web.activityDurationMaximum', defaultValue: 30 }
}

#
Expand Down
5 changes: 5 additions & 0 deletions src/main/distrib/data/gitblit.properties
Expand Up @@ -882,6 +882,11 @@ web.activityDuration = 7
# SINCE 1.3.0
web.activityDurationChoices = 1 3 7 14 21 28

# Maximum number of days of activity that may be displayed on the activity page.
#
# SINCE 1.3.2
web.activityDurationMaximum = 30

# The number of days of commits to cache in memory for the dashboard, activity,
# and project pages. A value of 0 will disable all caching and will parse commits
# in each repository per-request. If the value > 0 these pages will try to fulfill
Expand Down
4 changes: 4 additions & 0 deletions src/main/java/com/gitblit/wicket/pages/BasePage.java
Expand Up @@ -325,6 +325,7 @@ protected List<ProjectModel> getProjects(PageParameters params) {
String regex = WicketUtils.getRegEx(params);
String team = WicketUtils.getTeam(params);
int daysBack = params.getInt("db", 0);
int maxDaysBack = GitBlit.getInteger(Keys.web.activityDurationMaximum, 30);

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

// time-filter the list
if (daysBack > 0) {
if (maxDaysBack > 0 && daysBack > maxDaysBack) {
daysBack = maxDaysBack;
}
Calendar cal = Calendar.getInstance();
cal.set(Calendar.HOUR_OF_DAY, 0);
cal.set(Calendar.MINUTE, 0);
Expand Down
4 changes: 4 additions & 0 deletions src/main/java/com/gitblit/wicket/pages/MyDashboardPage.java
Expand Up @@ -96,9 +96,13 @@ private void setup(PageParameters params) {

// parameters
int daysBack = params == null ? 0 : WicketUtils.getDaysBack(params);
int maxDaysBack = GitBlit.getInteger(Keys.web.activityDurationMaximum, 30);
if (daysBack < 1) {
daysBack = GitBlit.getInteger(Keys.web.activityDuration, 7);
}
if (maxDaysBack > 0 && daysBack > maxDaysBack) {
daysBack = maxDaysBack;
}
Calendar c = Calendar.getInstance();
c.add(Calendar.DATE, -1*daysBack);
Date minimumDate = c.getTime();
Expand Down
8 changes: 8 additions & 0 deletions src/main/java/com/gitblit/wicket/pages/RootPage.java
Expand Up @@ -345,9 +345,13 @@ protected List<DropDownMenuItem> getRepositoryFilterItems(PageParameters params)
protected List<DropDownMenuItem> getTimeFilterItems(PageParameters params) {
// days back choices - additive parameters
int daysBack = GitBlit.getInteger(Keys.web.activityDuration, 7);
int maxDaysBack = GitBlit.getInteger(Keys.web.activityDurationMaximum, 30);
if (daysBack < 1) {
daysBack = 7;
}
if (daysBack > maxDaysBack) {
daysBack = maxDaysBack;
}
PageParameters clonedParams;
if (params == null) {
clonedParams = new PageParameters();
Expand Down Expand Up @@ -397,6 +401,7 @@ protected List<RepositoryModel> getRepositories(PageParameters params) {
String regex = WicketUtils.getRegEx(params);
String team = WicketUtils.getTeam(params);
int daysBack = params.getInt("db", 0);
int maxDaysBack = GitBlit.getInteger(Keys.web.activityDurationMaximum, 30);

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

// time-filter the list
if (daysBack > 0) {
if (maxDaysBack > 0 && daysBack > maxDaysBack) {
daysBack = maxDaysBack;
}
Calendar cal = Calendar.getInstance();
cal.set(Calendar.HOUR_OF_DAY, 0);
cal.set(Calendar.MINUTE, 0);
Expand Down

0 comments on commit 13208e8

Please sign in to comment.