From 13208e8c3b34c321b470aa181b705f78fcc09c5f Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Mon, 12 Aug 2013 08:44:33 -0400 Subject: [PATCH] Merge pull request #111 from atdt/master --- src/main/java/com/gitblit/wicket/pages/BasePage.java | 4 ++++ src/main/java/com/gitblit/wicket/pages/MyDashboardPage.java | 4 ++++ releases.moxie | 6 +++++- src/main/distrib/data/gitblit.properties | 5 +++++ src/main/java/com/gitblit/wicket/pages/RootPage.java | 8 ++++++++ 5 files changed, 26 insertions(+), 1 deletions(-) diff --git a/releases.moxie b/releases.moxie index fcbdb7b..fea4499 100644 --- a/releases.moxie +++ b/releases.moxie @@ -18,11 +18,15 @@ - 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 } } # diff --git a/src/main/distrib/data/gitblit.properties b/src/main/distrib/data/gitblit.properties index 7f2f8b4..770bd39 100644 --- a/src/main/distrib/data/gitblit.properties +++ b/src/main/distrib/data/gitblit.properties @@ -882,6 +882,11 @@ # 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 diff --git a/src/main/java/com/gitblit/wicket/pages/BasePage.java b/src/main/java/com/gitblit/wicket/pages/BasePage.java index c9e11b0..2bab118 100644 --- a/src/main/java/com/gitblit/wicket/pages/BasePage.java +++ b/src/main/java/com/gitblit/wicket/pages/BasePage.java @@ -325,6 +325,7 @@ 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>(); @@ -372,6 +373,9 @@ // 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); diff --git a/src/main/java/com/gitblit/wicket/pages/MyDashboardPage.java b/src/main/java/com/gitblit/wicket/pages/MyDashboardPage.java index 32c128d..0768b2a 100644 --- a/src/main/java/com/gitblit/wicket/pages/MyDashboardPage.java +++ b/src/main/java/com/gitblit/wicket/pages/MyDashboardPage.java @@ -96,9 +96,13 @@ // 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(); diff --git a/src/main/java/com/gitblit/wicket/pages/RootPage.java b/src/main/java/com/gitblit/wicket/pages/RootPage.java index 7739e6d..a81d63f 100644 --- a/src/main/java/com/gitblit/wicket/pages/RootPage.java +++ b/src/main/java/com/gitblit/wicket/pages/RootPage.java @@ -345,8 +345,12 @@ 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) { @@ -397,6 +401,7 @@ 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>(); @@ -487,6 +492,9 @@ // 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); -- Gitblit v1.9.1