From adfcf4dd7d989d0560e2a8f6a590dd10c5a49a08 Mon Sep 17 00:00:00 2001 From: Date: Tue, 19 Feb 2008 09:24:06 -0500 Subject: [PATCH 1/1] added first full working version of embeddable elections - added several new fields to the database to support unauthenticated, embeddable, and early result visible full elections - modified full election create to allow for proper options and to display the full election code - added new layouts, views, css, and images for embeddable elections - modified full elections to work with the new form of images in the last commit - fixed several bugs related to vote recording and timestamp,s --- .bzrignore | 1 + app/controllers/election_controller.rb | 39 +++- app/controllers/voter_controller.rb | 98 +++++++-- app/models/election.rb | 6 +- app/models/picture.rb | 2 +- app/models/token.rb | 2 +- app/models/vote.rb | 8 +- app/views/election/_candidate_box_info.rhtml | 15 ++ app/views/election/_candidate_form.rhtml | 2 +- app/views/election/_candidate_line.rhtml | 2 +- app/views/election/_candidate_line_edit.rhtml | 22 +- app/views/election/_overview_form.rhtml | 11 +- app/views/election/_voters_form.rhtml | 2 +- app/views/election/edit.rhtml | 6 - .../election/edit_general_information.rhtml | 9 + app/views/election/edit_voters.rhtml | 15 ++ app/views/election/show.rhtml | 80 +++++-- app/views/embed/full_vote.rhtml | 35 +++ app/views/embed/results.rhtml | 36 ++++ app/views/layouts/embed.rhtml | 19 ++ app/views/voter/_results_sidebar.rhtml | 2 +- app/views/voter/_vote.rhtml | 2 +- app/views/voter/_vote_sidebar.rhtml | 2 +- app/views/voter/full_vote.rhtml | 8 +- app/views/voter/review.rhtml | 5 +- config/routes.rb | 8 +- db/migrate/002_add_embeddable_support.rb | 16 ++ db/schema.rb | 5 +- public/images/default_icon.png | Bin 0 -> 5702 bytes public/images/embed_basic_bg.png | Bin 0 -> 10641 bytes public/images/embed_header_icon.png | Bin 0 -> 5738 bytes public/images/embed_results_changevote.png | Bin 0 -> 4108 bytes public/images/embed_voting_bg.png | Bin 0 -> 19173 bytes public/images/embed_voting_submitvote.png | Bin 0 -> 9392 bytes public/stylesheets/embed.css | 202 ++++++++++++++++++ public/stylesheets/main.css | 9 +- 36 files changed, 559 insertions(+), 110 deletions(-) create mode 100644 app/views/election/_candidate_box_info.rhtml delete mode 100644 app/views/election/edit.rhtml create mode 100644 app/views/election/edit_general_information.rhtml create mode 100644 app/views/embed/full_vote.rhtml create mode 100644 app/views/embed/results.rhtml create mode 100644 app/views/layouts/embed.rhtml create mode 100644 db/migrate/002_add_embeddable_support.rb create mode 100644 public/images/default_icon.png create mode 100644 public/images/embed_basic_bg.png create mode 100644 public/images/embed_header_icon.png create mode 100644 public/images/embed_results_changevote.png create mode 100644 public/images/embed_voting_bg.png create mode 100644 public/images/embed_voting_submitvote.png create mode 100644 public/stylesheets/embed.css diff --git a/.bzrignore b/.bzrignore index 57a67d2..5304d54 100644 --- a/.bzrignore +++ b/.bzrignore @@ -7,3 +7,4 @@ tmp public/engine_files .DS_Store vendor/plugins/sitealizer/lib/last_update +public/pictures diff --git a/app/controllers/election_controller.rb b/app/controllers/election_controller.rb index 5949f56..94c203d 100644 --- a/app/controllers/election_controller.rb +++ b/app/controllers/election_controller.rb @@ -54,20 +54,13 @@ class ElectionController < ApplicationController end end - # add filter to verify that the person working on or looking at + # TODO add filter to verify that the person working on or looking at # something is the owner - def edit + def edit_general_information @election = Election.find(params[:id]) end - - def show - @sidebar_content = render_to_string :partial => 'progress', - :locals => { :page => 'review' } - - @election = Election.find(params[:id]) - end - - def update + + def update_general_information @election = Election.find(params[:id]) if @election.update_attributes(params[:election]) flash[:notice] = 'Election was successfully updated.' @@ -77,6 +70,14 @@ class ElectionController < ApplicationController end end + + def show + @sidebar_content = render_to_string :partial => 'progress', + :locals => { :page => 'review' } + + @election = Election.find(params[:id]) + end + def start_election @election = Election.find(params[:id]) @election.voters.each do |voter| @@ -103,6 +104,12 @@ class ElectionController < ApplicationController @election.candidates << @candidate if @candidate.save + # check to see if they've uploaded a picture + if params[:picture][:uploaded_data] + picture = Picture.new(params[:picture]) + @candidate.picture = picture if picture.save + end + @candidate = Candidate.new redirect_to :action => 'edit_candidates', :id => @election.id else @@ -145,6 +152,16 @@ class ElectionController < ApplicationController voter = Voter.find( params[:id] ) voter.destroy end + + def toggle_authenticated + @election = Election.find(params[:id]) + if params[:authenticated] == "1" + @election.authenticated = true + else + @election.authenticated = false + end + @election.save + end ## methods for computing and printing results #################################################################### diff --git a/app/controllers/voter_controller.rb b/app/controllers/voter_controller.rb index 868bc4c..cdc045d 100644 --- a/app/controllers/voter_controller.rb +++ b/app/controllers/voter_controller.rb @@ -23,34 +23,48 @@ class VoterController < ApplicationController require_dependency "election" def index - if params[:urlpassword] + if params[:election_id] + @election = Election.find(params[:election_id]) + unless @election.authenticated? + @voter = Voter.find(:all, + :conditions => ["session_id = ? and election_id = ?", + session.session_id, @election.id])[0] + + @voter = Voter.new unless @voter + + @voter.election = @election + @voter.session_id = session.session_id + @password = "open." + @election.id.to_s + end + elsif params[:urlpassword] password = params[:urlpassword] if @voter = FullVoter.find(:all, :conditions => [ "password = ?", password ] )[0] + @election = @voter.election + @password = @voter.password + end + end - @voter.vote = Vote.new if @voter.vote.nil? - @voter.vote.set_defaults! if @voter.vote.rankings.empty? + if @voter and @election + # initialize things if the vote is blank + if @voter.vote.nil? + @voter.vote = Vote.new + @voter.save + end + + @voter.vote.set_defaults! if @voter.vote.rankings.empty? - @election = @voter.election - - # if the election is now finished - if @election.enddate < Time.now - # compute and display results - - @results = @election.results - @candidates = {} - @election.candidates.each {|c| @candidates[c.id] = c} - @names = @election.names_by_id - - @sidebar_content = render_to_string(:partial => 'results_sidebar') - render :action => 'results' + # if the election is now finished + if @election.enddate < Time.now + redirect_to :action => :results, :id => @password + else + @sidebar_content = render_to_string(:partial => 'vote_sidebar') + if @election.embeddable? and params[:embed] == "true" + render :template => 'embed/full_vote', :layout => 'embed' else - @sidebar_content = render_to_string(:partial => 'vote_sidebar') render :action => 'full_vote' end - elsif params[:urlpassword] - redirect_to :action => 'index' end end end @@ -100,7 +114,13 @@ class VoterController < ApplicationController def confirm if authenticate @voter.vote.confirm! - render :action => 'thanks' + + if @voter.election.embeddable? and params[:embed] == "true" \ + and @voter.election.early_results? + redirect_to :action => :results, :id => @password, :embed => 'true' + else + render :action => 'thanks' + end else redirect_to :action => 'index' end @@ -117,11 +137,47 @@ class VoterController < ApplicationController end end + def results + if authenticate and + (@voter.election.early_results? \ + or @voter.election.enddate < Time.now) + + @election = @voter.election + # compute and display results + + @results = @election.results + @candidates = {} + @election.candidates.each {|c| @candidates[c.id] = c} + @names = @election.names_by_id + + @sidebar_content = render_to_string(:partial => 'results_sidebar') + if @election.embeddable? and params[:embed] == "true" + render :template => 'embed/results', :layout => 'embed' + else + render :action => 'results' + end + else + redirect_to :action => 'index' + end + end private def authenticate password = params[:id] - @voter = FullVoter.find(:all, :conditions => [ "password = ?", password ] )[0] + if password == "open" + election = Election.find(params[:format]) + unless election.authenticated? + @voter = Voter.find(:all, + :conditions => ["session_id = ? and election_id = ?", + session.session_id, election.id])[0] + @password = "open." + election.id.to_s + end + else + @voter = FullVoter.find(:all, + :conditions => [ "password = ?", password ] )[0] + @password = @voter.password + end + @voter end end diff --git a/app/models/election.rb b/app/models/election.rb index 7d8ad80..08ef1a5 100644 --- a/app/models/election.rb +++ b/app/models/election.rb @@ -73,7 +73,7 @@ class Election < ActiveRecord::Base reasons << "You must have at least two candidates." end - if self.voters.length <= 1 + if self.voters.length <= 1 and self.authenticated? reasons << "You must have at least two voters." end @@ -97,6 +97,10 @@ class Election < ActiveRecord::Base active == 2 end + def authenticated? + authenticated + end + def shortdesc shortdesc = description.split(/\n/)[0] end diff --git a/app/models/picture.rb b/app/models/picture.rb index 04b368e..9f17ec4 100644 --- a/app/models/picture.rb +++ b/app/models/picture.rb @@ -21,7 +21,7 @@ class Picture < ActiveRecord::Base has_attachment :storage => :file_system, :max_size => 1.megabytes, - :thumbnails => { :thumb => '70x53>' }, + :thumbnails => { :thumb => '70x53' }, :processor => :Rmagick validates_as_attachment diff --git a/app/models/token.rb b/app/models/token.rb index aa432d6..c2d3667 100644 --- a/app/models/token.rb +++ b/app/models/token.rb @@ -23,7 +23,7 @@ class Token < ActiveRecord::Base super token_generator = UniqueTokenGenerator.new( 16 ) - until not token.empty? and Token.find(:all, :conditions => [ "token = ?", token ]).empty? + until not token.empty? and Token.find(:all, :conditions => [ "token = ?", token ]).empty? and token[0..3] != "open" self.token = token_generator.token end diff --git a/app/models/vote.rb b/app/models/vote.rb index bb91a6b..bef3502 100644 --- a/app/models/vote.rb +++ b/app/models/vote.rb @@ -69,13 +69,9 @@ class Vote < ActiveRecord::Base rankings.each { |ranking| ranking.destroy } end - def settime - self.time = Time.now - self.save - end - def confirm! self.confirmed = 1 + self.time = Time.now self.save unless self.voter.election.quickvote? @@ -105,7 +101,7 @@ class Vote < ActiveRecord::Base # too. It creates a vote with the candidates listed in order of preference # based on alphabetical order. Meant to be manipulated and then confirmed def set_defaults! - self.votes = voter.election.candidates.sort.collect {|c| c.id } + self.votes = self.voter.election.candidates.sort_by { rand }.collect {|c| c.id } self.save end diff --git a/app/views/election/_candidate_box_info.rhtml b/app/views/election/_candidate_box_info.rhtml new file mode 100644 index 0000000..76d56c0 --- /dev/null +++ b/app/views/election/_candidate_box_info.rhtml @@ -0,0 +1,15 @@ +
+ <% if @current_candidate.picture %> +
+ +
+ <% end %> +
+ <% if @current_candidate.description.length > 0 %> + <%= h(@current_candidate.description) %> + <% else %> + + <% end %> +
+
+
diff --git a/app/views/election/_candidate_form.rhtml b/app/views/election/_candidate_form.rhtml index fcbf072..75e5c3e 100644 --- a/app/views/election/_candidate_form.rhtml +++ b/app/views/election/_candidate_form.rhtml @@ -6,6 +6,6 @@

