@@ -0,0 +1,6 @@ | |||||
%h1= @page_title = "Government Bodies" | |||||
- @bodies.each do |body| | |||||
%p | |||||
%a{ :href => "/bodies/#{body.slug}" } | |||||
= body.name |
@@ -0,0 +1,24 @@ | |||||
.nav | |||||
%a{ :href => "/bodies" } | |||||
« Government bodies | |||||
%h1= @page_title = @body.name | |||||
%h2 Elections | |||||
%table | |||||
- @body.elections.each do |election| | |||||
%tr | |||||
%td | |||||
%a{ :href => "/bodies/#{@body.slug}/elections/#{election.d}" }< | |||||
= long_date(election.d) | |||||
%td | |||||
= election.kind | |||||
%h2 | |||||
= @body.districts_name.capitalize | |||||
- @body.districts.each do |district| | |||||
%p | |||||
%a{ :href => "/bodies/#{@body.slug}/#{@body.districts_name}/#{district.slug}" } | |||||
= district.name |
@@ -0,0 +1,39 @@ | |||||
.nav | |||||
%a{ :href => "/candidates" } | |||||
« All candidates | |||||
%h1= @page_title = @candidate.name | |||||
%h2 Elections contested | |||||
%table | |||||
%tr | |||||
%th | |||||
%th date | |||||
%th party | |||||
%th body | |||||
%th district | |||||
%th votes | |||||
%th position | |||||
%th | |||||
- @candidate.candidacies.each do |ccy| | |||||
%tr | |||||
%td{ :style => "background-color: #{ccy.party.colour}" } | |||||
%td | |||||
%a{ :href => "/bodies/#{ccy.election.body.slug}/elections/#{ccy.election.d}" } | |||||
= long_date(ccy.election.d) | |||||
%td= ccy.party.name | |||||
%td | |||||
%a{ :href => "/bodies/#{ccy.election.body.slug}" } | |||||
= ccy.election.body.name | |||||
%td | |||||
%a{ :href => "/bodies/#{ccy.election.body.slug}/elections/#{ccy.election.d}/#{ccy.district.body.districts_name}/#{ccy.district.slug}" } | |||||
= ccy.district.name | |||||
= ccy.district.body.district_name | |||||
%td.right= commify(ccy.votes) | |||||
%td.right= to_ordinal(ccy.position) | |||||
%td= ccy.elected? ? "Elected" : "Not elected" | |||||
.warning | |||||
This might not be the complete electoral history for this candidate. They might have stood in elections outside Sutton and / or in Sutton elections for which we don't have data. |
@@ -0,0 +1,23 @@ | |||||
%h1= @page_title = "Candidates" | |||||
- @first_letter = '' | |||||
%table | |||||
- @candidates.each do |c| | |||||
- if c.surname[0] != @first_letter | |||||
- @first_letter = c.surname[0] | |||||
%tr.noborder | |||||
%td | |||||
%td | |||||
%tr.noborder | |||||
%td.strong{ :style => "font-size: 300%;" }= @first_letter.upcase | |||||
%td | |||||
%tr | |||||
%td | |||||
%td | |||||
%tr | |||||
%td | |||||
%a{ :href => "/candidates/#{c.id}" } | |||||
= c.surname | |||||
%td= c.forenames | |||||
@@ -0,0 +1,40 @@ | |||||
- @page_title = "#{@district.name} #{@district.body.district_name}, #{@district.body.name}" | |||||
.nav | |||||
%p | |||||
%a{ :href => "/bodies/#{@district.body.slug}" } | |||||
« | |||||
= @district.body.name | |||||
%h1= "#{@district.name} #{@district.body.district_name}" | |||||
-# TODO % turnout plotted over time | |||||
-# TODO map of district shown within Sutton boundary | |||||
%h2 Candidates elected | |||||
- Election.all(:body => @district.body, :order => [:d.desc]).each do |election| | |||||
- ccys = Candidacy.all(:election_id => election.id, :district_id => @district.id, :elected => true, :order => [:votes.desc]) | |||||
- unless ccys == [] | |||||
%h3 | |||||
%a{ :href => "/bodies/#{@district.body.slug}/elections/#{election.d}/#{election.body.districts_name}/#{@district.slug}"} | |||||
= long_date election.d | |||||
= election.kind | |||||
%table | |||||
%tr | |||||
%th | |||||
%th | |||||
%th | |||||
%th | |||||
- ccys.each do |ccy| | |||||
%tr | |||||
%td= ccy.position | |||||
%td{ :style => "background-color: #{ccy.party.colour}" } | |||||
%td | |||||
%a{ :href => "/candidates/#{ccy.candidate.id}" } | |||||
= ccy.candidate.short_name | |||||
%td= ccy.party.name | |||||
@@ -0,0 +1,94 @@ | |||||
- @page_title = "#{@election.body.name} #{@election.kind} #{long_date(@election.d)}" | |||||
%h1 | |||||
= @election.body.name | |||||
= @election.kind | |||||
%br | |||||
= long_date(@election.d) | |||||
%p= @election.reason | |||||
- if @election.candidacies.count > 0 | |||||
%p | |||||
= @election.candidacies.count | |||||
= "candidate".pluralize(@election.candidacies.count) | |||||
contested | |||||
= @total_seats | |||||
= "seat".pluralize(@total_seats) | |||||
in | |||||
= @total_districts | |||||
= @election.body.district_name.pluralize(@total_districts) | |||||
in Sutton. | |||||
%h2 Seats, votes and candidates by party | |||||
%table | |||||
%tr.header | |||||
%th | |||||
%th | |||||
%th.highlight seats won | |||||
%th votes | |||||
%th % seats | |||||
%th % votes | |||||
%th votes per seat | |||||
%th candidates | |||||
%th votes per candidate | |||||
-# | |||||
%th relative popularity | |||||
- @max_votes_per_candidate = @results_by_party.first.votez.to_f / @results_by_party.first.cands.to_f # We really need to scan the array for the max value | |||||
- @results_by_party.each do |row| | |||||
%tr | |||||
%td{ :style => "background-color: #{row.colour}" } | |||||
%td.data_party= row.name | |||||
%td.data_seats.right.highlight= row.seatz | |||||
%td.data_votes.right= commify(row.votez) | |||||
%td.right= format_percent(row.seatz.to_f / @total_seats * 100) | |||||
%td.right= format_percent(row.votez.to_f / @total_votes * 100) | |||||
%td.data_votes_per_seat.right | |||||
- if row.seatz > 0 | |||||
= commify(row.votez / row.seatz) | |||||
- else | |||||
— | |||||
%td.data_candidates.right= row.cands | |||||
%td.right= commify(row.votez / row.cands) | |||||
-# | |||||
%td.right= format_percent( ( row.votez.to_f / row.cands.to_f ) / @max_votes_per_candidate * 100) | |||||
%tr.footer | |||||
%td | |||||
%td | |||||
%td.right.highlight= @total_seats | |||||
%td.right= commify(@total_votes) | |||||
%td | |||||
%td | |||||
%td | |||||
%td | |||||
%td | |||||
-# | |||||
%td | |||||
%h2 | |||||
Results by | |||||
= @election.body.district_name | |||||
%table | |||||
%tr.header | |||||
%th | |||||
%th seats | |||||
%th votes | |||||
- @results_by_district.each do |row| | |||||
%tr | |||||
%td | |||||
%a{ :href => "/bodies/#{@election.body.slug}/elections/#{@election.d}/#{@election.body.districts_name}/#{row.district_slug}"} | |||||
= row.name | |||||
%td.right= row.seats | |||||
%td.right= commify(row.votez) | |||||
%tr.footer | |||||
%td | |||||
%td.right= @total_seats | |||||
%td.right= commify(@total_votes) | |||||
- else | |||||
%p Full details and results will be available on this page. | |||||
@@ -0,0 +1,10 @@ | |||||
%h2 Register to vote | |||||
%p Register now so that you can vote in future elections. If you're not registered you can't vote. | |||||
%p | |||||
You can get a registration form at the | |||||
%a{ :href => "http://www.aboutmyvote.co.uk/" } About My Vote | |||||
website or by phoning Sutton Council on | |||||
%span.phone 020 8770 4888. | |||||
@@ -0,0 +1,74 @@ | |||||
- @page_title = "#{@district.name} #{@district.body.district_name} results, #{@body.name} election #{short_date(@election.d)}" | |||||
%p | |||||
%a{ :href => "/bodies/#{@district.body.slug}/elections/#{@election.d}" }< | |||||
= @body.name | |||||
election | |||||
= long_date(@election.d) | |||||
.nav | |||||
- if @districts_in_this_election.size > 1 | |||||
- @district_index = @districts_in_this_election.index(@district) | |||||
- unless @district_index == 0 | |||||
- @previous_district = @districts_in_this_election[@district_index - 1] | |||||
%a{ :href => "/bodies/#{@election.body.slug}/elections/#{@election.d}/#{@election.body.districts_name}/#{@previous_district.slug}" }< | |||||
« | |||||
= @previous_district.name | |||||
| |||||
- unless @district_index == @districts_in_this_election.size - 1 | |||||
- @next_district = @districts_in_this_election[@district_index + 1] | |||||
%a{ :href => "/bodies/#{@election.body.slug}/elections/#{@election.d}/#{@election.body.districts_name}/#{@next_district.slug}" }< | |||||
= @next_district.name | |||||
» | |||||
%p | |||||
%a{ :href => "/bodies/#{@district.body.slug}/#{@district.body.district_name.pluralize(2)}/#{@district.slug}" } | |||||
All elections in | |||||
= @district.name | |||||
» | |||||
%h1= @district.name + " " + @district.body.district_name | |||||
- count = 0 | |||||
%table | |||||
%tr.header | |||||
%th | |||||
%th | |||||
%th | |||||
%th.right votes | |||||
%th.right % votes | |||||
%th | |||||
- for candidacy in @candidacies | |||||
- count += 1 | |||||
%tr.vcard | |||||
%td= count | |||||
%td{ :style => "background-color: #{candidacy.party.colour}" } | |||||
%td | |||||
%span.candidate_name.fn | |||||
%a{ :href => "/candidates/#{candidacy.candidate.id}" } | |||||
= candidacy.candidate.short_name | |||||
%br | |||||
%span.candidate_party.org | |||||
= candidacy.party.name | |||||
%td.right= commify(candidacy.votes) | |||||
%td.right= format_percent(candidacy.votes.to_f / @total_votes * 100) | |||||
%td | |||||
- if candidacy.seats == 1 | |||||
.elected ELECTED | |||||
%tr.footer | |||||
%td | |||||
%td | |||||
%td | |||||
%td= commify(@total_votes) | |||||
%td | |||||
%td | |||||
%td |