summaryrefslogtreecommitdiff
path: root/rt/lib/RT/Config.pm
diff options
context:
space:
mode:
Diffstat (limited to 'rt/lib/RT/Config.pm')
-rw-r--r--rt/lib/RT/Config.pm80
1 files changed, 58 insertions, 22 deletions
diff --git a/rt/lib/RT/Config.pm b/rt/lib/RT/Config.pm
index 656741c..7d9fbf3 100644
--- a/rt/lib/RT/Config.pm
+++ b/rt/lib/RT/Config.pm
@@ -2,7 +2,7 @@
#
# COPYRIGHT:
#
-# This software is Copyright (c) 1996-2016 Best Practical Solutions, LLC
+# This software is Copyright (c) 1996-2017 Best Practical Solutions, LLC
# <sales@bestpractical.com>
#
# (Except where explicitly superseded by other copyright notices)
@@ -143,6 +143,14 @@ can be set for each config optin:
our %META;
%META = (
# General user overridable options
+ RestrictReferrerLogin => {
+ PostLoadCheck => sub {
+ my $self = shift;
+ if (defined($self->Get('RestrictReferrerLogin'))) {
+ RT::Logger->error("The config option 'RestrictReferrerLogin' is incorrect, and should be 'RestrictLoginReferrer' instead.");
+ }
+ },
+ },
DefaultQueue => {
Section => 'General',
Overridable => 1,
@@ -307,23 +315,42 @@ our %META;
Hints => 'Only for entry, not display', #loc
},
},
+ RefreshIntervals => {
+ Type => 'ARRAY',
+ PostLoadCheck => sub {
+ my $self = shift;
+ my @intervals = $self->Get('RefreshIntervals');
+ if (grep { $_ == 0 } @intervals) {
+ $RT::Logger->warning("Please do not include a 0 value in RefreshIntervals, as that default is already added for you.");
+ }
+ },
+ },
SearchResultsRefreshInterval => {
Section => 'General', #loc
Overridable => 1,
SortOrder => 9,
Widget => '/Widgets/Form/Select',
WidgetArguments => {
- Description => 'Search results refresh interval', #loc
- Values => [qw(0 120 300 600 1200 3600 7200)],
- ValuesLabel => {
- 0 => "Don't refresh search results.", #loc
- 120 => "Refresh search results every 2 minutes.", #loc
- 300 => "Refresh search results every 5 minutes.", #loc
- 600 => "Refresh search results every 10 minutes.", #loc
- 1200 => "Refresh search results every 20 minutes.", #loc
- 3600 => "Refresh search results every 60 minutes.", #loc
- 7200 => "Refresh search results every 120 minutes.", #loc
- },
+ Description => 'Search results refresh interval', #loc
+ Callback => sub {
+ my @values = RT->Config->Get('RefreshIntervals');
+ my %labels = (
+ 0 => "Don't refresh search results.", # loc
+ );
+
+ for my $value (@values) {
+ if ($value % 60 == 0) {
+ $labels{$value} = ['Refresh search results every [quant,_1,minute,minutes].', $value / 60]; # loc
+ }
+ else {
+ $labels{$value} = ['Refresh search results every [quant,_1,second,seconds].', $value]; # loc
+ }
+ }
+
+ unshift @values, 0;
+
+ return { Values => \@values, ValuesLabel => \%labels };
+ },
},
},
@@ -335,16 +362,25 @@ our %META;
Widget => '/Widgets/Form/Select',
WidgetArguments => {
Description => 'Home page refresh interval', #loc
- Values => [qw(0 120 300 600 1200 3600 7200)],
- ValuesLabel => {
- 0 => "Don't refresh home page.", #loc
- 120 => "Refresh home page every 2 minutes.", #loc
- 300 => "Refresh home page every 5 minutes.", #loc
- 600 => "Refresh home page every 10 minutes.", #loc
- 1200 => "Refresh home page every 20 minutes.", #loc
- 3600 => "Refresh home page every 60 minutes.", #loc
- 7200 => "Refresh home page every 120 minutes.", #loc
- },
+ Callback => sub {
+ my @values = RT->Config->Get('RefreshIntervals');
+ my %labels = (
+ 0 => "Don't refresh home page.", # loc
+ );
+
+ for my $value (@values) {
+ if ($value % 60 == 0) {
+ $labels{$value} = ['Refresh home page every [quant,_1,minute,minutes].', $value / 60]; # loc
+ }
+ else {
+ $labels{$value} = ['Refresh home page every [quant,_1,second,seconds].', $value]; # loc
+ }
+ }
+
+ unshift @values, 0;
+
+ return { Values => \@values, ValuesLabel => \%labels };
+ },
},
},