def results
@election = Election.find( params[:id] )
votes = []
-
+
@election.voters.each do |voter|
if voter.vote and voter.vote.confirmed?
votes << voter.vote.rankings.sort.collect {|vote| vote.candidate_id}
@candidates_by_id = {}
@election.candidates.each {|cand| @candidates_by_id[cand.id] = cand}
+
end
def detailed_results
@voter_list = []
@vote_list = []
- @election.voters. each do |voter|
+
+ @election.voters.each do |voter|
if voter.vote and voter.vote.confirmed?
@voter_list << voter.email
@vote_list << voter.vote
<span class="subheader"></span>
</div>
-<% if @election.active? %>
+<% if @election.done? %>
+<div id="status">Election is finished. <%= link_to "View results",
+ :action => 'detailed_results', :id => @election.id %>.</div>
+
+<% elsif (@election.active? && @election.viewable?) %>
+ <div id="status">The creator of this election has decided that the results
+ should be viewable while the election is in progress.
+ <%if @election.voters.empty? %>
+ However, no one has voted yet.
+ <% else %>
+ <%= link_to "View results", :action => 'detailed_results',
+ :id => @election.id %>.
+ <% end %>
+ </div>
+<% elsif @election.active? %>
<div id="status">Vote is in currently in progress. Return to
this page for results on <%= @election.enddate %>.</div>
-<% elsif @election.done? %>
- <div id="status">Election is finished. <%= link_to "View results",
- :action => 'results', :id => @election.id %>.</div>
+
<% else %>
<p style="text-align: right;">
<%= link_to "Edit General Information",
</ul>
-<% unless @election.authenticated -%>
+<% if @election.active? and not @election.authenticated? %>
<p><strong>Link</strong></p>
<%= (link_to ("Go Vote!",
:controller => 'voter', :action => 'index', :election_id => @election.id)).to_s %>