]> projects.mako.cc - selectricity-live/commitdiff
Major integration of Courtland's design into the QuickVotes.
author<mako@atdot.cc> <>
Wed, 29 Aug 2007 18:12:16 +0000 (14:12 -0400)
committer<mako@atdot.cc> <>
Wed, 29 Aug 2007 18:12:16 +0000 (14:12 -0400)
24 files changed:
app/controllers/application.rb
app/controllers/election_controller.rb
app/controllers/quickvote_controller.rb
app/views/election/_progress.rhtml
app/views/election/_voter_list.rhtml
app/views/election/edit_candidates.rhtml
app/views/election/general_information.rhtml
app/views/election/new_voters.rhtml
app/views/layouts/_footer.rhtml
app/views/layouts/main.rhtml
app/views/quickvote/_advanced.rhtml [deleted file]
app/views/quickvote/_create_sidebar.rhtml [new file with mode: 0644]
app/views/quickvote/create.rhtml
app/views/quickvote/index.rhtml
app/views/quickvote/results.rhtml
app/views/quickvote/success.rhtml
app/views/quickvote/thanks.rhtml
public/stylesheets/common.css
public/stylesheets/election.css [new file with mode: 0644]
public/stylesheets/front.css
public/stylesheets/main.css
public/stylesheets/quickvote.css [new file with mode: 0644]
public/stylesheets/voter.css [new file with mode: 0644]
vendor/plugins/sitealizer/lib/last_update

index 9b4803092dfc48e4c3ed6a006204de60ae39323e..aeb2204f38ef75015b229032463114d7975330be 100644 (file)
@@ -5,5 +5,17 @@ class ApplicationController < ActionController::Base
   include AuthenticatedSystem
   helper :user
   require_dependency "user"
   include AuthenticatedSystem
   helper :user
   require_dependency "user"
-  
+  before_filter :add_stylesheets
+   
+  def initialize
+    @stylesheets = []
+  end
+            
+  def add_stylesheets
+    file = "#{Dir.pwd}/public/stylesheets/#{controller_name}.css"
+    if File.exists? file
+      @stylesheets << controller_name
+    end
+  end
+
 end
 end
index 4ad8bacb354b5cac24a320b994f74427d2809a23..570f1fc3687a4162428555d06829544074d74b93 100644 (file)
@@ -16,6 +16,8 @@ class ElectionController < ApplicationController
   end
   
   def general_information
   end
   
   def general_information
+    @sidebar_content = render_to_string :partial => 'progress',
+                                        :locals => { :page => 'overview' }
     @election = Election.new
     render :action => 'general_information'
   end
     @election = Election.new
     render :action => 'general_information'
   end
@@ -81,6 +83,8 @@ class ElectionController < ApplicationController
   # information for elections
   ####################################################################
   def edit_candidates
   # information for elections
   ####################################################################
   def edit_candidates
+    @sidebar_content = render_to_string :partial => 'progress',
+                                        :locals => { :page => 'candidates' }
     @election = Election.find( params[:id] )
   end
 
     @election = Election.find( params[:id] )
   end
 
index cd63c2e52f61245f2d6b0b537cfb56b624e4d0b2..6886ca40e32f844469f50666d1c63ca130ed8874 100644 (file)
@@ -12,17 +12,41 @@ class QuickvoteController < ApplicationController
   def create
     if params[:quickvote]
       @quickvote = QuickVote.new(params[:quickvote])
   def create
     if params[:quickvote]
       @quickvote = QuickVote.new(params[:quickvote])
+
+      # check to see if any of the advanced options have been changed
+      new_qv = QuickVote.new
+      if @quickvote.election_method != new_qv.election_method \
+        or @quickvote.enddate.day != new_qv.enddate.day \
+        or @quickvote.viewable != new_qv.viewable \
+        or @quickvote.notices != new_qv.notices
+        show_advanced = true
+      end
+    end
+
+    show_advanced ||= false
+
+    # render the sidebar
+    @sidebar_content = render_to_string(:partial => 'create_sidebar',
+      :locals => {:show_advanced => show_advanced})
+
+    if params[:quickvote]
+
       # store the candidate grabbed through ajax and stored in flash
       @quickvote.candidate_names = flash[:candidate_names]
       @quickvote.description=@quickvote.description
       # store the candidate grabbed through ajax and stored in flash
       @quickvote.candidate_names = flash[:candidate_names]
       @quickvote.description=@quickvote.description
+
       #record who created the quickvote so that person can monitor it easily
       @quickvote.quickuser = session.session_id
       #record who created the quickvote so that person can monitor it easily
       @quickvote.quickuser = session.session_id
