浏览代码

New views aplenty

tags/last-sinatra-version
Adrian Short 13 年前
父节点
当前提交
9cd6722297
共有 8 个文件被更改,包括 310 次插入0 次删除
  1. +6
    -0
      views/bodies.haml
  2. +24
    -0
      views/body.haml
  3. +39
    -0
      views/candidate.haml
  4. +23
    -0
      views/candidates.haml
  5. +40
    -0
      views/district.haml
  6. +94
    -0
      views/electionsummary.haml
  7. +10
    -0
      views/register.haml
  8. +74
    -0
      views/resultsdistrict.haml

+ 6
- 0
views/bodies.haml 查看文件

@@ -0,0 +1,6 @@
%h1= @page_title = "Government Bodies"

- @bodies.each do |body|
%p
%a{ :href => "/bodies/#{body.slug}" }
= body.name

+ 24
- 0
views/body.haml 查看文件

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

+ 39
- 0
views/candidate.haml 查看文件

@@ -0,0 +1,39 @@
.nav
%a{ :href => "/candidates" }
&laquo; 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}" } &nbsp;
%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.

+ 23
- 0
views/candidates.haml 查看文件

@@ -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 &nbsp;
%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

+ 40
- 0
views/district.haml 查看文件

@@ -0,0 +1,40 @@
- @page_title = "#{@district.name} #{@district.body.district_name}, #{@district.body.name}"

.nav
%p
%a{ :href => "/bodies/#{@district.body.slug}" }
&laquo;&nbsp;
= @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}" } &nbsp;
%td
%a{ :href => "/candidates/#{ccy.candidate.id}" }
= ccy.candidate.short_name
%td= ccy.party.name

+ 94
- 0
views/electionsummary.haml 查看文件

@@ -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}" } &nbsp;
%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
&mdash;
%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.

+ 10
- 0
views/register.haml 查看文件

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

+ 74
- 0
views/resultsdistrict.haml 查看文件

@@ -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}" }<
&laquo;&nbsp;
= @previous_district.name
&nbsp;&nbsp;&nbsp;
- 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
&raquo;

%p
%a{ :href => "/bodies/#{@district.body.slug}/#{@district.body.district_name.pluralize(2)}/#{@district.slug}" }
All elections in
= @district.name
&raquo;

%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}" } &nbsp;
%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

正在加载...
取消
保存