X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=rt%2Flib%2FRT%2FCurrentUser.pm;h=c11d460311113d35fc554d571a99dc661b9fcc21;hb=b8988e1d3ac75af63c85e8563e57701030315a9e;hp=127116bdd1cebb24c564048fa1f04c06f1e9be14;hpb=fc6209f398899f0211cfcedeb81a3cd65e04a941;p=freeside.git diff --git a/rt/lib/RT/CurrentUser.pm b/rt/lib/RT/CurrentUser.pm index 127116bdd..c11d46031 100755 --- a/rt/lib/RT/CurrentUser.pm +++ b/rt/lib/RT/CurrentUser.pm @@ -2,7 +2,7 @@ # # COPYRIGHT: # -# This software is Copyright (c) 1996-2011 Best Practical Solutions, LLC +# This software is Copyright (c) 1996-2014 Best Practical Solutions, LLC # # # (Except where explicitly superseded by other copyright notices) @@ -55,7 +55,7 @@ use RT::CurrentUser; # laod - my $current_user = new RT::CurrentUser; + my $current_user = RT::CurrentUser->new; $current_user->Load(...); # or my $current_user = RT::CurrentUser->new( $user_obj ); @@ -93,6 +93,7 @@ use RT::I18N; use strict; use warnings; + use base qw/RT::User/; #The basic idea here is that $self->CurrentUser is always supposed @@ -160,9 +161,7 @@ sub UserObj { my $user = RT::User->new( $self ); unless ( $user->LoadById( $self->Id ) ) { - $RT::Logger->error( - $self->loc("Couldn't load [_1] from the users database.\n", $self->Id) - ); + $RT::Logger->error("Couldn't load " . $self->Id . " from the users database."); } return $user; } @@ -219,7 +218,7 @@ sub LanguageHandle { if ( my $lang = $self->Lang ) { push @_, $lang; } - elsif ( $self->id && ($self->id == ($RT::SystemUser->id||0) || $self->id == ($RT::Nobody->id||0)) ) { + elsif ( $self->id && ($self->id == (RT->SystemUser->id||0) || $self->id == (RT->Nobody->id||0)) ) { # don't use ENV magic for system users push @_, 'en'; } @@ -241,9 +240,12 @@ sub loc { my $handle = $self->LanguageHandle; if (@_ == 1) { - # pre-scan the lexicon hashes to return _AUTO keys verbatim, - # to keep locstrings containing '[' and '~' from tripping over Maketext - return $_[0] unless grep exists $_->{$_[0]}, @{ $handle->_lex_refs }; + # If we have no [_1] replacements, and the key does not appear + # in the lexicon, unescape (using ~) and return it verbatim, as + # an optimization. + my $unescaped = $_[0]; + $unescaped =~ s!~(.)!$1!g; + return $unescaped unless grep exists $_->{$_[0]}, @{ $handle->_lex_refs }; } return $handle->maketext(@_); @@ -266,9 +268,7 @@ Return the current currentuser object =cut sub CurrentUser { - my $self = shift; - return($self); - + return shift; } =head2 Authenticate @@ -311,9 +311,6 @@ sub Authenticate { return ($password eq $auth_digest); } -eval "require RT::CurrentUser_Vendor"; -die $@ if ($@ && $@ !~ qr{^Can't locate RT/CurrentUser_Vendor.pm}); -eval "require RT::CurrentUser_Local"; -die $@ if ($@ && $@ !~ qr{^Can't locate RT/CurrentUser_Local.pm}); +RT::Base->_ImportOverlays(); 1;