X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=rt%2Flib%2FRT%2FConfig.pm;fp=rt%2Flib%2FRT%2FConfig.pm;h=7d9fbf33ab1b5240765777b39ddfd9e5159a223d;hp=656741ca971d811f4aa2bf9d08c9285cef0dc196;hb=de9d037528895f7151a9aead6724ce2df95f9586;hpb=b226bc6bd81f999176cdbfa53a799033ff0a0307 diff --git a/rt/lib/RT/Config.pm b/rt/lib/RT/Config.pm index 656741ca9..7d9fbf33a 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 # # # (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 }; + }, }, },