(optional and < 100x100 pixels)
-<%= file_field :candidate, :picture %>

+<%= file_field :picture, :uploaded_data%>

diff --git a/app/views/election/_candidate_line.rhtml b/app/views/election/_candidate_line.rhtml index 6b5b553..2fc9a63 100644 --- a/app/views/election/_candidate_line.rhtml +++ b/app/views/election/_candidate_line.rhtml @@ -10,7 +10,7 @@
+

>Anyone will be able to +vote in this election.

+ +
> <%= render :partial => 'voter_list' %> <% form_tag (:action => 'edit_voters', :id => @election.id) do %> <%= render :partial => 'voters_form' %> <% end %> +
+ +<%= check_box :election, :authenticated %> Only allow registered voters + +<%= observe_field "election_authenticated", + :url => { :action => 'toggle_authenticated', :id => @election.id }, + :complete => 'Element.toggle($("voter_info_box")); Element.toggle($("unauth_notice"));', + :with => 'authenticated' %> + +
Continue diff --git a/app/views/election/show.rhtml b/app/views/election/show.rhtml index 3e63628..87529d1 100644 --- a/app/views/election/show.rhtml +++ b/app/views/election/show.rhtml @@ -9,6 +9,11 @@ <% elsif @election.done? %>
Election is finished. <%= link_to "View results", :action => 'results', :id => @election.id %>.
+<% else %> +

