@voter.save
# toggle the confirmation bit
- @voter.vote.confirm!
-
- @voter.reload
- render :action => 'thanks'
+ if @voter.vote.confirm!
+ @voter.reload
+ render :action => 'thanks'
+ else
+ redirect_to :action => 'index'
+ end
end
end
def confirm
if authenticate
- @voter.vote.confirm!
-
- if @voter.election.embeddable? and params[:embed] == "true" \
- and @voter.election.early_results?
- redirect_to :action => :results, :id => @password, :embed => 'true'
+ if @voter.vote.confirm!
+ if @voter.election.embeddable? and params[:embed] == "true" \
+ and @voter.election.early_results?
+ redirect_to :action => :results, :id => @password, :embed => 'true'
+ else
+ render :action => 'thanks'
+ end
else
- render :action => 'thanks'
+ redirect_to :action => 'index'
end
else
- redirect_to :action => 'index'
+ redirect_to :action => 'index'
end
end
end
def confirm!
- self.confirmed = 1
- self.time = Time.now
- self.save
-
- unless self.voter.election.quickvote?
- token.destroy and token.reload if token
- self.token = Token.new
+ if self.voter.election.candidates.length == self.rankings.length
+ self.confirmed = 1
+ self.time = Time.now
self.save
+
+ unless self.voter.election.quickvote?
+ token.destroy and token.reload if token
+ self.token = Token.new
+ self.save
+ end
+ return false
+ else
+ return true
end
end