+
       #Give registered users additional QuickVote functionality 
       @quickvote.user_id = session[:user][:id] if session[:user]
       #Give registered users additional QuickVote functionality 
       @quickvote.user_id = session[:user][:id] if session[:user]
+
       # try to save, if it fails, show the page again (the flash should
       # still be intact
       if @quickvote.save
         @quickvote = @quickvote.reload
       # try to save, if it fails, show the page again (the flash should
       # still be intact
       if @quickvote.save
         @quickvote = @quickvote.reload
+        # blank sidebar and show the success page
+        @sidebar_content = ''
         render :action => 'success'
       else
         flash.keep(:candidate_names)
         render :action => 'success'
       else
         flash.keep(:candidate_names)
@@ -35,6 +59,7 @@ class QuickvoteController < ApplicationController
       flash.delete(:candidate_names) if flash.has_key?(:candidate_names)
       @quickvote = QuickVote.new
     end
       flash.delete(:candidate_names) if flash.has_key?(:candidate_names)
       @quickvote = QuickVote.new
     end
+
   end
 
   def add_candidate
   end
 
   def add_candidate
index 520894cdb79ec4d2ffd5304cc7f04b88a5b182ad..40beb60b590931d2f62a7c6b1f8bc8638b4a9840 100644 (file)
@@ -2,12 +2,13 @@
                       ['candidates', 'Candidates'],
                       ['voters', 'Voters'],
                       ['review', 'Review'] ] %>
                       ['candidates', 'Candidates'],
                       ['voters', 'Voters'],
                       ['review', 'Review'] ] %>
+<h2>Progress</h2>
 <div id="election_creation_progress_bar">
 
 <ul>
 <% progress_steps.each_with_index do |kv, i| -%>
   <% step, description = kv -%>
 <div id="election_creation_progress_bar">
 
 <ul>
 <% progress_steps.each_with_index do |kv, i| -%>
   <% step, description = kv -%>
-  <li class="<%= step == progress ? 'step_selected' : 'step_unselected' -%>
+  <li class="<%= step == page ? 'step_selected' : 'step_unselected' -%>
              <%= " last" if i + 1 == progress_steps.length -%>
              ">Step <%= i + 1 %>: <%= description %></li>
 <% end -%>
              <%= " last" if i + 1 == progress_steps.length -%>
              ">Step <%= i + 1 %>: <%= description %></li>
 <% end -%>
index c55afdb63e62ebc10768bfc1fb3c65c67d76c09f..4493b0a3950f5c862576f4172c7463004a9d15fa 100644 (file)
@@ -1,12 +1,13 @@
-<% %>
-
 <% if @election.voters.length == 0 %>
 <% if @election.voters.length == 0 %>
+
 <p>There are currently no voters registered for this election.</p>
 <p>There are currently no voters registered for this election.</p>
+
 <% else %>
 <% else %>
+
 <p>The following voters are currently registered for this election:</p>
 
 <ul>
 <p>The following voters are currently registered for this election:</p>
 
 <ul>
-  <% @election.voters.each do |voter| %>
+<% @election.voters.each do |voter| %>
   <div id="voter<%= voter.id %>">
     <li><%= voter.email %>
         <% if @edit %>
   <div id="voter<%= voter.id %>">
     <li><%= voter.email %>
         <% if @edit %>
index 837f75560760d0ea03d0b6a652eaf25106682bbc..756554dcd83950c18a42da63412e19ac75a16401 100644 (file)
@@ -1,5 +1,4 @@
-<%= render_partial 'progress', 'candidates' %>
-<h1>Edit/Add Candidates</h1>
+<h2>Edit/Add Candidates</h2>
 
 <%= error_messages_for :candidate %>
 
 
 <%= error_messages_for :candidate %>
 
index 0a1a51394c5dff7dc1a8fabdec0cf45bc50e30ca..be099531509a3de17d63227daf58093403c03f23 100644 (file)
@@ -1,7 +1,3 @@
-<%= render_partial 'progress', 'overview' %>
-
-<h1>Create A New Vote</h1>
-
 <h2>Vote Overview</h2>
 
 <% form_tag (:action => 'create_election') do %>
 <h2>Vote Overview</h2>
 
 <% form_tag (:action => 'create_election') do %>
index fc49e13638167dd8fa026ac7e373625e1885ee82..d1f0fab8adafc5f59be7bb0b67c47fb046c943bc 100644 (file)
@@ -1,4 +1,3 @@
-<%= render_partial 'progress', 'voters' %>
 <% @edit = true %>
 <h1><strong><%= @election.name %>:</strong> Enter List of Voter Email Addresses</h1>
 
 <% @edit = true %>
 <h1><strong><%= @election.name %>:</strong> Enter List of Voter Email Addresses</h1>
 