+ <%= link_to "Edit General Information", + :action => 'edit_general_information', :id => @election.id %> +

<% end %>

Summary

@@ -23,29 +28,39 @@ <%= h(@election.description) %> -

End Date

+

Additional Information

-
-<%= @election.enddate %> -
+ + +
Candidates
-<% unless @election.candidates.empty? %> - <%= render :partial => 'candidate_list' %> - <% unless @election.active %> -

<%= link_to "Add, remove, or edit candidates.", :action => 'edit_candidates', :id => @election.id %>

- <% end %> -<% else %> -

There are currently no candidates registered. <%= link_to "Add some!", :action => 'edit_candidates', :id => @election.id unless @election.active %>

+<% if not (@election.active? or @election.done?) %> +

+ <%= link_to "Edit Candidates", + :action => 'edit_candidates', :id => @election.id %>

+<% end %> + + +<% if @election.candidates.empty? %> +

There are currently no candidates registered. + <%= link_to "Add some!", :action => 'edit_candidates', :id => @election.id %> +

+<% else %> + <%= render :partial => 'candidate_list' %> <% end %>
@@ -53,14 +68,26 @@
-<% unless @election.voters.empty? %> - <%= render :partial => 'voter_list' %> - <%= link_to "Add or remove voters.", :action => 'edit_voters', :id => @election.id unless @election.active %>

