Changeset 167
- Timestamp:
- 04/06/09 18:45:41 (15 years ago)
- Location:
- trunk
- Files:
-
- 2 added
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/MANIFEST
r165 r167 59 59 root/templates/admin/index.tt 60 60 root/templates/admin/login.tt 61 root/templates/includes/admin_menu.tt 62 root/templates/admin/voting.tt 61 63 root/templates/ballot/closed.tt 62 64 root/templates/ballot/default.tt -
trunk/lib/Vote/Controller/Admin.pm
r128 r167 23 23 24 24 sub begin : Private { 25 my ( $self, $c ) = @_;25 my ( $self, $c, @args ) = @_; 26 26 $c->model('Vote')->db->rollback; 27 28 warn join('-', @args); 27 29 } 28 30 … … 33 35 } 34 36 35 sub default : Private { 36 my ( $self, $c, undef, $id ) = @_; 37 $c->stash->{voteid} = $id; 37 sub modify_poll : Private { 38 my ( $self, $c) = @_; 39 my $id = $c->stash->{voteid}; 40 38 41 my $vote = $c->model('Vote'); 39 40 $vote->vote_info($id) or do {41 $c->res->redirect($c->uri_for('/'));42 return;43 };44 45 my $password = $c->session->{vpassword} || $c->req->param('vpassword');46 47 if (!$c->model('Vote')->auth_poll($id, $password)) {48 $c->stash->{page}{title} = $vote->vote_info($id)->{label} . ': Login d\'administration';49 $c->session->{vpassword} = undef;50 $c->stash->{template} = 'admin/login.tt';51 return;52 }53 54 $c->session->{vpassword} = $password;55 56 $c->stash->{page}{title} = $c->model('Vote')->vote_info($id)->{label} . ': Administration';57 58 42 for ($vote->vote_status($id) || '') { 59 43 /^BEFORE$/ and do { … … 124 108 }; 125 109 } 110 } 126 111 112 sub auth : Private { 113 my ($self, $c) = @_; 114 my $vote = $c->model('Vote'); 115 my $password = $c->session->{vpassword} || $c->req->param('vpassword'); 116 117 if (!$c->model('Vote')->auth_poll($c->stash->{voteid}, $password)) { 118 $c->stash->{page}{title} = $vote->vote_info( 119 $c->stash->{voteid} 120 )->{label} . ': Login d\'administration'; 121 $c->session->{vpassword} = undef; 122 $c->stash->{template} = 'admin/login.tt'; 123 return; 124 } 125 $c->session->{vpassword} = $password; 126 return 1; 127 } 128 129 sub default : Private { 130 my ( $self, $c, undef, $id ) = @_; 131 $c->stash->{voteid} = $id; 132 my $vote = $c->model('Vote'); 133 134 $vote->vote_info($id) or do { 135 $c->res->redirect($c->uri_for('/')); 136 return; 137 }; 138 139 $c->forward('auth') or return; 140 $c->forward('modify_poll'); 141 $c->stash->{page}{title} = $c->model('Vote')->vote_info($id)->{label} . ': Administration'; 142 143 144 } 145 146 sub voting: LocalRegex('^(\d+)/voting$') { 147 my ($self, $c, $id, @sub) = @_; 148 ($c->stash->{voteid}) = @{ $c->req->snippets || [] }; 149 my $vote = $c->model('Vote'); 150 151 $vote->vote_info($id) or do { 152 $c->res->redirect($c->uri_for('/')); 153 return; 154 }; 155 156 $c->forward('auth') or return; 157 $c->forward('modify_poll'); 158 $c->stash->{page}{title} = $c->model('Vote')->vote_info($id)->{label} . ': Administration'; 127 159 } 128 160 -
trunk/root/templates/admin/default.tt
r100 r167 1 [% INCLUDE 'includes/admin_menu.tt' %] 2 1 3 <DIV ID="testdiv1" STYLE="position:absolute;visibility:hidden;background-color:white;layer-background-color:white;"></DIV> 2 4 3 5 [% vote = c.model('Vote') %] 6 [% poll = c.model('Vote').poll(voteid) %] 4 7 5 8 [% IF vote.vote_status(voteid) == 'BEFORE' %] … … 70 73 [% END %] 71 74 72 [% IF vote.vote_status(voteid) != 'AFTER' %] 73 <table border="1"> 74 <tr><th colspan=2>Liste des votants</th></tr> 75 <tr> 76 <td valign="TOP"> 77 <p>Ajouter un votant</p> 78 <form action="[% c.uri_for(voteid) %]" method="POST"> 79 Nom: <input type="text" name="id"><br> 80 Mail: <input type="text" name="mail"><br> 81 <input type="submit" value="Ajouter"> 82 </form> 83 <hr> 84 <p>Soumettre la liste via un fichier csv (le Nom est optionnel)</p> 85 <p>Format: <i>Mail@domain;Nom</i></p> 86 <form method="POST" ENCTYPE="multipart/form-data" action="[% c.uri_for(voteid) %]"> 87 <input type="file" name="votinglist"><br> 88 [% IF vote.vote_status(voteid) == 'BEFORE' %] 89 <input type="checkbox" name="delete">Effacer la liste des votants<br> 90 [% END %] 91 <input type="submit" value="Ajouter"> 92 </form> 93 <hr> 94 <p>Envoyer les mots de passes au nouveaux votants</p> 95 <form action="[% c.uri_for(voteid) %]" method="POST"> 96 <input type="submit" name="mailpasswd" value="Envoyer les mot de passe"> 97 </form> 98 </td> 99 <td valign="TOP"> 100 [% IF NOT vote.vote_voting_count(voteid) %] 101 <p class="alert">Aucun votant inscrit</p> 102 [% ELSE %] 103 [% signing = vote.vote_voting(voteid) %] 104 [% FOREACH thisvoting = signing %] 105 [% voting = vote.voting_info(thisvoting) %] 106 [% IF NOT voting.date %] 107 <form action="[% c.uri_for(voteid) %]" method="POST"> 108 <input type="hidden" name="delvoting" value="[% voting.vkey %]"> 109 [% END %] 110 [% voting.label | html %] [% voting.mail | html %] 111 [% IF voting.passwd %]<i>(pass envoyé)</i>[% END %] 112 [% IF NOT voting.date %] 113 <input type="submit" name="delete" value="delete"><br> 114 </form> 115 [% ELSE %] 116 (<i>a voté</i>) 117 [% END %] 118 [% END %] 119 [% END %] 120 </td> 121 </tr> 122 </table> 75 [% # INCLUDE 'includes/poll.tt' %] 123 76 124 [% ELSE %] 125 126 [% # INCLUDE 'includes/poll.tt' %] 77 [% IF poll.status == 'AFTER' %] 127 78 128 79 [% FOREACH untrusted = vote.vote_ballot_untrusted_values(voteid) %] -
trunk/root/templates/default.tt
r68 r167 1 2 1 [% vote = c.model('Vote') %] 3 4 2 5 3 [% FOREACH id = vote.list_running_vote %]
Note: See TracChangeset
for help on using the changeset viewer.