]> projects.mako.cc - selectricity/blobdiff - app/views/election/show.rhtml
fix bug with token generator
[selectricity] / app / views / election / show.rhtml
index ff06521da1dbb997e55b118babd2aeade7985748..5de6081b298b5d8c89fa0539c4360498d158ec19 100644 (file)
@@ -1,16 +1,33 @@
-<%= render_partial 'progress', 'review' %>
-<h1>Vote Information</h1>
-
-<% if @election.active? %>
+<div id="title-header">
+  <span class="header">Election Overview</span>
+  <span class="subheader"></span>
+</div>
+<% if @election.enddate < Time.now %>
+<div id="status">Election is finished. <%= link_to "View results",
+       :controller => 'voter', :action => 'index', 
+       :election_id => @election.id %>.</div>
+
+<% elsif (@election.active? && @election.early_results? ) %>
+  <div id="status">The creator of this election has decided that the results
+       should be viewable while the election is in progress.
+       <%if @election.voters.empty? %>
+       However, no one has voted yet.
+       <% else %>
+       <%= link_to "View results", :controller => 'voter', :action => 'results', 
+               :id => "open" %>.
+    <% end %>
+  </div>
+<% elsif @election.active? %>
   <div id="status">Vote is in currently in progress. Return to
         this page for results on <%= @election.enddate %>.</div>
-<% elsif @election.done? %>
-  <div id="status">Election is finished. <%= link_to "View results",
-  :action => 'results', :id => @election.id %>.</div>
+  
+<% else %>
+  <p style="text-align: right;">
+    <%= link_to "Edit General Information",
+                :action => 'edit_general_information', :id => @election.id %>
+  </p>
 <% end %>
 
-<h2>Overview</h2> 
-
 <p><strong>Summary</strong></p>
 
 <blockquote>
 <%= h(@election.description) %>
 </blockquote>
 
-<p><strong>End Date</strong></p>
+<p><strong>Additional Information</strong></p>
 
-<blockquote>
-<%= @election.enddate %>
-</blockquote>
+<ul> <li>Elections will end at <strong><%= @election.enddate
+%></strong>.</li> <li>Elections results <strong><% if
+@election.early_results %>will be<% else %>will not be<% end
+%></strong> visible while election is in progress.</li>
 
-<% unless @election.active %>
-<p><%= link_to "Edit overview.", :action => 'edit', :id => @election.id %></p>
+<% if @election.embeddable %>
+<li>Elections <strong>will be</strong> embeddable.</li>
 <% end %>
 
-<h2>Candidates</h2> 
+</ul>
+
+<% if @election.active? and not @election.authenticated? %>
+<p><strong>Link</strong></p>
+<%= (link_to ("Go Vote!", 
+            :controller => 'voter', :action => 'index', :election_id => @election.id)).to_s %>
+<% end -%>
+
+<div class="normal-header">
+  <span class="header">Candidates</span>
+  <span class="subheader"></span>
+</div>
 
-<% unless @election.candidates.empty? %>
-  <%= render :partial => 'candidate_list' %>
-  <% unless @election.active %>
-  <p><%= link_to "Add, remove, or edit candidates.", :action => 'edit_candidates', :id => @election.id %></p>
-  <% end %>
-<% else %>
-  <p><em>There are currently no candidates registered.  <%= link_to "Add some!", :action => 'edit_candidates', :id => @election.id unless @election.active %></em></p>
 
+<% if not (@election.active? or @election.done?) %>
+  <p style="text-align: right;">
+    <%= link_to "Edit Candidates",
+               :action => 'edit_candidates', :id => @election.id %></p>
 <% end %>
 
-<h2>Voters</h2>
 
-<% unless @election.voters.empty? %>
-  <%= render :partial => 'voter_list' %>
-  <%= link_to "Add or remove voters.", :action => 'edit_voters', :id => @election.id unless @election.active %></em></p>
+<% if @election.candidates.empty? %>
+  <p><em>There are currently no candidates registered.</em>
+     <%= link_to "Add some!", :action => 'edit_candidates', :id => @election.id %>
+  </p>
 <% else %>
-  <p><em>There are currently no voters registered.  <%= link_to "Add some!", :action => 'edit_voters', :id => @election.id unless @election.active %></em></p>
+  <%= render :partial => 'candidate_list' %>
 <% end %>
 
-<% unless @election.active? %>
-  <h2>Start Election</h2>
+<div class="normal-header">
+  <span class="header">Voters</span>
+  <span class="subheader"></span>
+</div>
+
+<% if not (@election.active?  or @election.done?) %>
+<p style="text-align: right;">
+  <%= link_to "Change Voters/Options",
+              :action => 'edit_voters', :id => @election.id %></p>
+<% end %>
+
+<% if not @election.authenticated? %>
+  <p><em>This election is open the public.</em></p>
+<% elsif @election.voters.empty? %>
+  <p><em>There are currently no voters registered. </em>
+     <%= link_to "Add some!", :action => 'edit_voters',
+                 :id => @election.id %></p>
+<% else %>
+  <%= render :partial => 'voter_list' %>
+  <p><em><%= link_to "Add or remove voters.", :action => 'edit_voters',
+              :id => @election.id unless @election.active? or @election.done? %>
+  </em></p>
+<% end %>
+
+<% if not (@election.active? or @election.done?)  %>
+
+<div class="normal-header">
+  <span class="header">Start Election</span>
+  <span class="subheader"></span>
+</div>
 
   <% if @election.start_blockers.length > 0 %>
     <p>Your vote cannot be started for the following reasons:</p>
     <% end %>
     </ul>
   <% else %>
-    <p>Please check eveything carefully on this page before starting this
+    <p>Please check everything carefully on this page before starting this
     vote. Once you begin the vote, you will <em>not</em> be able to add or
     change candidates, modify the voting lists, or change the end
     time.</p>
     <ul>
     <li>The vote will be "frozen" so that further edits to the
         candidate list and voting list cannot occur.</li>
+    <% if @election.authenticated? %>
     <li>All voters will be emailed notifying them that the vote has
         begun and of their unique login token.</li>
+    <% end %>
     </ul>
 
     <%= button_to 'Start Election!', :action => 'start_election', :id => @election.id %>
   <% end %>
 
+<% elsif @election.embeddable? %>
+
+<div class="normal-header">
+  <span class="header">Embedding</span>
+  <span class="subheader"></span>
+</div>
+
+
+<p>To embed your election, copy and paste the following code into your
+homepage:</p>
+
+<pre><%= h("<iframe src='") + votepassword_url(:urlpassword => "open." + @election.id.to_s, :embed => "true") + h("' width='330px' height='#{(@election.candidates.length+2)*53}px'>" ) %>
+<%= h("</iframe>") %></pre>
+
 <% end %>

Benjamin Mako Hill || Want to submit a patch?