Merge from head
authorJohn Dong <jdong@mit.edu>
Mon, 20 Aug 2007 21:32:37 +0000 (17:32 -0400)
committerJohn Dong <jdong@mit.edu>
Mon, 20 Aug 2007 21:32:37 +0000 (17:32 -0400)
1  2 
app/views/quickvote/_pref_table.rhtml
app/views/quickvote/results.rhtml

index a3ba63d7faac2af1dfa85a02c67c3dc26fa78e42,01de22bfa8efba944478c66b1dc5517cee015523..011fcbe8ac2d29aa7b2147797e249f99c3b57389
@@@ -1,6 -1,6 +1,6 @@@
  <% candidates = @election.candidates.sort.collect {|candidate| candidate.id}-%>
  <% voters = @election.voters.size %>
+ <% matrix = @election.condorcet_result.matrix %>
  <% names = Hash.new -%>
  <% candidates.each do |candidate| -%>
        <%names[candidate] = Candidate.find(candidate).name -%>
@@@ -9,19 -9,17 +9,19 @@@
    <tr>
        <td> </td>
        <% candidates.each do |candidate| -%>
 -        <th><%= names[candidate] -%></th>
 -      <% end -%>
 +        <th><%=h names[candidate] -%></th>
 +  <% end -%>
 +</tr>
 +
  <% candidates.each do |winner| -%>
    <tr>
 -      <th><%= names[winner] %></th>
 +      <th><%=h names[winner] %></th>
    <% candidates.each do |loser| -%> 
      <% if winner == loser -%>
        <td> -- </td>
-     <% else %>         
-       <td><% wins = @election.condorcet_result.matrix[winner][loser]%>
-           <%=h wins %>
+     <% else %>        
+       <td><% wins = matrix[winner][loser] unless matrix[winner].nil?%>
+           <%= wins %>
              <%= sparkline_tag [(wins.to_f/voters.to_f)*100.0], :type => 'pie', 
                                 :diameter => 25, :share_color => '#74ce00' %>
          </td>
@@@ -29,4 -27,4 +29,4 @@@
    <% end -%>
   </tr>
  <% end -%>
 -
 +</table>
index 799459df0f9704d5079271d4a37e34fa979a3152,bc33d072f4379774a58335b0a26d67507bad47de..2999e6b1bd1d150925387911221b77631503f841
@@@ -4,7 -4,7 +4,7 @@@
  
  <% if @election.shortdesc %>
    <p><strong>Description:</strong></p>
 -  <blockquote><em><%= @election.shortdesc %></em>
 +  <blockquote><em><%=h @election.shortdesc %></em>
      <% if @election.longdesc -%>
        <br />
        <%= h(@election.longdesc) -%>
@@@ -16,7 -16,7 +16,7 @@@
  
  <ol>
    <% for candidate in @election.candidates.sort %>
 -    <li><%= candidate.name.capitalize %></li>
 +    <li><%=h candidate.name.capitalize %></li>
    <% end %>
  </ol>
  
@@@ -31,7 -31,7 +31,7 @@@
  <h3>Schulze Method Results</h3>
  <%= render :partial => 'result', :object => @election.ssd_result %>
  
 -<div class="rbmoreinfo"
 +<div class="rbmoreinfo">
  <h4>About the Schulze Method</h4>
  
  <p>The <%= link_to "Schulze method",
@@@ -50,7 -50,7 +50,7 @@@ Beatpath Winner, Path Voting, and Path 
  <h3>Plurality Results</h3>
  <%= render :partial => 'result', :object => @election.plurality_result %>
  
 -<div class="rbmoreinfo"
 +<div class="rbmoreinfo">
  <h4>About Plurality Voting</h4>
  
  <p><%= link_to "Plurality voting",
@@@ -70,7 -70,7 +70,7 @@@ voting.</p
  <p><font size="-1">(This algorithm assumes that top two choices are "approved.")</font></p>
  <%= render :partial => 'result', :object => @election.approval_result %>
  
 -<div class="rbmoreinfo"
 +<div class="rbmoreinfo">
  <h4>About Approval Voting</h4>
  
  <p><%= link_to "Approval voting",
@@@ -88,7 -88,7 +88,7 @@@ accept or not.</p
  <h3>Simple Condorcet Results</h3>
  <%= render :partial => 'result', :object => @election.condorcet_result %>
  
 -<div class="rbmoreinfo"
 +<div class="rbmoreinfo">
  <h4>About Simple Cordorcet Voting</h4>
  
  <p><%= link_to "Condorcet",
@@@ -108,7 -108,7 +108,7 @@@ another Condorcet system.</p
  <h3>Borda Count Results</h3>
  <%= render :partial => 'result', :object => @election.borda_result %>
  
 -<div class="rbmoreinfo"
 +<div class="rbmoreinfo">
  <h4>About Borda Count</h4>
  
  <p><%= link_to "Borda count",
@@@ -125,7 -125,7 +125,7 @@@ points is the winner.</p
  <div class="resultbox">
  <h3>Instant Runoff (IRV) Results</h3>
  
 -<div class="rbmoreinfo"
 +<div class="rbmoreinfo">
  <h4>About Instant Runoff Voting</h4>
  
  <p><%= link_to "Instant runoff voting",
@@@ -159,16 -159,16 +159,16 @@@ by several other names.</p
          <% raise ArgumentError.new, "Local Server" if voter.ipaddress == "127.0.0.1" %>
          <% raise ArgumentError.new, "XML-RPC Voter" if voter.ipaddress == "XMLRPC Request" %>
          <% w= Whois::Whois.new(IPAddr.new(voter.ipaddress).to_s,true)%>
 -        <%=(w.host == nil or w.host.empty?) ? voter.ipaddress : w.host%>
 +        <%=h((w.host == nil or w.host.empty?) ? voter.ipaddress : w.host)%>
        </td>
        <td>
          <%w.search_whois%>
 -        <%= (w.all.grep(/^(OrgName|org-name)/)[0] or "").sub(/^(OrgName|org-name)\:/,'').strip -%> - <%=  (w.all.grep(/^(NetName|netname)/)[0] or "").sub(/^(NetName|netname)\:/,'').strip %>
 +        <%=h (w.all.grep(/^(OrgName|org-name)/)[0] or "").sub(/^(OrgName|org-name)\:/,'').strip -%> - <%=  (w.all.grep(/^(NetName|netname)/)[0] or "").sub(/^(NetName|netname)\:/,'').strip %>
      
      <% rescue ArgumentError => err %>
 -      <%= err %>
 +      <%=h err %>
      </td>
 -    <td><%= err%>
 +    <td><%=h err%>
      <% end %>
      </td>
    <td><%= voter.vote.votestring %></td>
  <%= render :partial => 'victories_ties' %>
  <%= render :partial => 'pref_table' %>
  
- <%= image_tag( graph_url( :action => 'votes_per_day', :id => @election ) ) %><br />
- <%= image_tag( graph_url( :action => 'votes_per_interval', :id => @election ))%><br />
+ <%=image_tag( graph_url( :action => 'votes_per_interval', :id => @election ))%>
+ <br />
  <%= image_tag( graph_url( :action => 'borda_bar', :id => @election ) ) %><br />
  <%= image_tag( graph_url( :action => 'choices_positions', :id => @election ) ) %>

Benjamin Mako Hill || Want to submit a patch?