Changeset 29 for trunk


Ignore:
Timestamp:
03/14/09 18:49:17 (15 years ago)
Author:
nanardon
Message:
  • admin cannit make ballot as valid/invalid
Location:
trunk
Files:
3 edited

Legend:

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

    r28 r29  
    3030    my ( $self, $c, undef, $id ) = @_; 
    3131    $c->stash->{voteid} = $id; 
     32    my $vote = $c->model('Vote'); 
    3233 
    33     # can't modify vote after date 
    34     if ($c->model('Vote')->vote_status($id) ne 'BEFORE') { 
     34    if ($vote->vote_status($id) eq 'BEFORE') { 
     35        if (my ($upload) = $c->req->upload('votinglist')) { 
     36            $vote->voting_from_file( 
     37                $id, 
     38                $upload->fh, 
     39                $c->req->param('delete'), 
     40            ) and $vote->db->commit; 
     41        } elsif ($c->req->param('addch')) { 
     42            $vote->vote_add_choice($id, $c->req->param('addch')) 
     43                and $vote->db->commit; 
     44        } elsif ($c->req->param('delch')) { 
     45            $vote->delete_choice($c->req->param('delch')) 
     46                and $vote->db->commit; 
     47        } elsif ($c->req->param('label')) { 
     48            $vote->vote_param( 
     49                $id, 
     50                map { $_ => ($c->req->param($_) || undef) } 
     51                qw(label description start end choice_count free_choice) 
     52            ) and $vote->db->commit; 
     53        } elsif($c->req->param('delvoting')) { 
     54            $vote->delete_voting($c->req->param('delvoting')) 
     55                and $vote->db->commit; 
     56        } elsif ($c->req->param('mail')) { 
     57            $vote->addupd_voting($id, $c->req->param('id'), $c->req->param('mail')) 
     58                and $vote->db->commit; 
     59        } elsif($c->req->param('mailpasswd')) { 
     60            $vote->mail_passwd_ifnul($id); 
     61        } 
     62    } elsif ($vote->vote_status($id) eq 'AFTER') { 
     63        foreach my $bid ($vote->list_vote_ballot_needvalid($id)) { 
     64            if (!$c->req->param($bid)) { 
     65                next; 
     66            } elsif($c->req->param($bid) eq 'invalid') { 
     67                $vote->mark_ballot_invalid($bid, 1); 
     68                $vote->db->commit; 
     69            } elsif($c->req->param($bid) eq 'valid') { 
     70                $vote->mark_ballot_invalid($bid, 0); 
     71                $vote->db->commit; 
     72            } 
     73        } 
     74    } else { 
     75        # can't modify vote after date 
    3576        $c->stash->{template} = 'admin/denied.tt'; 
    3677        return; 
    3778    } 
    3879 
    39     my $vote = $c->model('Vote'); 
    40     if (my ($upload) = $c->req->upload('votinglist')) { 
    41         $vote->voting_from_file( 
    42             $id, 
    43             $upload->fh, 
    44             $c->req->param('delete'), 
    45         ) and $vote->db->commit; 
    46     } elsif ($c->req->param('addch')) { 
    47         $vote->vote_add_choice($id, $c->req->param('addch')) 
    48             and $vote->db->commit; 
    49     } elsif ($c->req->param('delch')) { 
    50         $vote->delete_choice($c->req->param('delch')) 
    51             and $vote->db->commit; 
    52     } elsif ($c->req->param('label')) { 
    53         $vote->vote_param( 
    54             $id, 
    55             map { $_ => ($c->req->param($_) || undef) } 
    56             qw(label description start end choice_count free_choice) 
    57         ) and $vote->db->commit; 
    58     } elsif($c->req->param('delvoting')) { 
    59         $vote->delete_voting($c->req->param('delvoting')) 
    60             and $vote->db->commit; 
    61     } elsif ($c->req->param('mail')) { 
    62         $vote->addupd_voting($id, $c->req->param('id'), $c->req->param('mail')) 
    63             and $vote->db->commit; 
    64     } elsif($c->req->param('mailpasswd')) { 
    65         $vote->mail_passwd_ifnul($id); 
    66     } 
    6780} 
    6881 
  • trunk/lib/Vote/Model/Vote.pm

    r28 r29  
    574574} 
    575575 
     576sub mark_ballot_invalid { 
     577    my ($self, $ballotid, $invalid) = @_; 
     578 
     579    my $sth = $self->db->prepare_cached( 
     580        q{update ballot set invalid = ? where id = ?} 
     581    ); 
     582 
     583    $sth->execute($invalid ? 't' : 'f', $ballotid); 
     584} 
     585 
    576586sub ballot_items { 
    577587    my ($self, $ballotid) = @_; 
  • trunk/root/templates/admin/default.tt

    r28 r29  
    11[% vote = c.model('Vote') %] 
    22 
     3[% IF vote.vote_status(voteid) == 'BEFORE' %] 
    34<table border="1"> 
    45<tr><th>Vote</th><th>Possibilité de vote</th></tr> 
     
    8182</tr> 
    8283</table> 
    83 </t 
     84 
     85[% ELSE %] 
     86 
     87[% FOREACH bid = vote.list_vote_ballot_needvalid(voteid) %] 
     88    [% IF loop.first %] 
     89    <form action="[% c.uri_for(voteid) %]"> 
     90    <table border="1"> 
     91    [% END %] 
     92<tr> 
     93<td>[% bid %]</td> 
     94<td> 
     95[% FOREACH item = [ vote.ballot_items(bid) ] %] 
     96[% item.v %]<br> 
     97[% END %] 
     98</td> 
     99<td> 
     100<input type="radio" name="[% bid %]" value="valid">est valide<br> 
     101<input type="radio" name="[% bid %]" value="invalid">n'est pas valide<br> 
     102</td> 
     103</tr> 
     104    [% IF loop.last %] 
     105    </table> 
     106    <input type="submit"> 
     107    </form> 
     108    [% END %] 
     109[% END %] 
     110[% END %] 
Note: See TracChangeset for help on using the changeset viewer.