voter.destroy
end
+ def remind_voter
+ voter_array= FullVoter.find(:all, :conditions => ["email = ?", params[:email]])
+ voter_array.delete_if {|voter| voter.election.active == 0}
+ unless voter_array.empty?
+ VoterNotify.deliver_reminder(voter_array)
+ end
+ end
+
## methods for computing and printing results
####################################################################
def results
redirect_to :action => 'index'
end
end
-
+
private
def authenticate
password = params[:id]
@body = { :voter => voter }
end
- def reminder(voter)
+ def reminder(voter_array)
+ @subject = "Selectricity Election Reminder!"
+ @recipients = voter_array[0].email
+ @from = MAIL_CONFIG[:from]
+ @sent_on = Time.now
+ @body = { :voter_array => voter_array }
end
end
--- /dev/null
+The message has been sent, please check your inbox soon.
\ No newline at end of file
-<% candidates = @election.condorcet_result.ranked_candidates.flatten -%>
+<% candidates = @election.ssd_result.ranked_candidates.flatten -%>
<% voters = @election.voters.size %>
-<% matrix = @election.condorcet_result.matrix %>
-<% victories = @election.condorcet_result.victories_and_ties %>
+<% matrix = @election.ssd_result.matrix %>
+<% victories = @election.ssd_result.victories_and_ties %>
+<% if candidates.size <= 7 -%>
<!-- This table shows how many times each choice was ranked above the other,
with percentages-->
<table class="preftable">
</tr>
<% end -%>
</table>
-
+<br />
<!-- This table generates a margin of victory -->
<table class="preftable">
<% candidates.each do |victor| %>
</tr>
<% end -%>
</table>
+<% end -%>
+
<% end %></span>
</div>
+<% unless @election.election_method == method -%>
+<%= render :partial => 'result', :object => @results[method]%>
+<% end -%>
<%= render :partial => 'methodinfo_' + method,
- :object => @results[@election.election_method] %>
+ :object => @results[method] %>
</div>
<h2>Statistics</h2>
<%= image_tag( graph_url( :action => 'votes_per_interval', :id => @election ))%>
+<br />
+<br />
+
+<h2>Voter Report</h2>
+
+<p><%= link_to "[View All Voters: Map and Other Info]", :controller => "quickvote",
+ :action => "list_voters", :id => @election.id %></p>
<div class="clear-div"></div>
-<div class="normal-header">
- <span class="header">Voter Report</span>
- <span class="subheader"></span>
-</div>
-
-<p><%= link_to "[View All Voters]", :controller => "quickvote", :action => "list_voters", :id => @election.id %></p>
-<br />
-
<!--
<%= image_tag( graph_url( :action => 'choices_positions', :id => @election ) ) %><br />
-->
--- /dev/null
+<h4>Deleted your email? Lost your password?</h4>
+<p>Not to worry, enter the email at which you were supposed to receive your
+password, and we'll hook you up with a set of magic numbers that shall grant
+access to the chambers within. Hoo-rah!</p>
+
+<% form_tag :controller => 'election', :action => 'remind_voter' do %>
+
+ <p><span label for="email">Email</label></span>
+ <%= text_field_tag :email %></p>
+
+ <%= submit_tag "Submit" %>
+<% end -%>
--- /dev/null
+Voter!
+
+Either you or an election administrator has requested you receive a reminder for an election you've been registered in.
+
+Here are the election(s) for which you are currently registered and your tokens to enter each election:
+<% @voter_array.each do |voter| -%>
+<%= voter.election.name %>: <%= voter.password %>
+<% end -%>
+
+
+If you feel there is a technical error, please contact:
+
+ help@selectricity.org
+ (Selectricity Tech Support)
+
+Thanks and happy voting!
+Selectricity Staff
Voter!
-This is an automated message sent by selectricity.media.mit.edu.
+This is an automated message sent by Selectricity.
You have been listed as a voter in an upcoming election.
The election title: <%= @voter.election.name %>
To read more about the election, the candidates, and to vote, you will
-need to use the following token to log in to selectricity.media.mit.edu:
+need to use the following token to log in to Selectricity:
<%= @voter.password %>
Alternatively, you can just click this URL:
- http://selectricity.media.mit.edu<%= url_for :controller => 'election', :action => 'show', :id => @voter.election %>
+ http://selectricity.org<%= url_for :controller => 'voter' %>
If you have any questions or if you feel you have received this message
in error, you should contact:
Alternatively, if you feel there is a technical error, please contact:
- help@selectricity.media.mit.edu
+ help@selectricity.org
(Selectricity Tech Support)
Thanks and happy voting!
Selectricity Staff
-
-
+
# Include your application configuration below
-MAIL_CONFIG = { :from => 'Selectricity <info@selectricity.media.mit.edu>'}
+MAIL_CONFIG = { :from => 'Selectricity <info@selectricity.org>'}
require 'uniq_token'
require 'randarray'
ABQIAAAAzMUFFnT9uH0xq39J0Y4kbhTJQa0g3IQ9GZqIMmInSLzwtGDKaBR6j135zrztfTGVOm2QlWnkaidDIQ\r
\r
production:\r
- ABQIAAAA479zRK1hoNqMcKLTMuBcTRQ0mFvgRda1vOZQqJO6gQItognzGRQueA871M_O5_Q9Pd9xs4Ah4SNYTg\r
+ ABQIAAAA479zRK1hoNqMcKLTMuBcTRR0OKg4vZKrhw1amyo3djP_wIZS7BQ-fJouJ5VRd_fb2HO6KKzIMAVW6Q\r
t.column "rank", :integer
end
+ create_table "sessions", :force => true do |t|
+ t.column "sessid", :string
+ t.column "data", :text
+ t.column "updated_at", :datetime
+ end
+
+ add_index "sessions", ["sessid"], :name => "session_index"
+
create_table "sitealizer", :force => true do |t|
t.column "path", :string
t.column "ip", :string
}
.preftable th {
+ font-family: verdana,arial,helvetica,sans-serif;
border-width: 2px;
border-color: #999999;
border-style: solid;
text-align: center;
font-weight: bold;
- padding: 5px 5px 5px 15px;
+ padding: 5px 5px 5px 5px;
background-color: #999999;
- color: #fff;
+ color: #FFFFFF;
}
.preftable td {