Changeset 176
- Timestamp:
- 04/10/09 11:17:44 (15 years ago)
- Location:
- trunk
- Files:
-
- 3 added
- 1 deleted
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/MANIFEST
r167 r176 61 61 root/templates/includes/admin_menu.tt 62 62 root/templates/admin/voting.tt 63 root/templates/admin/includes/poll_settings.tt 64 root/templates/admin/includes/ballot_validation.tt 65 root/templates/admin/includes/ballot_decrypt.tt 63 66 root/templates/ballot/closed.tt 64 67 root/templates/ballot/default.tt -
trunk/lib/Vote/Controller/Admin.pm
r175 r176 112 112 } 113 113 } 114 if ($c->req->param('decryptballot')) { 115 $c->model('Vote')->poll($c->stash->{voteid})->decrypted_ballots( 116 $c->session->{vpassword} 117 ); 118 } 114 119 }; 115 120 } -
trunk/lib/Vote/DB/Poll.pm
r175 r176 613 613 # Requete de decompte des voix: 614 614 615 sub can_show_result { 616 my ($self) = @_; 617 618 # If ballot are encrypted, no 619 if ($self->list_ballot_need_dec) { 620 return; 621 } 622 623 return 1; 624 } 625 615 626 sub results_count { 616 627 my ($self) = @_; -
trunk/root/templates/admin/default.tt
r175 r176 1 1 [% INCLUDE 'includes/admin_menu.tt' %] 2 3 <DIV ID="testdiv1" STYLE="position:absolute;visibility:hidden;background-color:white;layer-background-color:white;"></DIV>4 2 5 3 [% vote = c.model('Vote') %] 6 4 [% poll = c.model('Vote').poll(voteid) %] 7 5 8 [% IF vote.vote_status(voteid) == 'BEFORE' %] 9 <div class="box" style="float: left; width: 55%;"> 10 <form action="[% c.uri_for(voteid) %]" method="POST"> 11 12 [% thisvote = vote.vote_info(voteid) %] 13 14 Label: <input type="text" name="label" value="[% c.req.param('label') || thisvote.label | html %]"> 15 <br> 16 Description:<br> 17 <textarea name="description" cols="60" rows="4">[% c.req.param('description') || thisvote.description | html %]</textarea> 18 <br> 19 <hr> 20 <!-- http://www.mattkruse.com/javascript/calendarpopup/ --> 21 <i>Les dates sont au format JJ/MM/AAAA HH:MM:SS</i><br> 22 23 <SCRIPT LANGUAGE="JavaScript" ID="js13"> 24 var cal13 = new CalendarPopup(); 25 </SCRIPT> 26 27 Debut du vote:<br> 28 Date: <input type="text" name="dstart" value="[% c.req.param('dstart') || thisvote.dstart | html %]"> 29 <A HREF="#" onClick="cal13.select(document.forms[0].dstart,'anchor13','dd/MM/yyyy'); return false;" TITLE="cal13.select(document.forms[0].dstart,'anchor13','dd/MM/yyyy'); return false;" NAME="anchor13" ID="anchor13">select</A> 30 Heure: <input type="text" size=9 name="hstart" value="[% c.req.param('hstart') || thisvote.hstart | html %]"> 31 <br> 32 Fin du vote:<br> 33 Date: <input type="text" name="dend" value="[% c.req.param('dend') || thisvote.dend | html %]"> 34 <A HREF="#" onClick="cal13.select(document.forms[0].dend,'anchor14','dd/MM/yyyy',(document.forms[0].dend.value=='')?document.forms[0].dstart.value:null); return false;" TITLE="cal13.select(document.forms[0].dend,'anchor14','dd/MM/yyyy',(document.forms[0].dend.value=='')?document.forms[0].dstart.value:null); return false;" NAME="anchor14" ID="anchor14">select</A> 35 Heure: <input type="text" size=9 name="hend" value="[% c.req.param('hend') || thisvote.hend | html %]"> 36 <br> 37 <hr> 38 <input type="submit" name="pollparam" value="Enregistrer"> 39 </form> 40 </div> 41 <div class="box" style="float:right; width: 35%"> 42 [% IF poll.is_crypted %] 43 <p><a href="[% c.uri_for(voteid, 'privatekey') %]">Télécharger la clef privée</a></p> 44 <hr> 45 <form action="[% c.uri_for(voteid) %]" method="POST"> 46 <input type="submit" name="notcrypted" value="Ne pas chiffer le vote"> 47 </form> 48 [% ELSE %] 49 <form action="[% c.uri_for(voteid) %]" method="POST"> 50 <input type="submit" name="encrypted" value="Chiffrer le vote"> 51 </form> 52 [% END %] 53 </div> 54 [% ELSE %] 55 [% INCLUDE 'includes/poll.tt' %] 6 [% IF poll.status == 'BEFORE' %] 7 [% INCLUDE 'admin/includes/poll_settings.tt' %] 56 8 [% END %] 57 9 58 10 [% IF poll.status == 'AFTER' %] 59 60 [% FOREACH untrusted = vote.vote_ballot_untrusted_values(voteid) %] 61 [% IF loop.first %] 62 <div id="map_ballot"> 63 <p>Remapper les valeurs des bulletins</p> 64 <table border="1"> 65 <tr><th>Valeur saisie</th><th>Valeur à considérer</th></tr> 66 [% END %] 67 <tr> 68 <td>[% untrusted | html %]</td> 69 <td> 70 <form action="[% c.uri_for('/admin', voteid) %]" method="POST"> 71 <input type="hidden" name="mapfrom" value="[% untrusted | html %]"> 72 <select name="mapto"> 73 [% FOREACH v = vote.vote_ballot_values(voteid) %] 74 [% NEXT IF v == untrusted %] 75 <option>[% v | html %]</options> 76 [% END %] 77 </select> 78 <input type="submit"> 79 </form> 80 </td> 81 </tr> 82 [% IF loop.last %] 83 </table> 84 </div> 85 [% END %] 86 [% END %] 87 88 [% FOREACH bid = vote.list_vote_ballot_needvalid(voteid) %] 89 [% IF loop.first %] 90 <div id="ballot_to_valid"> 91 <p>Bulletins à valider:</p> 92 <form action="[% c.uri_for(voteid) %]" method="POST"> 93 <table border="1"> 94 [% END %] 95 <tr> 96 <td>[% bid %]</td> 97 <td> 98 [% FOREACH item = vote.ballot_items(bid) %] 99 [% loop.count %]- [% item.v %]<br> 100 [% END %] 101 </td> 102 <td> 103 <input type="radio" name="[% bid %]" value="valid">est valide<br> 104 <input type="radio" name="[% bid %]" value="invalid">n'est pas valide<br> 105 </td> 106 </tr> 107 [% IF loop.last %] 108 </table> 109 <input type="submit"> 110 </form> 111 </div> 112 [% END %] 11 [% IF poll.list_ballot_need_dec.size %] 12 [% INCLUDE admin/includes/ballot_decrypt.tt %] 13 [% ELSE %] 14 [% INCLUDE admin/includes/ballot_validation.tt %] 113 15 [% END %] 114 16 [% END %] -
trunk/root/templates/includes/poll_results.tt
r106 r176 1 1 [% vote = c.model('Vote') %] 2 [% poll = c.model('Vote').poll(voteid) %] 3 4 [% IF poll.can_show_result %] 2 5 3 6 <div id="results" class="box"> … … 109 112 [% END %] 110 113 114 [% ELSE %][% # can show result %] 115 <div class="page_box"> 116 <p>Les résultats ne sont pas encore publiés<p> 117 </div> 118 [% END %]
Note: See TracChangeset
for help on using the changeset viewer.