index b23900f2bb2f59a9d6db402bef26948a0924657b..a30193cefd72ce35b5187df48bb20f6fb98eafd2 100644 (file)
@@ -1,4 +1,4 @@
   <div id="footer">
   <div id="footer">
-       <a href="http://code.selectricity.org/">Copyleft</a> 2006, 2007 &nbsp;&nbsp; || &nbsp;&nbsp; 
+       <a href="http://code.selectricity.org/">Copyleft 2006, 2007</a> &nbsp;&nbsp; || &nbsp;&nbsp; 
        <a href="http://www.media.mit.edu">MIT Media Lab</a>
   </div>
        <a href="http://www.media.mit.edu">MIT Media Lab</a>
   </div>
index a1c9173851c7cb7bb797a891111ce6bdf97ec40e..5ae18dc81a11db933e7b20df5b9627d299075ad6 100644 (file)
@@ -4,6 +4,7 @@
     <title><%= @page_title || "Selectricity" %></title>
     <%= stylesheet_link_tag "common", :media => "all" %>
     <%= stylesheet_link_tag "main", :media => "all" %>
     <title><%= @page_title || "Selectricity" %></title>
     <%= stylesheet_link_tag "common", :media => "all" %>
     <%= stylesheet_link_tag "main", :media => "all" %>
+    <%= stylesheet_link_tag *(@stylesheets) %>
     <%= javascript_include_tag "prototype", "effects", "dragdrop", "controls" %>
   </head>
 
     <%= javascript_include_tag "prototype", "effects", "dragdrop", "controls" %>
   </head>
 
                   :controller => 'site', :action => 'index' %>
 
       <div id="left-side-content">
                   :controller => 'site', :action => 'index' %>
 
       <div id="left-side-content">
+        <% if flash[:notice]%>
+        <div id="notice"><%= flash[:notice] %></div>
+        <% end%>
+
         <%= @sidebar_content %>
       </div>
 
         <%= @sidebar_content %>
       </div>
 
@@ -41,9 +46,6 @@
       </div> <!-- end of top-bar -->
       
       <div id="main-box">
       </div> <!-- end of top-bar -->
       
       <div id="main-box">
-        <% if flash[:notice]%>
-        <div id="notice"><%= flash[:notice] %></div>
-        <% end%>
         <%= @content_for_layout %>
       </div>
 
         <%= @content_for_layout %>
       </div>
 
diff --git a/app/views/quickvote/_advanced.rhtml b/app/views/quickvote/_advanced.rhtml
deleted file mode 100644 (file)
index d8228cf..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-<% fields_for 'quickvote', quickvote do |quickform| %>
-
-<p><label for="quickvote_election_method">Election Method</label></p>
-
-<p><%= quickform.select('election_method', 
-    %w(ssd condorcet plurality approval borda) ) %></p>
-
-<p><label for="quickvote_enddate">End Time</label></p>
-<p><%= quickform.date_select(:enddate, :start_year => Time.now.year) %></p>
-
-<p>Visibility</p>
-
-<p>Do you want the results to be visible while the election is active?</p>
-
-<p>Yes <%= quickform.radio_button(:viewable, 1)%>
-No  <%= quickform.radio_button(:viewable, 0)%></p>
-
-<% if session[:user] %>
-<p>Notification</p>
-
-<p>Would you like to be e-mailed when this QuickVote concludes?</p>
-
-<p>Yes <%= quickform.radio_button(:notices, 1)%>
-No  <%= quickform.radio_button(:notices, 0)%></p>
-<% end -%>
-
-<% end %>
diff --git a/app/views/quickvote/_create_sidebar.rhtml b/app/views/quickvote/_create_sidebar.rhtml
new file mode 100644 (file)
index 0000000..6d1bca5
--- /dev/null
@@ -0,0 +1,12 @@
+<%= error_messages_for 'quickvote' %>
+
+<script type="text/javascript">
+function show_advanced() {
+  Element.toggle($("advanced"));
+  Element.toggle($("advanced_toggle"));
+}
+<%= "Event.observe(window, 'load', show_advanced, false);" if show_advanced %>
+</script>
+
+<p id="advanced_toggle"><a href="#" onClick='show_advanced(); false;'>Show advanced options</a></p>
+
index b1b6004ec7a75d60b76244a58f74138cf63576d2..37e62c698c6ea2208be2c4fdba191176f252e5d0 100644 (file)
@@ -1,33 +1,10 @@
-<div id="voters-title">
-       <span class="header">Title</span>
-       <span class="subheader">Subtitle</span>
-       <div style="clear:both;"></div>
-</div>
-
-<div id="controlroom-title">
-       <span class="header">Title</span>
-       <span class="subheader">Subtitle</span>
-       <div style="clear:both;"></div>
-</div>
-
-<div id="quickvote-title">
+<div id="page-title">
        <span class="header">Quickvote</span>
        <span class="header">Quickvote</span>
