|
- require 'rubygems'
- require 'sinatra'
- require 'sinatra-helpers/haml/partials'
- require 'haml'
- require 'lib/models'
-
- get '/' do
- if params[:postcode]
- @postcode = params[:postcode].strip.upcase
-
- unless result = Postcode.finder(@postcode)
- # Invalid postcode
- redirect '/error'
- end
-
- # Postcode valid but not in LB Sutton
- if result.district_code != "00BF"
- redirect '/aliens'
- end
-
- # Postcode in LB Sutton
- @ward = Ward.first( :ons_id => result.ward_code )
- redirect "/wards/#{@ward.slug}/postcode/#{@postcode}"
- end
-
- @results = repository(:default).adapter.query("
- SELECT p.name,
- sum(c.votes_2010) AS votes,
- p.colour
-
- FROM parties p,
- councilcandidates c
-
- WHERE p.id = c.party_id
-
- GROUP BY p.name, p.colour
-
- ORDER BY votes desc
- ;")
-
- # select p.name, count(c.*) AS seats
- # FROM parties p, councilcandidates c
- # GROUP BY p.id
-
-
- @total_votes = Councilcandidate.sum(:votes_2010)
-
- haml :home
- end
-
- get '/wards/:slug/postcode/:postcode/?' do
- @ward = Ward.first(:slug => params[:slug])
- @postcode = params[:postcode]
- haml :wards
- end
-
- get '/wards/:slug/?' do
- @ward = Ward.first(:slug => params[:slug])
- haml :wards
- end
-
- get '/wards/?' do
- @wards = Ward.all
- haml :wardlist
- end
-
- get '/results/uk-parliament/2010-05-06/:constituency' do
- if params[:constituency] == 'carshalton-and-wallington'
- const = 1
- else
- const = 2
- end
- @constituency = Constituency.get(const)
- @candidates = Parliamentcandidate.all(:constituency_id => const, :order => [ :votes_2010.desc ])
- @total_2010 = Parliamentcandidate.sum(:votes_2010, :constituency_id => const)
- haml :resultsukparliament
- end
-
- get '/results/sutton-council/2010-05-06/:slug' do
- @ward = Ward.first(:slug => params[:slug])
- @candidates = Councilcandidate.all(:ward_id => @ward.id, :order => [ :votes_2010.desc ])
- @total_2010 = Councilcandidate.sum(:votes_2010, :ward_id => @ward.id)
- haml :resultssuttoncouncil
- end
-
- get '/results/sutton-council/2010-05-06.csv' do
- @ward = Ward.first(:slug => params[:slug])
- @candidates = Councilcandidate.all(:ward_id => @ward.id, :order => [ :votes_2010.desc ])
- @total_2010 = Councilcandidate.sum(:votes_2010, :ward_id => @ward.id)
- haml :resultssuttoncouncil
- end
-
-
- get '/how-the-council-election-works' do
- haml :election
- end
-
- get '/how-the-parliament-election-works' do
- haml :parliament
- end
-
- # get '/voting' do
- # haml :voting
- # end
-
- get '/error' do
- haml :error
- end
-
- get '/about' do
- haml :about
- end
-
- get '/aliens' do
- haml :aliens
- end
-
- get '/wardmap' do
- haml :wardmap
- end
-
- not_found do
- haml :not_found
- end
|