X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=rt%2Flib%2FRT%2FConfig.pm;h=ea8ad61abf9f38649b93388008a6268b246f39bc;hp=08844f50dc4e37dc5d6af538668d7090aa0f9ca4;hb=187086c479a09629b7d180eec513fb7657f4e291;hpb=9aee669886202be7035e6c6049fc71bc99dd3013 diff --git a/rt/lib/RT/Config.pm b/rt/lib/RT/Config.pm index 08844f50d..ea8ad61ab 100644 --- a/rt/lib/RT/Config.pm +++ b/rt/lib/RT/Config.pm @@ -2,7 +2,7 @@ # # COPYRIGHT: # -# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC +# This software is Copyright (c) 1996-2018 Best Practical Solutions, LLC # # # (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,48 @@ 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].', #loc + $value / 60 + ]; + } + else { + $labels{$value} = [ + 'Refresh search results every [quant,_1,second,seconds].', #loc + $value + ]; + } + } + + unshift @values, 0; + + return { Values => \@values, ValuesLabel => \%labels }; + }, }, }, @@ -335,16 +368,31 @@ 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].', #loc + $value / 60 + ]; + } + else { + $labels{$value} = [ + 'Refresh home page every [quant,_1,second,seconds].', #loc + $value + ]; + } + } + + unshift @values, 0; + + return { Values => \@values, ValuesLabel => \%labels }; + }, }, },