Ignore:
Timestamp:
05/21/10 18:19:22 (14 years ago)
Author:
nanardon
Message:
  • add a new config option making poll creation limit by admin password instead mail confirmation (from branche/1)
Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk

  • trunk/lib/Epoll/Controller/Newpoll.pm

    r257 r307  
    3333    $c->stash->{page}{title} = 'Créer un nouveau vote'; 
    3434    if ($c->req->param('mail')) { 
    35         my $reqid = $c->model('Vote')->create_poll_request( 
    36             mail => $c->req->param('mail'), 
    37             label => $c->req->param('label'), 
    38         ); 
    39         $c->forward( 
    40             q'Epoll::View::Mail', 'render', 
    41             [ 'poll_request.tt', { 
    42                 To => $c->req->param('mail'), 
    43                 Subject => "New poll request", 
    44                 mail => { 
    45                     label => $c->req->param('label'), 
    46                     reqid => $reqid, 
     35        if ($c->config->{newpollpasswd}) { 
     36            if (($c->req->param('passwd') || '') eq $c->config->{newpollpasswd}) 
     37                { 
     38                    if (my $pid = $c->model('Vote')->create_poll( 
     39                            $c->req->param('label'), 
     40                            $c->req->param('mail'), 
     41                            $c->req->param('vpasswd'), 
     42                        ) 
     43                    ) { 
     44                        $c->session->{'vpass' . $pid} = $c->req->param('vpasswd'); # avoid auth on admin page 
     45                        $c->res->redirect($c->uri_for('/admin', 
     46                                $c->model('Vote')->poll_id_from_uid($pid)) 
     47                        ); 
     48                    } 
     49                } else { 
     50                    $c->stash->{passwderror} = 1; 
    4751                } 
    48             } ] 
    49         ); 
    50  
    51         $c->stash->{template} = 'newpoll/request.tt'; 
     52        } else { 
     53            my $reqid = $c->model('Vote')->create_poll_request( 
     54                mail => $c->req->param('mail'), 
     55                label => $c->req->param('label'), 
     56            ); 
     57            $c->forward( 
     58                q'Epoll::View::Mail', 'render', 
     59                [ 'poll_request.tt', { 
     60                    To => $c->req->param('mail'), 
     61                    Subject => "New poll request", 
     62                    mail => { 
     63                        label => $c->req->param('label'), 
     64                        reqid => $reqid, 
     65                    } 
     66                } ] 
     67            ); 
     68            $c->stash->{template} = 'newpoll/request.tt'; 
     69        } 
    5270    } 
    5371 
Note: See TracChangeset for help on using the changeset viewer.