Changeset 30
- Timestamp:
- 03/14/09 20:32:57 (15 years ago)
- Location:
- trunk
- Files:
-
- 2 added
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/lib/Vote/Model/Vote.pm
r29 r30 136 136 my $sth = $self->db->prepare_cached( 137 137 q{ 138 select start > now() as before,138 select (start > now() or start is null) as before, 139 139 "end" < now() as after 140 140 from poll … … 696 696 } 697 697 698 sub poll_request_info { 699 my ($self, $rid) = @_; 700 701 my $sth = $self->db->prepare_cached( 702 q{select * from poll_request where id = ?} 703 ); 704 705 $sth->execute($rid); 706 my $res = $sth->fetchrow_hashref; 707 $sth->finish; 708 $res 709 } 710 711 sub poll_from_request { 712 my ($self, $rid, $passwd) = @_; 713 my $rinfo = $self->poll_request_info($rid) or return; 714 715 my $encpasswd = $self->gen_enc_passwd($passwd); 716 717 my $getpollid = $self->db->prepare_cached( 718 q{select nextval('poll_id_seq')} 719 ); 720 $getpollid->execute(); 721 my $newpollid = $getpollid->fetchrow_hashref->{nextval}; 722 723 my $newpoll = $self->db->prepare_cached( 724 q{insert into poll (id, label, owner, password) values (?,?,?,?)} 725 ); 726 727 $newpoll->execute($newpollid, $rinfo->{label}, $rinfo->{mail}, $encpasswd); 728 729 my $delreq = $self->db->prepare_cached( 730 q{delete from poll_request where id = ?} 731 ); 732 733 $delreq->execute($rid); 734 $self->db->commit; 735 736 $newpollid 737 } 738 739 sub create_poll_request { 740 my ($self, %info) = @_; 741 742 $info{mail} or return; 743 my $addreq = $self->db->prepare_cached( 744 q{insert into poll_request (id, label, mail) values (?,?,?)} 745 ); 746 747 my $reqid = gen_uid; 748 749 $addreq->execute($reqid, $info{label}, $info{mail}); 750 my $mailer = new Mail::Mailer 'smtp', Server => 'mailhost'; 751 $mailer->open({ 752 From => 'Voting system <nomail@nomail.com>', 753 To => $info{mail}, 754 Subject => 'Votre nouveau vote', 755 }); 756 print $mailer <<EOF; 757 758 Vous avez demandez la création d'un nouveau vote: 759 $info{label} 760 761 Pour valider votre demande, veuiller allez visitez la page: 762 $info{url}/$reqid 763 764 A bientot 765 EOF 766 $mailer->close; 767 $self->db->commit; 768 1; 769 } 770 698 771 =head1 AUTHOR 699 772
Note: See TracChangeset
for help on using the changeset viewer.