X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=rt%2Flib%2FRT%2FConfig.pm;h=23441934f2e86e321faa09ee6893f49a08994084;hb=0ea23112cfa0d82738b0f08d60d90579721b7524;hp=cc47df35adf2edcb3b0f143b213915003121ac18;hpb=43a06151e47d2c59b833cbd8c26d97865ee850b6;p=freeside.git diff --git a/rt/lib/RT/Config.pm b/rt/lib/RT/Config.pm index cc47df35a..23441934f 100644 --- a/rt/lib/RT/Config.pm +++ b/rt/lib/RT/Config.pm @@ -2,7 +2,7 @@ # # COPYRIGHT: # -# This software is Copyright (c) 1996-2012 Best Practical Solutions, LLC +# This software is Copyright (c) 1996-2014 Best Practical Solutions, LLC # # # (Except where explicitly superseded by other copyright notices) @@ -209,10 +209,11 @@ our %META = ( $RT::Logger->warning( "The default stylesheet ($value) does not exist in this instance of RT. " - . "Defaulting to aileron." + . "Defaulting to freeside3." ); - $self->Set('WebDefaultStylesheet', 'aileron'); + #$self->Set('WebDefaultStylesheet', 'aileron'); + $self->Set('WebDefaultStylesheet', 'freeside3'); }, }, UseSideBySideLayout => { @@ -302,15 +303,6 @@ our %META = ( }, # User overridable options for RT at a glance - DefaultSummaryRows => { - Section => 'RT at a glance', #loc - Overridable => 1, - SortOrder => 1, - Widget => '/Widgets/Form/Integer', - WidgetArguments => { - Description => 'Number of search results', #loc - }, - }, HomePageRefreshInterval => { Section => 'RT at a glance', #loc Overridable => 1, @@ -410,8 +402,8 @@ our %META = ( Description => q|What tickets to display in the 'More about requestor' box|, #loc Values => [qw(Active Inactive All None)], ValuesLabel => { - Active => "Show the Requestor's 10 highest priority open tickets", #loc - Inactive => "Show the Requestor's 10 highest priority closed tickets", #loc + Active => "Show the Requestor's 10 highest priority active tickets", #loc + Inactive => "Show the Requestor's 10 highest priority inactive tickets", #loc All => "Show the Requestor's 10 highest priority tickets", #loc None => "Show no tickets for the Requestor", #loc }, @@ -445,10 +437,13 @@ our %META = ( Description => 'Date format', #loc Callback => sub { my $ret = { Values => [], ValuesLabel => {}}; my $date = RT::Date->new($HTML::Mason::Commands::session{'CurrentUser'}); - $date->Set; + $date->SetToNow; foreach my $value ($date->Formatters) { push @{$ret->{Values}}, $value; - $ret->{ValuesLabel}{$value} = $date->$value(); + $ret->{ValuesLabel}{$value} = $date->Get( + Format => $value, + Timezone => 'user', + ); } return $ret; }, @@ -620,6 +615,7 @@ our %META = ( } } }, + ReferrerWhitelist => { Type => 'ARRAY' }, ResolveDefaultUpdateType => { PostLoadCheck => sub { my $self = shift; @@ -747,7 +743,7 @@ our %META = ( my %seen; foreach my $encoding ( grep defined && length, splice @$value ) { - next if $seen{ $encoding }++; + next if $seen{ $encoding }; if ( $encoding eq '*' ) { unshift @$value, '*'; next; @@ -1213,7 +1209,7 @@ sub SetFromConfig { # if the entry has a trailing '::' then # it is a link to another name space if ( substr( $k, -2 ) eq '::') { - $name = $self->__GetNameByRef( $ref, $k ); + $name = $self->__GetNameByRef( $ref, $pack eq 'main::'? $k : $pack.$k ); return $name if $name; } @@ -1223,18 +1219,27 @@ sub SetFromConfig { my $entry = ${$pack}{$k}; next unless $entry; - # get entry for type we are looking for - # XXX skip references to scalars or other references. - # Otherwie 5.10 goes boom. maybe we should skip any - # reference - next if ref($entry) eq 'SCALAR' || ref($entry) eq 'REF'; - my $entry_ref = *{$entry}{ ref($ref) }; + # Inlined constants are simplified in the symbol table -- + # namely, when possible, you only get a reference back in + # $entry, rather than a full GLOB. In 5.10, scalar + # constants began being inlined this way; starting in 5.20, + # list constants are also inlined. Notably, ref(GLOB) is + # undef, but inlined constants are currently either REF, + # SCALAR, or ARRAY. + next if ref($entry); + + my $ref_type = ref($ref); + + # regex/arrayref/hashref/coderef are stored in SCALAR glob + $ref_type = 'SCALAR' if $ref_type eq 'REF'; + + my $entry_ref = *{$entry}{ $ref_type }; next unless $entry_ref; # if references are equal then we've found if ( $entry_ref == $ref ) { $last_pack = $pack; - return ( $REF_SYMBOLS{ ref($ref) } || '*' ) . $pack . $k; + return ( $REF_SYMBOLS{ $ref_type } || '*' ) . $pack . $k; } } return '';