-       <span class="subheader"></span>
+       <span class="subheader">Create New QuickVote</span>
        <div style="clear:both;"></div>
 </div>
 
        <div style="clear:both;"></div>
 </div>
 
-<%= error_messages_for 'quickvote' %>
-
-<span class="header">Header</span>
-<span class="subheader">Subheader</span>
-<div style="clear:both;"></div>
-
-<span class="header">Header</span>
-<span class="subheader"></span>
-<div style="clear:both;"></div>
-
-<span class="header">Header</span>
-<div style="clear:both;"></div>
+<div class="main-content">
 
 <p><label for="quickvote_candidate_names">Choices</p>
 
 
 <p><label for="quickvote_candidate_names">Choices</p>
 
 
 <% form_tag(:action => 'create') do %>
 <!--[form:election]-->
 
 <% form_tag(:action => 'create') do %>
 <!--[form:election]-->
-
 <p><label for="quickvote_name">One Word Description (for URL)</label></p>
 
 <p><label for="quickvote_name">One Word Description (for URL)</label></p>
 
-<p><em><font size="-1">required; 5-12 characters; only letters and numbers; no spaces</font></em></p>
+<p>required; 5-12 characters; only letters and numbers; no spaces</p>
 
 <p><%= text_field 'quickvote', 'name', :size => 15, :maxsize => 12  %></p>
 
 <p><label for="quickvote_description">Description</label></p>
 
 
 <p><%= text_field 'quickvote', 'name', :size => 15, :maxsize => 12  %></p>
 
 <p><label for="quickvote_description">Description</label></p>
 
-<p><font size="-1">required; one line summary on the first line</font></em><br/>
-
-<%= text_area 'quickvote', 'description', :cols => 50, :rows => 4 %></p>
+<p><font size="-1">required; free-form</font></em><br/>
 
 
-<%= check_box('options', 'advanced', 
-    :onclick => 'Element.toggle($("advanced")); false;' )%>Advanced
+<%= text_field 'quickvote', 'description', :size => 50 %></p>
 
 <div id="advanced" style="display: none">
 
 <div id="advanced" style="display: none">
-<%= render :partial => 'advanced', :locals => {:quickvote => @quickvote} %>
-</div>
-<br />
+  <div class="plain-header">
+  <span class="header">Advanced Options</span>
+  <span class="subheader"></span>
+  </div>
+  <div class="clear-div"></div>
 
 
-<p><%= submit_tag "Create Quickvote" -%></p>
+  <% fields_for 'quickvote', @quickvote do |quickform| %>
 
 
-<% end %>
+    <p><label for="quickvote_election_method">Election Method</label></p>
+
+    <p><%= quickform.select('election_method', 
+        %w(ssd condorcet plurality approval borda) ) %></p>
+
+    <p><label for="quickvote_enddate">End Time</label></p>
+    <p><%= quickform.date_select(:enddate, :start_year => Time.now.year) %></p>
+
+    <p><label for="quickvote_visibility">Visibility</label></p>
+
+    <p>Do you want the results to be visible while the election is active?</p>
+
+    <p>Yes <%= quickform.radio_button(:viewable, 1)%>
+       No  <%= quickform.radio_button(:viewable, 0)%></p>
+
+    <% if session[:user] %>
+      <p>Notification</p>
 
 
+      <p>Would you like to be e-mailed when this QuickVote concludes?</p>
 
 
+      <p>Yes <%= quickform.radio_button(:notices, 1)%>
+         No  <%= quickform.radio_button(:notices, 0)%></p>
+    <% end -%>
 
 
+  <% end %>
 
 
+</div>
+<br />
+
+<p><%= submit_tag "Create Quickvote" -%></p>
 
 
+<% end %>
+
+</div>
index 1179b7cb894833f9f98d9f93da46958169d32428..a96fc41c609633882b514fb39db8d5067b31f936 100644 (file)
@@ -1,19 +1,12 @@
-<% %>
-
-<% if @voter.election.shortdesc %>
-  <h1><%=h @voter.election.shortdesc %></h1>
-<% else %>
-  <h1>QuickVote</h1>
-<% end %>
-
-<% if @voter.election.longdesc %>
-  <p><strong>Description:</strong></p>
-  <blockquote><%=h @voter.election.longdesc %></blockquote>
+<div id="page-title">
+       <span class="header">Quickvote</span>
+       <span class="subheader"><%=h @voter.election.description.capitalize %></span>
+</div>
 
 
-<h2>Vote</h2>
-<% end %>
+<div class="main-content">
 
 <% if @voter.voted? %>
 
 <% if @voter.voted? %>
