@@ -6,11 +6,8 @@ require 'dm-validations' | |||||
require 'dm-timestamps' | require 'dm-timestamps' | ||||
require 'lib/models' | require 'lib/models' | ||||
DataMapper.setup(:default, ENV['DATABASE_URL'] || "sqlite3://#{Dir.pwd}/db.sqlite3") | |||||
DataMapper.auto_upgrade! | |||||
get '/' do | get '/' do | ||||
@wards = Ward.all( :order => ['name'] ) | |||||
# @wards = Ward.all( :order => ['name' ] ) | |||||
haml :home | haml :home | ||||
end | end | ||||
@@ -30,7 +27,7 @@ get '/wards' do | |||||
haml :wards | haml :wards | ||||
end | end | ||||
get '/how-the-election-works' do | |||||
get '/how-the-council-election-works' do | |||||
haml :election | haml :election | ||||
end | end | ||||
@@ -41,16 +38,18 @@ end | |||||
get '/about' do | get '/about' do | ||||
@accounts = %w{ | @accounts = %w{ | ||||
adrianshort | adrianshort | ||||
stef | |||||
pezholio | |||||
countculture | |||||
understood | |||||
mashthestate | mashthestate | ||||
openlylocal | openlylocal | ||||
openelection | openelection | ||||
lbsuttonnews | lbsuttonnews | ||||
stef | |||||
suttongisteam | |||||
stonecothill | stonecothill | ||||
sutmoblib | sutmoblib | ||||
mysociety | mysociety | ||||
pezholio | |||||
stonecotparking | |||||
} | } | ||||
haml :about | haml :about | ||||
end | end |
@@ -55,4 +55,7 @@ class Constituency | |||||
property :name, String, :required => true | property :name, String, :required => true | ||||
has n, :wards | has n, :wards | ||||
end | |||||
end | |||||
DataMapper.setup(:default, ENV['DATABASE_URL'] || "sqlite3://#{Dir.pwd}/db.sqlite3") | |||||
DataMapper.auto_upgrade! |
@@ -83,4 +83,9 @@ h1 | |||||
.candidate_name | .candidate_name | ||||
{ | { | ||||
font-size: 150%; | font-size: 150%; | ||||
} | |||||
.highlight | |||||
{ | |||||
background-color: yellow; | |||||
} | } |
@@ -10,7 +10,7 @@ | |||||
The code for this website is open source and managed on Github. It is hosted by Heroku. | The code for this website is open source and managed on Github. It is hosted by Heroku. | ||||
%p | %p | ||||
The candidates' data comes from Sutton Council. | |||||
The candidates' data comes from Sutton Council who also provided information on council wards and parliamentary constituencies. | |||||
%p | %p | ||||
The postcode lookup is done by UK Postcodes using open data from Ordnance Survey Code-Point Open enhanced by MySociety. I use the Ruby Pat gem to access the postcodes API. | The postcode lookup is done by UK Postcodes using open data from Ordnance Survey Code-Point Open enhanced by MySociety. I use the Ruby Pat gem to access the postcodes API. | ||||
@@ -1,6 +1,18 @@ | |||||
-# %h2 One day. Two elections in Sutton. | |||||
%h1 One day. Two elections in Sutton. | |||||
%h2 Who are my local candidates in the Sutton Council elections on 6 May? | |||||
%p | |||||
On 6 May you can vote to | |||||
%strong | |||||
choose your local MP | |||||
and help to decide the next government of the country. | |||||
%p | |||||
And you can also | |||||
%strong | |||||
elect your local councillors | |||||
and help to decide who runs Sutton Council. | |||||
%p Who you can vote for depends on where you live. You can find your local candidates and get more information on how the elections work here. | |||||
%form{ :method => 'get', :action => '/wards' } | %form{ :method => 'get', :action => '/wards' } | ||||
%label{ :for => "postcode" } My postcode is | %label{ :for => "postcode" } My postcode is | ||||
@@ -8,7 +20,6 @@ | |||||
%input{ :type => 'submit', :value => "Find it" } | %input{ :type => 'submit', :value => "Find it" } | ||||
-# | -# | ||||
%h2 Council Wards | %h2 Council Wards | ||||
- for ward in @wards | - for ward in @wards | ||||
@@ -1,7 +1,7 @@ | |||||
!!! | !!! | ||||
%html | %html | ||||
%head | %head | ||||
%title Sutton Council Elections 2010 | |||||
%title Sutton Elections 6 May 2010 | |||||
%link{ :rel => 'stylesheet', :type => 'text/css', :href => '/style.css' } | %link{ :rel => 'stylesheet', :type => 'text/css', :href => '/style.css' } | ||||
%body | %body | ||||
#header | #header | ||||
@@ -10,7 +10,7 @@ | |||||
= yield | = yield | ||||
#footer | #footer | ||||
%p | %p | ||||
%a{ :href => '/how-the-election-works' } How the council election works | |||||
%a{ :href => '/how-the-council-election-works' } How the council election works | |||||
-# | -# | ||||
%p | %p | ||||
%a{ :href => '/voting' } How to vote | %a{ :href => '/voting' } How to vote | ||||
@@ -10,18 +10,44 @@ | |||||
Ward | Ward | ||||
%h2 | %h2 | ||||
Your candidates for | |||||
= @ward.constituency.name | = @ward.constituency.name | ||||
Constituency | |||||
member of parliament | |||||
%p | |||||
You can vote for | |||||
%strong | |||||
ONE | |||||
of these people to become your next MP. | |||||
%p.highlight | |||||
This list of candidates may be incomplete as people have until | |||||
%strong | |||||
20 April | |||||
to decide whether they want to stand for election as the | |||||
= @ward.constituency.name | |||||
MP. | |||||
%h2 | |||||
Your council candidates in | |||||
= @ward.name | |||||
Ward | |||||
#candidates | |||||
%h2 | |||||
Council candidates in | |||||
= @ward.name | |||||
- for candidate in @candidates | |||||
%p | |||||
%span.candidate_name | |||||
= candidate.forenames | |||||
= candidate.surname | |||||
%br | |||||
= candidate.party.name | |||||
%p | |||||
You can vote for | |||||
%strong | |||||
THREE | |||||
of these people to become your local councillors. | |||||
%p | |||||
Find out more about | |||||
%a{ :href => '/how-the-council-election-works' } how the council election works. | |||||
- for candidate in @candidates | |||||
%p | |||||
%span.candidate_name | |||||
= candidate.forenames | |||||
= candidate.surname | |||||
%br | |||||
= candidate.party.name |