Changeset 434 for trunk/lib/Epoll/View


Ignore:
Timestamp:
10/07/10 03:47:16 (14 years ago)
Author:
nanardon
Message:
  • choosing locale for mail does not affect the global application
  • using generic way to setup locale, this also fix title set in perl code as locale are set before
Location:
trunk/lib/Epoll/View
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/lib/Epoll/View/Mail.pm

    r377 r434  
    2727    my ($self, $c, $template, $args) = @_; 
    2828 
    29     my ($locale) = split(';', $c->req->header('Accept-Language') || ''); 
    30     if (my $plocale = ($c->req->param('locale')|| $c->session->{'locale'})) { 
    31         $c->session->{'locale'} = $locale = $plocale; 
    32     } 
    33     $c->languages($locale ? [ $locale ] : ''); 
    34     $c->stash->{locale} = $locale; 
     29    # Backup locale, change it for mail 
     30    my $prev_language = $c->languages; 
     31    $c->languages([ $c->req->param('mail_locale') ]) 
     32        if($c->req->param('mail_locale')); 
    3533 
    3634    $ENV{MAILADDRESS} = $args->{From}; 
     
    4947    if ($@) { 
    5048        $c->stash->{mail_error} = $@; 
    51     }     
     49    } 
     50    # restore locale 
     51    $c->languages($prev_language); 
    5252} 
    5353 
  • trunk/lib/Epoll/View/TT.pm

    r281 r434  
    2929    my ($self, $c) = @_; 
    3030 
    31     my ($locale) = split(';', $c->req->header('Accept-Language') || ''); 
    32     if (my $plocale = ($c->req->param('locale')|| $c->session->{'locale'})) { 
    33         $c->session->{'locale'} = $locale = $plocale; 
    34     } 
    35     $c->languages($locale ? [ $locale ] : ''); 
    36     $c->stash->{locale} = $locale; 
    37  
    3831    $c->stash->{Epoll}{VERSION} = $Epoll::DB::VERSION; 
    3932    Catalyst::View::TT::process($self, $c); 
Note: See TracChangeset for help on using the changeset viewer.