+
   <p>You have already voted. You can:</p>
   
   <ul>
   <p>You have already voted. You can:</p>
   
   <ul>
@@ -36,7 +29,7 @@ bottom</em>. When you are done, press confirm to record your vote.</p>
 </ol>
 </div>
 
 </ol>
 </div>
 
-<div class="clearbox"></div>
+<div class="clear-div"></div>
 
 <%= button_to "Confirm Vote", quickaction_url( :action => 'confirm', :ident => @voter.election.name)  %>
 
 
 <%= button_to "Confirm Vote", quickaction_url( :action => 'confirm', :ident => @voter.election.name)  %>
 
@@ -45,3 +38,4 @@ bottom</em>. When you are done, press confirm to record your vote.</p>
     :complete => visual_effect(:highlight, 'rankings-list') %> 
 
 <% end %>
     :complete => visual_effect(:highlight, 'rankings-list') %> 
 
 <% end %>
+</div> <!-- end main-content -->
index 0383b5e4434c0acfba9b9e391b16e463687b91b5..8b658f77a3c86dcae036916f5c7ddee82322fb6c 100644 (file)
@@ -1,9 +1,14 @@
-<% %>
-<%require 'whois/whois' %>
-<h1>Results</h1>
+<% require 'whois/whois' %>
+
+<div id="page-title">
+  <span class="header">Quickvote</span>
+  <span class="subheader">Results</span>
+</div>
+
+<div class="main-content">
 
 <% if @election.shortdesc %>
 
 <% if @election.shortdesc %>
-  <p><strong>Description:</strong></p>
+  <p><strong>Vote Description:</strong></p>
   <blockquote><em><%=h @election.shortdesc %></em>
     <% if @election.longdesc -%>
       <br />
   <blockquote><em><%=h @election.shortdesc %></em>
     <% if @election.longdesc -%>
       <br />
      <%= @election.voters.reject {|v| not v.voted? }.length %> (see below for details) 
    </blockquote>
 
      <%= @election.voters.reject {|v| not v.voted? }.length %> (see below for details) 
    </blockquote>
 
-<h2>Winners</h2>
+<div class="plain-header">
+  <span class="header">Winner</span>
+  <span class="subheader"></span>
+</div>
 
 <div class="mainresultbox">
 <%= render :partial => 'result_' + @election.election_method,
            :object => @results[@election.election_method] %>
 </div>
 
 
 <div class="mainresultbox">
 <%= render :partial => 'result_' + @election.election_method,
            :object => @results[@election.election_method] %>
 </div>
 
-<h3> Other Voting Methods </h3>
+<div class="plain-header">
+  <span class="header">Other Voting Methods</span>
+  <span class="subheader"></span>
+</div>
+
 <% for result_type in @election.other_methods %>
 <div class="resultbox">
 <%= render :partial => 'result_' + result_type, 
 <% for result_type in @election.other_methods %>
 <div class="resultbox">
 <%= render :partial => 'result_' + result_type, 
@@ -41,7 +53,7 @@
 <% end %>
 
 
 <% end %>
 
 
-<div class="clearbox"></div>
+<div class="clear-div"></div>
 
 <h2>Voters <%= link_to "[Stalk Voters]", :controller => "quickvote", :action => "mapvoters", :id => @election.id %></h2>
 <table class="voterbox">
 
 <h2>Voters <%= link_to "[Stalk Voters]", :controller => "quickvote", :action => "mapvoters", :id => @election.id %></h2>
 <table class="voterbox">
@@ -83,3 +95,4 @@
 
 <%= image_tag( graph_url( :action => 'choices_positions', :id => @election ) ) %><br />
 
 
 <%= image_tag( graph_url( :action => 'choices_positions', :id => @election ) ) %><br />
 
+</div>
index 8d2baf6a0e06d579a7c3c08c32553a4caeaefa12..95ae386762902ffb99611a9f7250d38124d3e44d 100644 (file)
@@ -1,5 +1,10 @@
-<% -%>
-<h2>QuickVote Created</h2>
+<div id="page-title">
+       <span class="header">Quickvote</span>
+       <span class="subheader">New QuickVote Created</span>
+       <div style="clear:both;"></div>
+</div>
+
+<div class="main-content">
 
 <p>Please direct voters to:</p>
 
 
 <p>Please direct voters to:</p>
 
