| @@ -144,37 +144,18 @@ get '/bodies/:body/elections/:date' do | |||||
| ORDER BY seatz DESC, votez DESC | ORDER BY seatz DESC, votez DESC | ||||
| ", @election.id) | ", @election.id) | ||||
| @results_by_district = repository(:default).adapter.select(" | |||||
| SELECT | |||||
| d.name, | |||||
| d.slug AS district_slug, | |||||
| SUM(c.seats) AS seats, | |||||
| SUM(c.votes) AS votez, | |||||
| COUNT(c.id) AS num_candidates | |||||
| FROM districts d, candidacies c | |||||
| WHERE | |||||
| c.district_id = d.id | |||||
| AND c.election_id = ? | |||||
| GROUP BY c.district_id, d.name, d.slug | |||||
| ORDER BY d.name | |||||
| ", @election.id) | |||||
| # For elections that haven't yet been held | # For elections that haven't yet been held | ||||
| @districts_in_this_election = repository(:default).adapter.select(" | |||||
| SELECT DISTINCT d.name, d.slug | |||||
| FROM candidacies c | |||||
| LEFT JOIN districts d | |||||
| ON c.district_id = d.id | |||||
| WHERE c.election_id = ? | |||||
| ORDER BY d.name | |||||
| ", @election.id) | |||||
| # @districts_in_this_election = repository(:default).adapter.select(" | |||||
| # SELECT DISTINCT d.name, d.slug | |||||
| # | |||||
| # FROM candidacies c | |||||
| # LEFT JOIN districts d | |||||
| # ON c.district_id = d.id | |||||
| # | |||||
| # WHERE c.election_id = ? | |||||
| # | |||||
| # ORDER BY d.name | |||||
| # ", @election.id) | |||||
| haml :electionsummary | haml :electionsummary | ||||
| end | end | ||||
| @@ -31,6 +31,10 @@ class Poll | |||||
| def valid_ballot_papers | def valid_ballot_papers | ||||
| self.total_rejected_ballots ? @ballot_papers_issued - self.total_rejected_ballots : nil | self.total_rejected_ballots ? @ballot_papers_issued - self.total_rejected_ballots : nil | ||||
| end | end | ||||
| def successful_candidacies # Candidacies where the candidate was elected | |||||
| Candidacy.all(:election => @election, :district => @district, :order => [:position], :limit => @seats) | |||||
| end | |||||
| belongs_to :election | belongs_to :election | ||||
| belongs_to :district | belongs_to :district | ||||
| @@ -119,6 +123,10 @@ class Candidate | |||||
| def name | def name | ||||
| @forenames + ' ' + @surname | @forenames + ' ' + @surname | ||||
| end | end | ||||
| def url | |||||
| "/candidates/" + @id.to_s | |||||
| end | |||||
| end | end | ||||
| class DeletedCandidate | class DeletedCandidate | ||||
| @@ -119,37 +119,18 @@ | |||||
| %tr | %tr | ||||
| %td Turnout | %td Turnout | ||||
| %td.right= sprintf("%.0f%%", @election.ballot_papers_issued / @election.electorate.to_f * 100) | %td.right= sprintf("%.0f%%", @election.ballot_papers_issued / @election.electorate.to_f * 100) | ||||
| %h2 | |||||
| = @election.body.district_name.capitalize.pluralize(2) | |||||
| contested in this election | |||||
| %table | |||||
| %tr.header | |||||
| %th | |||||
| %th seats | |||||
| %th candidates | |||||
| %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= row.num_candidates | |||||
| %td.right= commify(row.votez) | |||||
| %tr.footer | |||||
| %td | |||||
| %td.right= @total_seats | |||||
| %td.right= @election.candidacies.count | |||||
| %td.right= commify(@total_votes) | |||||
| - else | |||||
| %h2 | %h2 | ||||
| = @election.body.district_name.capitalize.pluralize(2) | |||||
| being contested at this election | |||||
| = "Candidate".pluralize(@total_seats) | |||||
| elected | |||||
| %table | %table | ||||
| - @districts_in_this_election.each do |d| | |||||
| - @election.polls.each do |p| | |||||
| %tr | %tr | ||||
| %td | %td | ||||
| %a{ :href => "/bodies/#{@election.body.slug}/#{@election.body.districts_name}/#{d['slug']}"} | |||||
| = d['name'] | |||||
| %a{ :href => "/bodies/#{@election.body.slug}/elections/#{@election.d}/#{@election.body.districts_name}/#{p.district.slug}"} | |||||
| = p.district.name | |||||
| - p.successful_candidacies.each do |sc| | |||||
| %td{ :style => "background-color: #{sc.party.colour};" } | |||||
| -# %a{ :href => sc.candidate.url } | |||||
| = sc.candidate.short_name | |||||