Changeset 28
- Timestamp:
- 03/14/09 16:02:04 (15 years ago)
- Location:
- trunk
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/lib/Vote/Controller/Admin.pm
r23 r28 62 62 $vote->addupd_voting($id, $c->req->param('id'), $c->req->param('mail')) 63 63 and $vote->db->commit; 64 } elsif($c->req->param('mailpasswd')) { 65 $vote->mail_passwd_ifnul($id); 64 66 } 65 67 } -
trunk/lib/Vote/Model/Vote.pm
r27 r28 6 6 use Vote; 7 7 use DBI; 8 use Mail::Mailer; 8 9 9 10 =head1 NAME … … 637 638 638 639 sub mail_passwd_ifnul { 639 my ($self, $voteid ) = @_;640 my ($self, $voteid, $mailinfo) = @_; 640 641 641 642 my $list_voting = $self->db->prepare_cached( 642 q{select key from voting where poll = ? and passwd is null }643 q{select key from voting where poll = ? and passwd is null or passwd = ''} 643 644 ); 644 645 645 646 $list_voting->execute($voteid); 646 647 while (my $res = $list_voting->fetchrow_hashref) { 647 $self->mail_voting_passwd($res->{key} );648 $self->mail_voting_passwd($res->{key}, $mailinfo); 648 649 } 649 650 } 650 651 651 652 sub mail_voting_passwd { 652 my ($self, $id ) = @_;653 my ($self, $id, $mailinfo) = @_; 653 654 654 655 my $vinfo = $self->voting_info($id) or return; 655 656 656 my $voteinfo = $self->vote_info($vinfo->{poll}); 657 658 my $passwd = random_string(8); 659 my $encpasswd = $self->gen_enc_passwd($passwd); 660 661 my $upd_voting = $self->db->prepare_cached( 662 q{update voting set passwd = ? where key = ?} 663 ); 664 665 $upd_voting->execute($encpasswd, $id); 666 667 # TODO complete this properly: 668 my $mailer = new Mail::Mailer 'smtp', Server => 'mailhost'; 669 $mailer->open({ 670 From => 'Voting system <nomail@nomail.com>', 671 To => $vinfo->{mail}, 672 Subject => 'Vote passwd', 673 }); 674 print $mailer <<EOF; 675 Vous êtes convié à voter: 676 $voteinfo->{label} 677 678 Votre identifiant est: $vinfo->{id} 679 Votre mot de passe est: $passwd 680 681 Cordialement. 682 EOF 683 $mailer->close; 684 685 $self->db->commit; 657 686 } 658 687 -
trunk/root/templates/admin/default.tt
r23 r28 57 57 <input type="hidden" name="delvoting" value="[% voting.vkey %]"> 58 58 [% voting.id | html %] [% voting.mail | html %] 59 [% IF voting.passwd %]<i>(pass envoyé)</i>[% END %] 59 60 <input type="submit" name="delete" value="delete"><br> 60 61 </form> … … 73 74 <input type="submit"> 74 75 </form> 76 <hr> 77 <form action="[% c.uri_for(voteid) %]"> 78 <input type="submit" name="mailpasswd" value="Envoyer les mot de passe"> 79 </form> 75 80 </td> 76 81 </tr>
Note: See TracChangeset
for help on using the changeset viewer.