@@ -14,3 +19,4 @@ HyperChad site. Voters do not need to log in or authenticate to
 participate in this election.</p>
 
 <p><%= link_to "Jump to QuickVote", quickvote_url( :ident => @quickvote.name ) %></p>
 participate in this election.</p>
 
 <p><%= link_to "Jump to QuickVote", quickvote_url( :ident => @quickvote.name ) %></p>
+</div>
index 0fb3610028e2bc2bc78a39424539b367bdfff673..506677f8f6f70c3f0e4e80c78f180ef895d732aa 100644 (file)
@@ -1,5 +1,10 @@
-<% %>
-<h1>Vote Recorded</h1>
+<div id="page-title">
+  <span class="header">Quickvote</span>
+  <span class="subheader">Vote Recorded Successfully</span>
+</div>
+
+<div class="main-content">
+
 <p>Your vote has been recorded with the following ranked
 preferences:</p>
 
 <p>Your vote has been recorded with the following ranked
 preferences:</p>
 
@@ -17,7 +22,4 @@ preferences:</p>
   <li><%= link_to "View Current Results", quickaction_url( :ident => @voter.election.name, :action => 'results' ) %></li>
 </ul>
 
   <li><%= link_to "View Current Results", quickaction_url( :ident => @voter.election.name, :action => 'results' ) %></li>
 </ul>
 
-
-
-
-
+</div>
index 5e23927b893ede6959b333f2b1261789d88db458..9139066b58a101c28f0074e1f7a247425fe343ef 100644 (file)
@@ -28,25 +28,6 @@ table, caption, tbody, tfoot, thead, tr, th, td {
        vertical-align: baseline;
 }
 
        vertical-align: baseline;
 }
 
-
-#body {
-       font-family: "Trebuchet MS", Verdana, Arial, Helvetica, sans-serif;
-       font-size: 12px;
-       text-align: left;
-       line-height: 1.5em;
-}
-
-#body a {
-       text-decoration: underline;
-       color: inherit;
-       display: inline;
-       opacity: 0.8;
-}
-
-#body a:hover {
-       opacity: .5;
-}
-
 /* tables still need 'cellspacing="0"' in the markup */
 table {
        border-collapse: separate;
 /* tables still need 'cellspacing="0"' in the markup */
 table {
        border-collapse: separate;
@@ -97,9 +78,28 @@ h2, h3 {
 
 #footer a {
        text-decoration: none;
 
 #footer a {
        text-decoration: none;
-       color: #dc0d13;
 }
 
 #footer a:hover {
        text-decoration: underline;
 }
 }
 
 #footer a:hover {
        text-decoration: underline;
 }
+
+/* flash notices */
+
+#notice {
+    background: #FFFBB3; 
+    border: 1px black solid;
+       text-align: center;
+       font-weight: bold;
+       padding: 5px 5px 5px 15px;
+    width: 250px;
+}
+
+#notice {
+    background: #FFFBB3; 
+    border: 1px black solid;
+       text-align: center;
+       font-weight: bold;
+       padding: 5px 5px 5px 15px;
+    width: 250px;
+}
diff --git a/public/stylesheets/election.css b/public/stylesheets/election.css
new file mode 100644 (file)
index 0000000..3e34a45
--- /dev/null
@@ -0,0 +1,13 @@
+a {
+       color: #dc0d13;
+}
+
+#page-title .header {
+       background-color: #dc0d13;
+}
+
+#page-title .subheader {
+       color: #dc0d13;
+       background-color: #e5e5e5;
+}
+
index 045055f5df22d63c1ed801ab80e696290379612c..b206834c0d0599fb0865b70f13c58c803a79aaf0 100644 (file)
@@ -24,10 +24,33 @@ table, caption, tbody, tfoot, thead, tr, th, td {
 
 body {
        line-height: 1;
 
 body {
        line-height: 1;
-       color: white;
+    color: black;
        background: #ffffff url(/images/bg_index.png) repeat-x top center;
 }
 
        background: #ffffff url(/images/bg_index.png) repeat-x top center;
 }
 
+a {
+    color: #dc0d13
+}
+
+#body {
+       font-family: "Trebuchet MS", Verdana, Arial, Helvetica, sans-serif;
+       color: white;
+       font-size: 12px;
+       text-align: left;
+       line-height: 1.5em;
+}
+
+#body a {
+       text-decoration: underline;
+       color: inherit;
+       display: inline;
+       opacity: 0.8;
+}
+
+#body a:hover {
+       opacity: .5;
+}
+
 /* Header */
 #header h1 {
        background: url(/images/title_front.png) center top no-repeat;
 /* Header */
 #header h1 {
        background: url(/images/title_front.png) center top no-repeat;
