- Timestamp:
- 05/19/10 23:38:22 (14 years ago)
- Location:
- branches/1
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/1/lib/Vote/Controller/Newpoll.pm
r155 r304 32 32 $c->stash->{page}{title} = 'Créer un nouveau vote'; 33 33 if ($c->req->param('mail')) { 34 $c->model('Vote')->create_poll_request( 35 mail => $c->req->param('mail'), 36 url => $c->uri_for('/newpoll'), 37 label => $c->req->param('label'), 38 ); 39 $c->stash->{template} = 'newpoll/request.tt'; 34 if ($c->config->{newpollpasswd}) { 35 if (($c->req->param('passwd') || '') eq $c->config->{newpollpasswd}) 36 { 37 if (my $pid = $c->model('Vote')->create_poll( 38 $c->req->param('label'), 39 $c->req->param('mail'), 40 $c->req->param('vpasswd'), 41 ) 42 ) { 43 $c->res->redirect($c->uri_for('/admin', $pid)); 44 } 45 } else { 46 $c->stash->{passwderror} = 1; 47 } 48 } else { 49 $c->model('Vote')->create_poll_request( 50 mail => $c->req->param('mail'), 51 url => $c->uri_for('/newpoll'), 52 label => $c->req->param('label'), 53 ); 54 $c->stash->{template} = 'newpoll/request.tt'; 55 } 40 56 } 41 57 -
branches/1/lib/Vote/Model/Vote.pm
r303 r304 893 893 } 894 894 895 sub poll_from_request { 896 my ($self, $rid, $passwd) = @_; 897 my $rinfo = $self->poll_request_info($rid) or return; 898 895 sub create_poll { 896 my ($self, $label, $mail, $passwd) = @_; 897 898 my $newpollid = $self->_create_poll($label, $mail, $passwd) or return; 899 $self->db->commit; 900 901 $newpollid; 902 } 903 904 sub _create_poll { 905 my ($self, $label, $mail, $passwd) = @_; 906 899 907 my $encpasswd = $self->gen_enc_passwd($passwd); 900 908 … … 909 917 ); 910 918 911 $newpoll->execute($newpollid, $ rinfo->{label}, $rinfo->{mail}, $encpasswd);919 $newpoll->execute($newpollid, $label, $mail, $encpasswd); 912 920 # set some default 913 921 $self->vote_param($newpollid, 914 922 free_choice => 0, 915 923 choice_count => 1, 916 ); 924 ); 925 926 $newpollid; 927 } 928 929 sub poll_from_request { 930 my ($self, $rid, $passwd) = @_; 931 my $rinfo = $self->poll_request_info($rid) or return; 932 933 my $newpollid = $self->_create_poll( 934 $rinfo->{label}, $rinfo->{mail}, $passwd 935 ) or return; 917 936 918 937 my $delreq = $self->db->prepare_cached( -
branches/1/root/templates/newpoll/index.tt
r73 r304 8 8 <tr><th>votre mail:</th><td><input type="text" name="mail" tabindex="1" size="45" maxlength="150"></td></tr> 9 9 <tr><th>nom du vote:</th><td><input type="text" name="label" tabindex="2" size="45" maxlength="150"></td></tr> 10 [% IF c.config.newpollpasswd %] 11 <tr><th>mot de passe pour ce vote:</th><td><input type="password" name="vpasswd" tabindex="3"></td></tr> 12 [% IF passwderror %] 13 <tr><td colspan="2" class="alert"> 14 Mot de passe site invalide 15 </td></tr> 16 [% END %] 17 <tr><th>mot de passe site:</th><td><input type="password" name="passwd" tabindex="4"></td></tr> 18 [% END %] 10 19 <!-- Cf http://forge.ipsl.jussieu.fr/epoll/ticket/1 11 20 <tr><th>mot de passe:</th><td><input type="password" name="vpasswd"></td></tr>
Note: See TracChangeset
for help on using the changeset viewer.