X-Git-Url: https://projects.mako.cc/source/selectricity/blobdiff_plain/0bcced90721389c27eb815ca8dcab85533417697..763b868a267099cde66e875ed7d78e01f8bb0cac:/app/views/quickvote/results.rhtml diff --git a/app/views/quickvote/results.rhtml b/app/views/quickvote/results.rhtml index 3b3a54d..6c1130f 100644 --- a/app/views/quickvote/results.rhtml +++ b/app/views/quickvote/results.rhtml @@ -1,9 +1,10 @@ -<%require 'IPAddr' %> +<% %> +<%require 'whois/whois' %>

Results

<% if @election.shortdesc %>

Description:

-
<%= @election.shortdesc %> +
<%=h @election.shortdesc %> <% if @election.longdesc -%>
<%= h(@election.longdesc) -%> @@ -15,7 +16,7 @@
    <% for candidate in @election.candidates.sort %> -
  1. <%= candidate.name.capitalize %>
  2. +
  3. <%=h candidate.name.capitalize %>
  4. <% end %>
@@ -30,7 +31,7 @@

Schulze Method Results

<%= render :partial => 'result', :object => @election.ssd_result %> -

About the Schulze Method

The <%= link_to "Schulze method", @@ -49,7 +50,7 @@ Beatpath Winner, Path Voting, and Path Winner.

Plurality Results

<%= render :partial => 'result', :object => @election.plurality_result %> -

About Plurality Voting

<%= link_to "Plurality voting", @@ -69,7 +70,7 @@ voting.

(This algorithm assumes that top two choices are "approved.")

<%= render :partial => 'result', :object => @election.approval_result %> -

About Approval Voting

<%= link_to "Approval voting", @@ -87,7 +88,7 @@ accept or not.

Simple Condorcet Results

<%= render :partial => 'result', :object => @election.condorcet_result %> -

About Simple Cordorcet Voting

<%= link_to "Condorcet", @@ -107,7 +108,7 @@ another Condorcet system.

Borda Count Results

<%= render :partial => 'result', :object => @election.borda_result %> -

About Borda Count

<%= link_to "Borda count", @@ -124,7 +125,7 @@ points is the winner.

Instant Runoff (IRV) Results

-

About Instant Runoff Voting

<%= link_to "Instant runoff voting", @@ -144,22 +145,34 @@ by several other names.

-

Voters

+

Voters <%= link_to "[Stalk Voters]", :controller => "quickvote", :action => "mapvoters", :id => @election.id %>

- - + + <% for voter in @election.voters %> <% next unless voter.voted? %> - - + + + @@ -167,9 +180,10 @@ by several other names.

<% end %>
IP AddressDNS/HostIP/HostOrigin Vote
<%= voter.ipaddress %><% begin %> - <%= `host #{IPAddr.new(voter.ipaddress).to_s}`.sub(/^.*pointer (.*)\.$/, '\1') %> + <% begin %> + <% 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),true)%> + <%=h((w.host == nil or w.host.empty?) ? voter.ipaddress : w.host)%> + + <%w.search_whois%> + <%=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 %> - <%= voter.ipaddress %> + <%=h err %> + <%=h err%> + <% rescue NoMethodError %> + DNS Unreachable + DNS Unreachable <% end %> <%= voter.vote.votestring %>
+<%= render :partial => 'victories_ties' %> <%= render :partial => 'pref_table' %> -<%= image_tag( graph_url( :action => 'votes_per_day', :id => @election ) ) %>
-<%= image_tag( graph_url( :action => 'votes_per_interval', :id => @election ))%>
+<%=image_tag( graph_url( :action => 'votes_per_interval', :id => @election ))%> +
<%= image_tag( graph_url( :action => 'borda_bar', :id => @election ) ) %>
<%= image_tag( graph_url( :action => 'choices_positions', :id => @election ) ) %>