index 185b48ab96a0aefb19d092367ccf625730b3636c..313dee5a55c6d5f658e9be66c3542c15c74e1f8a 100644 (file)
@@ -1,4 +1,5 @@
 @charset "utf-8";
 @charset "utf-8";
+
 /* CSS Document */
 
 /****************************************************************
 /* CSS Document */
 
 /****************************************************************
@@ -31,6 +32,10 @@ h3 {
        pading: 0 1em 0 1em;
 }
 
        pading: 0 1em 0 1em;
 }
 
+label {
+    font-weight: bold;
+}
+
 
 /* Left column. Includes logo, poll information, and graph. */
  
 
 /* Left column. Includes logo, poll information, and graph. */
  
@@ -147,37 +152,14 @@ h5 {
        overflow: hidden;
 }
 
        overflow: hidden;
 }
 
-#quickvote-title .header {
-       background-color: #74ce00;
-}
-
-#quickvote-title .subheader {
-       color: #74ce00;
-       background-color: #e5e5e5;
-}
-
-#controlroom-title .header {
-       background-color: #dc0d13;
-}
-
-#controlroom-title .subheader {
-       color: #dc0d13;
-       background-color: #e5e5e5;
-}
-
-#voters-title .header {
-       background-color: #005cd9;
-}
-
-#voters-title .subheader {
-       color: #005cd9;
-       background-color: #e5e5e5;
+.plain-header {
+    margin: 1em -1.2em 1em -1.2em;
 }
 
 .header {
        display: block;
        font-family: "trebuchet ms",trebuchet,verdana,arial,sans-serif;
 }
 
 .header {
        display: block;
        font-family: "trebuchet ms",trebuchet,verdana,arial,sans-serif;
-       font-size:30px;
+       font-size: 30px;
        text-transform: uppercase;
        text-align: center;
        color: white;
        text-transform: uppercase;
        text-align: center;
        color: white;
@@ -209,66 +191,58 @@ h5 {
        border: 1px solid #b3b3b3;
 }
 
        border: 1px solid #b3b3b3;
 }
 
-#main-box h1 {
-  
+.main-content {
+       margin: 1.2em;
+       line-height: 1.5em;
+       text-color: #454545;
 }
 
 }
 
-#main-box p {
-       margin-bottom: 1.75em;
-       padding: 0 1.7em 0 1.7em;
-       line-height: 1.8em;
-       color: #454545;
+.main-content p, .main-content blockquote, .main-content ul {
+    margin-bottom: 1em;
 }
 
 }
 
+blockquote {
+    margin-left: 3em;
+}
 
 
-#ErrorExplanation {
-  width: 400px;
-  border: 2px solid 'red';
-  padding: 7px;
-  padding-bottom: 12px;
+
+/* css related to error in forms */
+
+#errorExplanation {
+  border: 2px solid #C00;
+  width: 260px;
   margin-bottom: 20px;
   background-color: #f0f0f0;
 }
 
   margin-bottom: 20px;
   background-color: #f0f0f0;
 }
 
-#ErrorExplanation h2 {
+#errorExplanation h2 {
+  font-size: 1em !important;
   text-align: left;
   font-weight: bold;
   text-align: left;
   font-weight: bold;
-  padding: 5px 5px 5px 15px;
-  font-size: 12px;
-  margin: -7px;
+  padding: 5px 5px 5px 5px;
   background-color: #c00;
   color: #fff;
 }
 
   background-color: #c00;
   color: #fff;
 }
 
-#ErrorExplanation p {
+#errorExplanation p {
+  font-size: 1em;
   color: #333;
   margin-bottom: 0;
   padding: 5px;
 }
 
   color: #333;
   margin-bottom: 0;
   padding: 5px;
 }
 
-#ErrorExplanation ul li {
-  font-size: 12px;
+#errorExplanation ul li {
+  font-size: 1em;
   list-style: square;
 }
 
   list-style: square;
 }
 
-.ListLine0 {
-       background:  #e0f8f8;
-       
+.fieldWithErrors {
+    display: inline;
 }
 }
-.ListLine1 {
-       background: #cccccc;
-       
+.fieldWithErrors input, .fieldWithErrors select, .fieldWithErrors textarea {
+    background-color: #FFFBB3; 
 }
 
 }
 
-#notice { background: #FFFBB3; 
-                       text-align: left;
-                       font-weight: bold;
-                       border: 2px dotted 'red';
-                       margin-top: 10px;
-                       margin-left: 50px;
-                       padding: 5px 5px 5px 15px;
-                       width: 400px; }
-
 #status {
   width: 400px;
   border: 1px solid #0000FF;
 #status {
   width: 400px;
   border: 1px solid #0000FF;
@@ -279,81 +253,6 @@ h5 {
   background-color: #f0f0f0;
 }
 
   background-color: #f0f0f0;
 }
 
