Changeset 23
- Timestamp:
- 03/11/09 03:34:27 (15 years ago)
- Location:
- trunk
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/lib/Vote/Controller/Admin.pm
r22 r23 50 50 $vote->delete_choice($c->req->param('delch')) 51 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; 52 64 } 53 65 } -
trunk/lib/Vote/Model/Vote.pm
r22 r23 95 95 } 96 96 97 sub vote_param { 98 my ($self, $voteid, %attr) = @_; 99 100 keys %attr or return; 101 102 my $sth = $self->db->prepare_cached( 103 q{update poll set } . 104 join(',', map { qq("$_" = ?) } sort keys %attr) . 105 q{ where id = ?} 106 ); 107 $sth->execute((map { $attr{$_} } sort keys %attr), $voteid) 108 or $self->db->rollback; 109 } 110 97 111 sub vote_status { 98 112 my ($self, $id) = @_; … … 139 153 my $sth = $self->db->prepare_cached( 140 154 q{ 141 select * from voting left join signing155 select *, voting.key as vkey from voting left join signing 142 156 on signing.key = voting.key 143 157 where poll = ? order by voting.id … … 150 164 } 151 165 @people 166 } 167 168 sub vote_voting { 169 my ($self, $id) = @_; 170 171 my $sth = $self->db->prepare_cached( 172 q{ 173 select key from voting 174 where poll = ? order by voting.id 175 } 176 ); 177 $sth->execute($id); 178 my @people; 179 while (my $res = $sth->fetchrow_hashref) { 180 push(@people, $res->{key}); 181 } 182 @people 183 } 184 185 sub voting_info { 186 my ($self, $id) = @_; 187 188 my $sth = $self->db->prepare_cached( 189 q{ 190 select *, voting.key as vkey from voting left join signing 191 on signing.key = voting.key 192 where voting.key = ? 193 } 194 ); 195 $sth->execute($id); 196 197 my $res = $sth->fetchrow_hashref; 198 $sth->finish; 199 $res 152 200 } 153 201 … … 509 557 $add->execute($voteid, $id, $mail); 510 558 } 559 } 560 561 sub delete_voting { 562 my ($self, $key) = @_; 563 564 my $sth = $self->db->prepare_cached( 565 q{delete from voting where key = ?} 566 ); 567 568 $sth->execute($key); 511 569 } 512 570 -
trunk/root/templates/admin/default.tt
r22 r23 51 51 <tr> 52 52 <td valign="TOP"> 53 [% signing = [ vote.vote_signing(voteid) ] %] 54 [% FOREACH voting = signing %] 55 [% voting.id | html %] [% voting.mail | html %]<br> 53 [% signing = vote.vote_voting(voteid) %] 54 [% FOREACH thisvoting = signing %] 55 [% voting = vote.voting_info(thisvoting) %] 56 <form action="[% c.uri_for(voteid) %]"> 57 <input type="hidden" name="delvoting" value="[% voting.vkey %]"> 58 [% voting.id | html %] [% voting.mail | html %] 59 <input type="submit" name="delete" value="delete"><br> 60 </form> 56 61 [% END %] 57 62 </td>
Note: See TracChangeset
for help on using the changeset viewer.