Changeset 14


Ignore:
Timestamp:
03/06/09 18:03:16 (15 years ago)
Author:
nanardon
Message:
  • check already voted
Location:
trunk/lib/Vote
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/lib/Vote/Controller/Ballot.pm

    r13 r14  
    4141        return; 
    4242    } 
     43 
    4344    $c->session->{uid} = $uid; 
    4445    $c->session->{password} = $password; 
     46 
     47    # login succeed, but those this user has already voted 
     48    if (my $date = $c->model('Vote')->voting_has_sign($id, $uid)) { 
     49        $c->stash->{uid} = $c->session->{uid}; 
     50        $c->stash->{template} = 'ballot/signed.tt'; 
     51        $c->stash->{signed_date} = $date; 
     52        $c->delete_session('invalid user/pass'); 
     53        return; 
     54    } 
    4555 
    4656    my $vote = $c->model('Vote'); 
  • trunk/lib/Vote/Model/Vote.pm

    r13 r14  
    250250} 
    251251 
     252sub voting_has_sign { 
     253    my ($self, $poll, $user) = @_; 
     254 
     255    my $sth = $self->db->prepare_cached( 
     256        q{ 
     257        select date from signing join voting 
     258        on voting.key = signing.key 
     259        where poll = ? and id = ? 
     260        } 
     261    ); 
     262 
     263    $sth->execute($poll, $user); 
     264    my $res = $sth->fetchrow_hashref; 
     265    $sth->finish; 
     266    return $res->{date} 
     267} 
     268 
    252269# Requete de decompte des voix: 
    253270 
Note: See TracChangeset for help on using the changeset viewer.