]> projects.mako.cc - selectricity/blob - app/controllers/front_controller.rb
added first full working version of embeddable elections
[selectricity] / app / controllers / front_controller.rb
1 # Selectricity: Voting Machinery for the Masses
2 # Copyright (C) 2007, 2008 Benjamin Mako Hill <mako@atdot.cc>
3 # Copyright (C) 2007 Massachusetts Institute of Technology
4 #
5 # This program is free software: you can redistribute it and/or modify
6 # it under the terms of the GNU Affero General Public License as
7 # published by the Free Software Foundation, either version 3 of the
8 # License, or (at your option) any later version.
9 #
10 # This program is distributed in the hope that it will be useful, but
11 # WITHOUT ANY WARRANTY; without even the implied warranty of
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13 # Affero General Public License for more details.
14 #
15 # You should have received a copy of the GNU Affero General Public
16 # License along with this program.  If not, see
17 # <http://www.gnu.org/licenses/>.
18
19 class FrontController < ApplicationController
20   layout 'frontpage'
21   require_dependency "user"
22   require_dependency "election"
23   require_dependency "account"
24
25   def index
26     @quickvotes = QuickVote.find(:all).sort {|a,b| b.startdate <=> a.startdate}[0..1]
27     # if the person claims they are logged in
28    
29     if logged_in?
30       # check to see that we actually have record of them
31       if User.exists?(session[:user])
32         username = User.find(session[:user]).login
33         # if we have record of them, grab the list of their elections
34         session[:user] = User.find(session[:user])
35         @current_elections = session[:user].elections.sort do |a,b|
36           b.enddate <=> a.enddate
37         end
38       else
39         # if we have no record of them, set the user back to
40               # nothing and start again
41         session[:user] = nil
42       end
43     end
44   end
45
46 end

Benjamin Mako Hill || Want to submit a patch?