-.fieldWithErrors {
-    display: inline;
-}
-.fieldWithErrors input, .fieldWithErrors select {
-    background-color: #ffdfdf;
-}
-
-#xxErrorExplanation h2 {
-  text-align: left;
-  font-weight: bold;
-  padding: 5px 5px 5px 15px;
-  font-size: 12px;
-  margin: -7px;
-  background-color: #c00;
-  color: #fff;
-}
-
-#xxErrorExplanation p {
-  color: #333;
-  margin-bottom: 0;
-  padding: 5px;
-}
-
-#xxErrorExplanation ul li {
-  font-size: 12px;
-  list-style: square;
-}
-
-.mainresultbox {
-  text-align: center;
-  width: 850px;
-  border-width: 2px;
-  border-style: solid;
-  border-color: #4D801A;
-  padding: 7px;
-  margin-right: 30px;
-  margin-bottom: 30px;
-}
-
-.mainresultbox h3 {
-  text-align: center;
-  font-weight: bold;
-  padding: 5px 5px 5px 15px;
-  margin: -7px;
-  background-color: #73BF26;
-  color: #fff;
-  border-bottom: 0px;
-}
-
-.resultbox {
-  text-align: center;
-  width: 400px;
-  float: left;
-  border-width: 2px;
-  border-style: solid;
-  border-color: #4D801A;
-  padding: 7px;
-  margin-right: 30px;
-  margin-bottom: 30px;
-}
-
-.resultbox h3 {
-  text-align: center;
-  font-weight: bold;
-  padding: 5px 5px 5px 15px;
-  margin: -7px;
-  background-color: #73BF26;
-  color: #fff;
-  border-bottom: 0px;
-}
-.clearbox {
-   clear: both;
-   margin: 30px;
-}
-
 li.moveable {
   background-color: #E5FFCC;
   border:1px solid #4D801A;
 li.moveable {
   background-color: #E5FFCC;
   border:1px solid #4D801A;
@@ -474,20 +373,10 @@ li.moveable {
 }
 
 #election_creation_progress_bar ul li {
 }
 
 #election_creation_progress_bar ul li {
-  display: inline;
+  display: block;
   list-style: default;
 }
 
   list-style: default;
 }
 
-#election_creation_progress_bar ul li:after {
-  font-weight: normal;
-  color: #000;
-  content: " || ";
-}
-
-#election_creation_progress_bar ul li.last:after {
-  content: "";
-}
-
 #election_creation_progress_bar li.step_selected {
   font-weight: bold;
 }
 #election_creation_progress_bar li.step_selected {
   font-weight: bold;
 }
@@ -497,36 +386,5 @@ li.moveable {
   font-weight: bold;
 }
 
   font-weight: bold;
 }
 
-/*
-#plurality h4 {
-       background: url(/images/voting_plurality.png);
-       width: 217px;
-}
-
-#schulze h4 {
-       background: url(/images/voting_schulze_quickvote.png);
-       width: 183px;
-}
-
-#approval h4 {
-       background: url(/images/voting_approval.png);
-       width: 208px;
-}
-
-#borda h4 {
-       background: url(/images/voting_borda.png);
-       width: 147px;
-}
-
-#condorcet h4 {
-       background: url(/images/voting_condorcet.png);
-       width: 240px;
-}
-
-#irv h4 {
-       background: url(/images/voting_irv.png);
-       width: 86px;
-}
-*/
 
 
 
 
diff --git a/public/stylesheets/quickvote.css b/public/stylesheets/quickvote.css
new file mode 100644 (file)
index 0000000..d400dcf
--- /dev/null
@@ -0,0 +1,12 @@
+a {
+       color: #569a00;
+}
+
+#page-title .header {
+       background-color: #74ce00;
+}
+
+#page-title .subheader {
+       color: #74ce00;
+       background-color: #e5e5e5;
+}
diff --git a/public/stylesheets/voter.css b/public/stylesheets/voter.css
new file mode 100644 (file)
index 0000000..ec14c84
--- /dev/null
@@ -0,0 +1,12 @@
+a {
+    color: #005cd9;
+}
+
+#page-title .header {
+       background-color: #005cd9;
+}
+
+#page-title .subheader {
+       color: #005cd9;
+       background-color: #e5e5e5;
+}
index e6e4dc3ef542e5f9a6aa334e83cc7d1c333e1915..d393158503f281ec8f475c20bb4ba7839a8f8f46 100644 (file)
@@ -1 +1 @@
-Tue Aug 28 13:24:45 -0400 2007
+Wed Aug 29 13:54:03 -0400 2007

Benjamin Mako Hill || Want to submit a patch?