| @@ -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 | |||||