+<% if not (@election.active? or @election.done?) %> +

+ <%= link_to "Change Voters/Options", + :action => 'edit_voters', :id => @election.id %>

+<% end %> + +<% if not @election.authenticated? %> +

This election is open the public.

+<% elsif @election.voters.empty? %> +

There are currently no voters registered. + <%= link_to "Add some!", :action => 'edit_voters', + :id => @election.id %>

<% else %> -

There are currently no voters registered. <%= link_to "Add some!", :action => 'edit_voters', :id => @election.id unless @election.active %>

+ <%= render :partial => 'voter_list' %> +

<%= link_to "Add or remove voters.", :action => 'edit_voters', + :id => @election.id unless @election.active? or @election.done? %> +

<% end %> -<% unless @election.active? %> +<% if not (@election.active? or @election.done?) %>
Start Election @@ -85,11 +112,28 @@
  • The vote will be "frozen" so that further edits to the candidate list and voting list cannot occur.
  • + <% if @election.authenticated? %>
  • All voters will be emailed notifying them that the vote has begun and of their unique login token.
  • + <% end %>
<%= button_to 'Start Election!', :action => 'start_election', :id => @election.id %> <% end %> +<% elsif @election.embeddable? %> + +
+ Embedding + +
+ + +

To embed your election, copy and paste the following code into your +homepage:

+ +
+
<%= h("") %>
+
+ <% end %> diff --git a/app/views/embed/full_vote.rhtml b/app/views/embed/full_vote.rhtml new file mode 100644 index 0000000..70a6825 --- /dev/null +++ b/app/views/embed/full_vote.rhtml @@ -0,0 +1,35 @@ + +
+ +
    + <% @voter.vote.rankings.each do |ranking| %> +
  • + <%= white_list ranking.candidate.name %> +

    + <%= white_list ranking.candidate.name %>
    + <%= white_list ranking.candidate.description %>

    +
  • + <% end %> +
