Changeset 434 for trunk


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
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • trunk/lib/Epoll/Controller/Admin.pm

    r393 r434  
    2121 
    2222=cut 
    23  
    24 sub begin : Private { 
    25     my ( $self, $c, @args ) = @_; 
    26     $c->model('Vote')->rollback; 
    27 } 
    2823 
    2924sub index : Private { 
     
    384379    elsif ($c->stash->{ajax}) { $c->forward(qw/Epoll::View::Ajax/) } 
    385380    else { $c->forward(qw/Epoll::View::TT/) } 
     381    $c->model('Vote')->rollback; 
    386382} 
    387383 
  • trunk/lib/Epoll/Controller/Ballot.pm

    r369 r434  
    2121 
    2222=cut 
    23  
    24 sub begin : Private { 
    25     my ( $self, $c ) = @_; 
    26     $c->model('Vote')->rollback; 
    27 } 
    2823 
    2924sub index : Private { 
     
    147142    if ($c->res->body) { return } 
    148143    else { $c->forward(qw/Epoll::View::TT/) } 
     144    $c->model('Vote')->rollback; 
    149145} 
    150146 
  • trunk/lib/Epoll/Controller/Newpoll.pm

    r393 r434  
    2121 
    2222=cut 
    23  
    24 sub begin : Private { 
    25     my ( $self, $c ) = @_; 
    26     $c->model('Vote')->rollback; 
    27     $c->model('Vote')->clean_old_poll_request and $c->model('Vote')->commit; 
    28 } 
    2923 
    3024sub index : Private { 
     
    10195    if ($c->res->body) { return } 
    10296    else { $c->forward(qw/Epoll::View::TT/) } 
     97    $c->model('Vote')->rollback; 
     98    $c->model('Vote')->clean_old_poll_request and $c->model('Vote')->commit; 
    10399} 
    104100 
  • trunk/lib/Epoll/Controller/Root.pm

    r366 r434  
    3030    my ( $self, $c ) = @_; 
    3131    $c->model('Vote')->rollback; 
     32 
     33    my ($locale) = split(';', $c->req->header('Accept-Language') || ''); 
     34    if (my $plocale = ($c->req->param('locale')|| $c->session->{'locale'})) { 
     35        $c->session->{'locale'} = $locale = $plocale; 
     36    } 
     37    $c->languages($locale ? [ $locale ] : ''); 
     38    $c->stash->{locale} = $locale; 
    3239} 
    3340 
  • trunk/lib/Epoll/Controller/Vote.pm

    r242 r434  
    2121 
    2222=cut 
    23  
    24 sub begin : Private { 
    25     my ( $self, $c ) = @_; 
    26     $c->model('Vote')->rollback; 
    27 } 
    2823 
    2924sub index : Private { 
     
    6863    elsif ($c->stash->{latex}) { $c->forward(qw/Epoll::View::Latex/) } 
    6964    else { $c->forward(qw/Epoll::View::TT/) } 
     65    $c->model('Vote')->rollback; 
    7066} 
    7167 
  • 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); 
  • trunk/root/templates/admin/voters.tt

    r429 r434  
    3232[% IF poll.info.hend %] 
    3333<form action="[% c.uri_for(poll.uid, 'voters') %]" method="POST"> 
    34 [% l('Email language') %]: [% INCLUDE 'includes/locale_select.tt' %]<br> 
     34[% l('Email language') %]: [% INCLUDE 'includes/locale_select.tt' varname='mail_locale' %]<br> 
    3535<input type="submit" name="mailpasswd" value="[% l('Send password') %]"> 
    3636</form> 
  • trunk/root/templates/includes/locale_select.tt

    r340 r434  
    11<!-- $Id$ --> 
    22[% langs = [ 'fr', 'de' ] %] 
    3 <select name="locale"> 
     3<select name="[% varname || 'locale' %]"> 
    44    <option>C</option> 
    55[% FOREACH lang = langs.sort %] 
Note: See TracChangeset for help on using the changeset viewer.