X-Git-Url: https://projects.mako.cc/source/selectricity-live/blobdiff_plain/c5fda1e5174238779afd496014379d6446d1e3c1..5459df3cc567b3fd1bd11e365c928fd6a16dc49e:/app/models/voter.rb?ds=sidebyside diff --git a/app/models/voter.rb b/app/models/voter.rb index e9b3e9e..5ffa30f 100644 --- a/app/models/voter.rb +++ b/app/models/voter.rb @@ -1,17 +1,38 @@ +# Selectricity: Voting Machinery for the Masses +# Copyright (C) 2007, 2008 Benjamin Mako Hill +# Copyright (C) 2007 Massachusetts Institute of Technology +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public +# License along with this program. If not, see +# . + class Voter < ActiveRecord::Base belongs_to :election has_one :vote - - def initialize(args) - super(args) - - token_generator = UniqueTokenGenerator.new( 16 ) - until password and Voter.find_all( [ "password = ?", password ]).empty? - self.password = token_generator.token - end + + def reset_vote + self.vote.destroy + self.reload + end + + def destroy + vote.destroy if vote + super end + def voted? + vote.confirmed == 1 + end end -