+ +
+ +
+
+

Submit Vote

+

Drag and drop to rank your favorite videos

+
+
+
+ +<%= sortable_element 'rankings-list', + :url => { :action => "sort_candidates", :id => @voter.vote.id } %> + diff --git a/app/views/embed/results.rhtml b/app/views/embed/results.rhtml new file mode 100644 index 0000000..b9b1eb4 --- /dev/null +++ b/app/views/embed/results.rhtml @@ -0,0 +1,36 @@ + +
+ +
    + <% @election.ssd_result.ranked_candidates.flatten.each do |ranking_id| %> + <% ranking = @candidates[ranking_id] %> +
  • + <%= white_list ranking.name %> +

    + <%= white_list ranking.name %>
    + <%= white_list ranking.description %>

    +
  • + <% end %> +
+ +
+ +
+
+ 'true' %>">

Results

+ +

Your vote was recorded correctly.

+ +
+
+
+ + diff --git a/app/views/layouts/embed.rhtml b/app/views/layouts/embed.rhtml new file mode 100644 index 0000000..d8290fa --- /dev/null +++ b/app/views/layouts/embed.rhtml @@ -0,0 +1,19 @@ + + + + + Selectricity + <%= stylesheet_link_tag "embed", :media => "all" %> + <%begin%> + <%= stylesheet_link_tag "ie6hacks", :media => "all" if + request.user_agent =~ /msie\s(5\.[5-9]|[6]\.[0-9]*).*(win)/i %> + <%rescue NoMethodError%> + <%end%> + <%= javascript_include_tag "prototype", "effects", "dragdrop", "controls" %> + + + + <%= @content_for_layout %> + + + diff --git a/app/views/voter/_results_sidebar.rhtml b/app/views/voter/_results_sidebar.rhtml index 9814aed..3a9ebb0 100644 --- a/app/views/voter/_results_sidebar.rhtml +++ b/app/views/voter/_results_sidebar.rhtml @@ -3,5 +3,5 @@

Details

-

<%= link_to "Auditing Information", { :action => 'details', :id => @voter.password }, :popup => [] %>

+

<%= link_to "Auditing Information", { :action => 'details', :id => @password }, :popup => [] %>

diff --git a/app/views/voter/_vote.rhtml b/app/views/voter/_vote.rhtml index 914077c..bd1040e 100644 --- a/app/views/voter/_vote.rhtml +++ b/app/views/voter/_vote.rhtml @@ -11,7 +11,7 @@ least preferred. Please list all choices in every vote. (For example, 123 or 321 or 213, etc.)

-<%= form_tag :action => 'review', :id => @voter.password %> +<%= form_tag :action => 'review', :id => @password %> <%= text_field :vote, :votestring -%> <%= submit_tag "Vote!" %> diff --git a/app/views/voter/_vote_sidebar.rhtml b/app/views/voter/_vote_sidebar.rhtml index 5b8d038..2f250e0 100644 --- a/app/views/voter/_vote_sidebar.rhtml +++ b/app/views/voter/_vote_sidebar.rhtml @@ -6,5 +6,5 @@ order.

<%= render :partial => 'common/sortable_vote' %>
-<%= button_to "Submit Vote", :action => 'review', :id => @voter.password %> +<%= button_to "Submit Vote", :action => 'review', :id => @password %>
diff --git a/app/views/voter/full_vote.rhtml b/app/views/voter/full_vote.rhtml index 9d4f1d0..5e8a8d1 100644 --- a/app/views/voter/full_vote.rhtml +++ b/app/views/voter/full_vote.rhtml @@ -30,12 +30,10 @@ vote.

<% @voter.election.candidates.each do |candidate| %> <% @current_candidate = candidate %> -
-

<%=h @current_candidate.name -%>

-
- <%=h (@current_candidate.description) %> -
+

<%= h @current_candidate.name %>

+ <%= render :partial => 'election/candidate_box_info' %>
<% end %> + diff --git a/app/views/voter/review.rhtml b/app/views/voter/review.rhtml index d9ecf19..657c075 100644 --- a/app/views/voter/review.rhtml +++ b/app/views/voter/review.rhtml @@ -24,13 +24,12 @@ preferred to least preferred:

Please select from one of the following pages.

-

<%= button_to 'Confirm This Vote', :action => 'confirm', :id => @voter.password %>

+

<%= button_to 'Confirm This Vote', :action => 'confirm', :id => @password %>

If you choose, you will be able to go back
and change it up until the end of hte voting period.

-

<%= button_to 'Discard This Vote', votepassword_url( - :action => 'index', :urlpassword => @voter.password) %>

+ :action => 'index', :urlpassword => @password) %>

You will be returned to the voting page to vote
again, if you choose.

diff --git a/config/routes.rb b/config/routes.rb index e2f458d..8c52ca0 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -17,13 +17,17 @@ ActionController::Routing::Routes.draw do |map| map.connect 'voter/:action', :controller => 'voter', - :requirements => { :action => /(review|confirm|authenticate|index|login|reminder)/ } + :requirements => { :action => /(review|confirm|authenticate|index|login|reminder|results)/ } + + map.voteopen 'voter/open.:election_id', + :controller => 'voter', + :action => 'index' map.votepassword 'voter/:urlpassword', :controller => 'voter', :action => 'index' - map.connect 'quickvote/:action/:id', + map.connect 'quickvote/:action/(open.)?:id', :controller => 'quickvote', :requirements => { :action => /(create|add_candidate|sort_candidates|my_quickvotes)/ } diff --git a/db/migrate/002_add_embeddable_support.rb b/db/migrate/002_add_embeddable_support.rb new file mode 100644 index 0000000..48fa00d --- /dev/null +++ b/db/migrate/002_add_embeddable_support.rb @@ -0,0 +1,16 @@ +class AddEmbeddableSupport < ActiveRecord::Migration + def self.up + add_column :elections, :embeddable, :boolean, + :null => false, :default => false + add_column :elections, :authenticated, :boolean, + :null => false, :default => true + add_column :elections, :early_results, :boolean, + :null => false, :default => false + end + + def self.down + remove_column :elections, :embeddable + remove_column :elections, :authenticated + remove_column :elections, :early_results + end +end diff --git a/db/schema.rb b/db/schema.rb index 1195e09..aa46f6f 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -2,7 +2,7 @@ # migrations feature of ActiveRecord to incrementally modify your database, and # then regenerate this schema definition. -ActiveRecord::Schema.define(:version => 1) do +ActiveRecord::Schema.define(:version => 2) do create_table "candidates", :force => true do |t| t.column "election_id", :integer, :null => false @@ -23,6 +23,9 @@ ActiveRecord::Schema.define(:version => 1) do t.column "quickuser", :string t.column "election_method", :string, :limit => 100, :default => "ssd" t.column "type", :string, :limit => 100, :default => "", :null => false + t.column "embeddable", :boolean, :default => false, :null => false + t.column "authenticated", :boolean, :default => true, :null => false + t.column "early_results", :boolean, :default => false, :null => false end add_index "elections", ["user_id"], :name => "fk_user_election" diff --git a/public/images/default_icon.png b/public/images/default_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..57c97316a7c30da2bdc1d786df3aa32d8a007d91 GIT binary patch literal 5702 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 X$L<%GKMd&p&Fm@)n)20h){*}MD4pZ9 literal 0 HcmV?d00001 diff --git a/public/images/embed_basic_bg.png b/public/images/embed_basic_bg.png new file mode 100644 index 0000000000000000000000000000000000000000..a014a01732d4dde28b7274fc63e330432384118d GIT binary patch literal 10641 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 literal 0 HcmV?d00001 diff --git a/public/images/embed_header_icon.png b/public/images/embed_header_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..5c6510533b1fa399a861a5080d003f82e1d16cd9 GIT binary patch literal 5738 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 literal 0 HcmV?d00001 diff --git a/public/images/embed_results_changevote.png b/public/images/embed_results_changevote.png new file mode 100644 index 0000000000000000000000000000000000000000..534533b246d595e2f21111b6782981da2728db55 GIT binary patch literal 4108 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 EAIebpv;Y7A literal 0 HcmV?d00001 diff --git a/public/stylesheets/embed.css b/public/stylesheets/embed.css new file mode 100644 index 0000000..fe0b7f2 --- /dev/null +++ b/public/stylesheets/embed.css @@ -0,0 +1,202 @@ +@charset "utf-8"; +/* CSS Document */ + +/***************************************************************************************** + * + * "Reset Reloaded" + * Thanks to Eric Meyer + * http://meyerweb.com/eric/thoughts/2007/05/01/reset-reloaded/ + * + */ + +html, body, div, span, applet, object, iframe, +h1, h2, h3, h4, h5, h6, p, blockquote, pre, +a, abbr, acronym, address, big, cite, code, +del, dfn, em, font, img, ins, kbd, q, s, samp, +small, strike, strong, sub, sup, tt, var, +dl, dt, dd, fieldset, form, label, legend, +table, caption, tbody, tfoot, thead, tr, th, td { + margin: 0; + padding: 0; + border: 0; + outline: 0; + font-weight: inherit; + font-style: inherit; + font-size: 100%; + font-family: inherit; + vertical-align: baseline; +} + +strong, h2, h3 { + font-weight: bold; +} + +body { + line-height: 1; + color: black; + background: white; +} + +/* tables still need 'cellspacing="0"' in the markup */ +table { + border-collapse: separate; + border-spacing: 0; +} + +caption, th, td { + text-align: left; + font-weight: normal; +} + +blockquote:before, blockquote:after, +q:before, q:after { + content: ""; +} + +blockquote, q { + quotes: "" ""; +} + + + + + +/* GENERIC *****************************************************************************/ + +body { + font-family: helvetica,verdana; + font-size: 11px; + color: white; +} + +a { + color: inherit; + text-decoration: none; +} + +.submit_vote_button { + cursor: pointer; +} + + +#header { + width: 330px; + height: 53px; + background: transparent url(/images/embed_basic_bg.png) top left no-repeat; + margin: 0px; + padding: 0px; + overflow: hidden; +} + +#header h2 { + font-size: 25px; + margin: 12px 0px 12px 7px; + color: #FFF; + font-weight: normal; +} +#header_icon { + display: float; + float: right; +} + + +/* VOTING ******************************************************************************/ + +#voting-box { + width: 330px; + height: 317px; + background: transparent url(/images/embed_voting_bg.png) top left no-repeat; + margin: 0px; + padding: 0px; + overflow: hidden; +} + +ul { + margin: 0 0 0 40px; + padding: 0 0 0 0; + list-style: none; +} + +.ranking { + margin: 0px; + height: 53px; + overflow: hidden !important; +} + +.ranking img { + margin: 0 0 0 0; + padding: 0 0 0 0; + float: left; + clear: left; +} + +.ranking-info { + margin-left: 70px; + width: 202px; + height: 23px; + padding: 11px 6px 13px 6px; + color: #666666; + line-height: 1.2em; + border: 3px solid transparent; +} + +.ranking-info a { + font-weight: bold; + color: #666666; +} + +#voting-bottom { + color: #464646; + position: absolute; + top: 318px; + width: 330px; +} + +#container { + margin: 0 auto 0 auto; + width: 90%; +} + +#voting-bottom h2, #results-bottom h2 { + padding-top: 20px; + height: 0px; + width: 119px; + overflow: hidden; + float: left; + margin-top: 16px; +} + +#voting-bottom p, #results-bottom p { + float: left; + width: 160px; + margin-top: 12px; + margin-left: 10px; + line-height: 1.3em; +} + + +#voting-bottom h2 { + background: transparent url(/images/embed_voting_submitvote.png); +} + +#results-bottom h2 { + background: transparent url(/images/embed_results_changevote.png); +} + + + + + + + + + + + + + + + + + + diff --git a/public/stylesheets/main.css b/public/stylesheets/main.css index e7ff4a6..1ac598a 100644 --- a/public/stylesheets/main.css +++ b/public/stylesheets/main.css @@ -439,14 +439,9 @@ div.photo img { .candidate_box_info { margin: 0.5em 0 0.5em 3em; } -/*.candidate_box_picture { - width: 100px; +.candidate_box_picture { float: left; - margin: 0 0.8em 0.5em 0; -}*/ -.candidate_box_picture img { - width: 100px; - border: 1px solid black; + margin: 0 0.8em 0.4em 0; } .candidate_box_description { display: inline; -- 2.39.5