From ed271a9bc9a0ec6928e7276d645541db6e5cb7c6 Mon Sep 17 00:00:00 2001 From: Date: Wed, 5 Sep 2007 08:47:18 -0400 Subject: [PATCH 1/1] Major commit adding about information and more before site goes live. --- app/controllers/about_controller.rb | 20 +++++ app/controllers/account_controller.rb | 6 +- app/controllers/application.rb | 15 +++- app/controllers/election_controller.rb | 2 - ...site_controller.rb => front_controller.rb} | 5 +- app/controllers/quickvote_controller.rb | 4 +- .../{site_helper.rb => front_helper.rb} | 0 app/views/about/_sidebar.rhtml | 28 +++++++ .../views/about/anywhere.rhtml | 52 +++++++----- app/views/about/features.rhtml | 77 ++++++++++++++++++ app/views/about/overview.rhtml | 24 ++++++ app/views/about/privacy.rhtml | 24 ++++++ app/views/about/team.rhtml | 74 +++++++++++++++++ app/views/about/thanks.rhtml | 25 ++++++ app/views/about/why.rhtml | 6 ++ app/views/account/login.rhtml | 5 ++ app/views/account/signup.rhtml | 8 +- app/views/account/summary.rhtml | 7 +- app/views/election/_progress.rhtml | 9 +- app/views/{site => front}/_basic_login.rhtml | 3 +- app/views/{site => front}/_user_summary.rhtml | 5 +- app/views/{site => front}/index.rhtml | 4 +- app/views/layouts/frontpage.rhtml | 7 +- app/views/layouts/main.rhtml | 9 +- app/views/quickvote/not_viewable.rhtml | 2 +- config/routes.rb | 6 +- public/images/selectricity_team_photo.jpg | Bin 0 -> 54968 bytes public/stylesheets/about.css | 1 + public/stylesheets/account.css | 1 + public/stylesheets/election.css | 4 - public/stylesheets/main.css | 30 +++++-- public/stylesheets/voter.css | 4 - ...oller_test.rb => front_controller_test.rb} | 8 +- 33 files changed, 393 insertions(+), 82 deletions(-) create mode 100644 app/controllers/about_controller.rb rename app/controllers/{site_controller.rb => front_controller.rb} (88%) rename app/helpers/{site_helper.rb => front_helper.rb} (100%) create mode 100644 app/views/about/_sidebar.rhtml rename public/selectricity-anywhere.html => app/views/about/anywhere.rhtml (88%) create mode 100644 app/views/about/features.rhtml create mode 100644 app/views/about/overview.rhtml create mode 100644 app/views/about/privacy.rhtml create mode 100644 app/views/about/team.rhtml create mode 100644 app/views/about/thanks.rhtml create mode 100644 app/views/about/why.rhtml rename app/views/{site => front}/_basic_login.rhtml (80%) rename app/views/{site => front}/_user_summary.rhtml (68%) rename app/views/{site => front}/index.rhtml (93%) create mode 100644 public/images/selectricity_team_photo.jpg create mode 120000 public/stylesheets/about.css create mode 120000 public/stylesheets/account.css rename test/functional/{site_controller_test.rb => front_controller_test.rb} (65%) diff --git a/app/controllers/about_controller.rb b/app/controllers/about_controller.rb new file mode 100644 index 0000000..4138694 --- /dev/null +++ b/app/controllers/about_controller.rb @@ -0,0 +1,20 @@ +class AboutController < ApplicationController + layout 'main' + + before_filter :add_sidebar + + def index + redirect_to :action => 'overview' + end + + def features + end + + private + def add_sidebar + @sidebar_content = render_to_string :partial => 'sidebar', + :locals => { :page => action_name } + end + +end + diff --git a/app/controllers/account_controller.rb b/app/controllers/account_controller.rb index c9388f6..6595b9b 100644 --- a/app/controllers/account_controller.rb +++ b/app/controllers/account_controller.rb @@ -22,7 +22,7 @@ class AccountController < ApplicationController self.current_user.remember_me cookies[:auth_token] = { :value => self.current_user.remember_token , :expires => self.current_user.remember_token_expires_at } end - redirect_back_or_default(:controller => '/site', :action => 'index') + redirect_back_or_default :controller => 'front' flash[:notice] = "Logged in successfully" end end @@ -36,7 +36,7 @@ class AccountController < ApplicationController return unless request.post? @user.save! self.current_user = @user - redirect_back_or_default(:controller => '/site', :action => 'index') + redirect_back_or_default :controller => 'front' flash[:notice] = "Thanks for signing up!" rescue ActiveRecord::RecordInvalid render :action => 'signup' @@ -47,7 +47,7 @@ class AccountController < ApplicationController cookies.delete :auth_token reset_session flash[:notice] = "You have been logged out." - redirect_back_or_default(:controller => '/site', :action => 'index') + redirect_back_or_default :controller => 'front' end #====================================================================== diff --git a/app/controllers/application.rb b/app/controllers/application.rb index 5b55d0b..01722e6 100644 --- a/app/controllers/application.rb +++ b/app/controllers/application.rb @@ -1,15 +1,24 @@ -# Filters added to this controller will be run for all controllers in the application. -# Likewise, all the methods added will be available for all controllers. +# Filters added to this controller will be run for all controllers in +# the application. Likewise, all the methods added will be available +# for all controllers. class ApplicationController < ActionController::Base + # add authentication methods and hooks include AuthenticatedSystem helper :user require_dependency "user" - before_filter :add_stylesheets + # add sitealizer statistics and tracking information + include Sitealizer + + before_filter :use_sitealizer, :add_stylesheets def initialize @stylesheets = [] + + # this is defined is a sketchy way in the sitealizer mixin + # initalize. since i'm overloading that, i'm calling it here + $visits = [] unless $visits end def add_stylesheets diff --git a/app/controllers/election_controller.rb b/app/controllers/election_controller.rb index 1affe0f..89a2c22 100644 --- a/app/controllers/election_controller.rb +++ b/app/controllers/election_controller.rb @@ -5,8 +5,6 @@ class ElectionController < ApplicationController require_dependency "candidate" layout 'main' - #before_filter :login_required - ## methods for displaying, creating, ## and manipulating election overview data #################################################################### diff --git a/app/controllers/site_controller.rb b/app/controllers/front_controller.rb similarity index 88% rename from app/controllers/site_controller.rb rename to app/controllers/front_controller.rb index d432a03..c4a198d 100644 --- a/app/controllers/site_controller.rb +++ b/app/controllers/front_controller.rb @@ -1,10 +1,8 @@ -class SiteController < ApplicationController +class FrontController < ApplicationController layout 'frontpage' require_dependency "user" require_dependency "election" require_dependency "account" - include Sitealizer - before_filter :use_sitealizer def index @quickvotes = QuickVote.find(:all).sort {|a,b| b.enddate <=> a.enddate}[0..1] @@ -23,7 +21,6 @@ class SiteController < ApplicationController # if we have no record of them, set the user back to # nothing and start again session[:user] = nil - end end end diff --git a/app/controllers/quickvote_controller.rb b/app/controllers/quickvote_controller.rb index cc57bb5..5bf259c 100644 --- a/app/controllers/quickvote_controller.rb +++ b/app/controllers/quickvote_controller.rb @@ -115,7 +115,7 @@ class QuickvoteController < ApplicationController @voter.reload end else - redirect_to :controller => 'site' + redirect_to :controller => 'front' end end @@ -198,7 +198,7 @@ class QuickvoteController < ApplicationController def results unless @election = QuickVote.ident_to_quickvote(params[:ident]) flash[:notice] = "Cannot find quickvote #{params[:ident]}." - redirect_to :controller => 'site' + redirect_to :controller => 'front' return end if @election.viewable == 0 && @election.active == 1 diff --git a/app/helpers/site_helper.rb b/app/helpers/front_helper.rb similarity index 100% rename from app/helpers/site_helper.rb rename to app/helpers/front_helper.rb diff --git a/app/views/about/_sidebar.rhtml b/app/views/about/_sidebar.rhtml new file mode 100644 index 0000000..a624e0d --- /dev/null +++ b/app/views/about/_sidebar.rhtml @@ -0,0 +1,28 @@ +

Information and Documentation

+ +<% steps = [ ['overview', 'Overview'], + ['features', 'Major Features' ], +# ['why', 'Why Selectricity?' ], + ['team', 'The Team'], + ['thanks', 'Acknowledgements'], + ['privacy', 'Privacy Policy' ], + ['anywhere', 'Selectricity Anywhere'] ] %> + +
+ + + +
+ diff --git a/public/selectricity-anywhere.html b/app/views/about/anywhere.rhtml similarity index 88% rename from public/selectricity-anywhere.html rename to app/views/about/anywhere.rhtml index ffc32b1..f644ade 100644 --- a/public/selectricity-anywhere.html +++ b/app/views/about/anywhere.rhtml @@ -1,11 +1,8 @@ - - -
-

Selectricity Anywhere
- Voting Machinery for the Mobile Masses

+
+ Selectricity Anywhere +
-

Selectricity Anywhere tries to help groups make better decisions in their everyday lives. It tries to make voting technology created for state elections and government use easily accessible for @@ -17,7 +14,10 @@ election methods library with a focus on preferential decision-making. It is similar to Selectricity, a flexible web-based interface to the same voting machinery.

-

Usage

+
+ Usage + +

You can use Selectricity Anywhere entirely by sending and receiving emails or short text messages (SMS). In the US, most mobile @@ -34,10 +34,13 @@ Dropping), although the system can support other preferential and non-preferential voting methods.

-

Please direct messages to: vote@mako.cc

+

Please direct messages to: vote@selectricity.org

-

Creating a New Election

+
+ Creating a New Election + +

To create a new election, send a message of the following form:

@@ -70,7 +73,11 @@ for use in new votes.

new lunch CVMT

-

Voting

+ +
+ Voting + +

To vote in an election, send a message of the following form:

@@ -94,7 +101,10 @@ express a preference of Thai over Vietnamese over Mexican over Chinese in the election created in the example above.

-

View Results

+
+ View Results + +

To view the results of an election, send a message of one of the following forms:

@@ -116,7 +126,10 @@ the message from .

res lunch

-

Information on a Vote

+
+ Information on a Vote + +

To receive information on a vote, send a message of the following form:

@@ -138,7 +151,7 @@ from.

info lunch

-

General Help

+

General Help

To receive help on using the system, send a message of the following form:

@@ -153,8 +166,10 @@ form:

designed to fit inside a 155 character text message and will be much less extensive than the help on this page.

- -

Advanced Usage

+
+ Advanced Usage + +

There are two advanced types of usages that users of Selectricity Anywhere might want to be aware of.

@@ -181,8 +196,6 @@ described in the section on getting Information on a Vote.

new lunch CVMT c:chinese v:vietnamese m:mexican t:thai

-

Alternative Voting Methods

-

During vote creation, users can specify a voting method other than the default (Condorcet with cloneproof Schwartz sequential dropping). @@ -222,8 +235,3 @@ described in the section on getting Information on a Vote.

new lunch CVMT method:approval

-
-

Copyleft 2006 :: -MIT Media Lab and -Benjamin Mako Hill

- diff --git a/app/views/about/features.rhtml b/app/views/about/features.rhtml new file mode 100644 index 0000000..e322b2d --- /dev/null +++ b/app/views/about/features.rhtml @@ -0,0 +1,77 @@ +
+ Features + +
+ +

Selectricity is a flexible and powerful. This page lists some of the +major features that Selectricity has to offer.

+ +
+ QuickVotes + +
+ +

QuickVotes are elections that are designed to be as simple and easy +as possible. They are like polls but are built on Selectricity's +heavy-duty election manchinery. They can be created in under a minute +and voted on in just a few seconds.

+ +

QuickVotes are meant for simple, quick decisions. They are not +limited to registered lists of voters. They support simple lists of +options -- no pictures, no position statements, and no long +descriptions. They are simple enough to decide where a group is going to +dinner, what you're going to name a project, or when to have a group +meeting.

+ +

The best way to learn more is to <%= link_to "create a quickvote", +:controller => 'quickvote', :action => 'create' %> now!

+ +
+ Anywhere + +
+ +

Selectricity puts powerful election machinery into the palm of your +hand.

+ +

To use Selectricity, users need to access to a computer and a web +browser -- which they don't always have in front of them. <%= link_to( +"Sectricity Anywhere", :action => 'anywhere') %> solves this problem. +It provides an interface to the system technology entirely accessible +through short emails and optimized for sending use over email/SMS from +any mobile phone.

+ +
+ Elections + Coming Soon +
+ +

Selectricity Elections showcase all of what Selectricity has to +offer. They support lists of candidates or choices with position +statements and pictures and secure lists of voters. They have start and +end dates and features to help made votes both anonymous and +voter-verifiable.

+ +

Selectricity Elections have been used by student groups to elect +officers and by non-profit organizations to elect their boards of +directors. They bring some of the best of what the world of high-tech +election technology has to offer to bear on every day +decision-making.

+ + + +
+ API + Coming Soon +
+ +Programmers and hackers may want to use Selectricity from within their +own site or to embed Selectricity functional into their own system. +Selectricity makes that simple with a featureful API and the ability to +"embed" elections. diff --git a/app/views/about/overview.rhtml b/app/views/about/overview.rhtml new file mode 100644 index 0000000..3ef66f9 --- /dev/null +++ b/app/views/about/overview.rhtml @@ -0,0 +1,24 @@ +
+ About Selectricity + +
+ +

Selectricity is voting machinery for the masses. We help groups make +better decisions, more easily. We allow voting, usually in form of +ranking a list of choices in order of preference, and have the computer +help groups make better decisions.

+ +

Selectricity is simple to use and convenient. Anyone can create the +simplest election in under a minute and voting is even easier. Results +can be computed instaneously.

+ +

Selectricity is powerful and secure. It has been used for electing +the boards of non-profit organizations and or choosing the officers of +student groups. It is simple and fast enough to help a group decide +where to go to dinner or when to have a meeting. It's flexible enough to +be integrated into an outside website or used from a mobile phone.

+ +

The best way to learn more about Selectricity is to use it. Get started +by <%= link_to "creating a QuickVote", :controller => 'quickvote', +:action => 'create' %> now!

+ diff --git a/app/views/about/privacy.rhtml b/app/views/about/privacy.rhtml new file mode 100644 index 0000000..5567d87 --- /dev/null +++ b/app/views/about/privacy.rhtml @@ -0,0 +1,24 @@ +
+ Privacy Policy + +
+ +

Selectricity respects its users' privacy. Private information on how +individuals use Selectricity including, but not limited to, information +on how users vote in anonymous elections will never be shared +with any third party. Private information will never be sold for any +reason.

+ +

QuickVotes publish list of IP addresses of voters to all voters to +allow them to check results for vote flooding. Please be aware of this +feature and the fact that this information may be publicly disclosed for +QuickVotes to other voters. This does not affect full Selectricity +Elections. Users wanting to use these features anonymously are +encouraged to use an anonymity system like <%= link_to("Tor", +"http://tor.eff.org") %>.

+ +

Aggregate information on site usage (e.g., summaries of how many +users, how often they visited, the average time spent on the site, etc.) +may be collected and shared with others in aggregated form +after being stripped of any identifiable information.

+ diff --git a/app/views/about/team.rhtml b/app/views/about/team.rhtml new file mode 100644 index 0000000..13f3330 --- /dev/null +++ b/app/views/about/team.rhtml @@ -0,0 +1,74 @@ +
+ Team + +
+ +
+ Team Photo +
+ +

Selectricity was designed and built in the <%= link_to("MIT Media +Lab", "http://www.media.mit.edu") %> in the <%= link_to("Computing +Culture group", "http://compcult.media.mit.edu") %>. The team (pictured +above from left to right), includes Benjamin Mako Hill, Alyssa Wright, +Justin Sharps, Courtland Allen, and John Dong.

+ +
+ Benjamin Mako Hill + +
+ +

Benjamin Mako Hill is the founder and leader of the project. He is a +long-time free software developer and advocate and a rebel with rather +too many causes. More information on Mako and his many projects can be +found on <%= link_to("his website", "http://mako.cc") %>

+ +
+ Alyssa Wright + +
+ +

Alyssa Wright is a Masters student at the MIT Media Lab. Her role in +Selectricity includes coordination of design and business +development.

+ +
+ Justin Sharps + +
+ +

Justin Sharps is a native of Southern California who spent summer +2007 in Massachusetts (bleh) convincing himself that sitting in front of +a computer for more than 8 hours a day is, in fact, an OK way to spend +the summer. For the project, Justin focused on visualizing the results +of the elections and implementing the user system to keep track of +voters. Justin loves programming when not occupied by any of his +numerous hobbies such as homework, doing homework, hiding from homework, +or setting homework on fire. He also likes cars, expensive jeans, and +sunsets.

+ + +
+ Courtland Allen + +
+ +

Hailing from the cold, hard, paved, 2-lane streets of Atlanta, +Courtland Allen is now a junior at MIT majoring in Computer Science. +When not sitting in front of his computer creating websites and what +not, he can be found teaching beginner CSS classes or spending +(generally) unproductive time chilling with his fraternity brothers. +His motto is, "Think for yourself." Courtland contributed to the visual +design of the site including its HTML, CSS styling, and images.

+ +
+ John Dong + +
+ +

John Dong is a MIT undergraduate and a hacker. His role on +Selectricity involved writing tests and designing and building the API +interface. He's also an administrator on the <%= link_to("Ubuntu Forums", +"http://www.ubuntuforums.com") %> and leader of the Ubuntu backports +project.

+ diff --git a/app/views/about/thanks.rhtml b/app/views/about/thanks.rhtml new file mode 100644 index 0000000..fdf4ce7 --- /dev/null +++ b/app/views/about/thanks.rhtml @@ -0,0 +1,25 @@ +
+ Acknowledgments + +
+ +

Selectricity is made possible through the generous support of a +series of organizations and groups.

+ +

The <%= link_to "MIT Media Lab", "http://www.media.mit.edu" %> funded +work on the project during its first year as a research prototype. In +particular, the <%= link_to("Electronic Publishing", +"http://ep.media.mit.edu") %> research group supported the creation of +the <%= link_to("RubyVote", "http://rubyvote.rubyforge.org") %> library +while the <%= link_to("Computing Culture", +"http://compcult.media.mit.edu") %> research group supported the +creation of much of Selectricity and an earlier research prototype +called HyperChad.

+ +

Funding for the current version of the project comes from the <%= +link_to("Digital Incubator", "http://www.digitalincubator.net/") %> +initiative -- a joint effort between <%= link_to("MTV", +"http://www.mtv.com") %>/<%= link_to("MTVu", "http://www.mtvu.com") %> +and <%= link_to("Cisco", "http://www.cisco.com") %>. MTVu has +also played an important role in publicizing the project.

+ diff --git a/app/views/about/why.rhtml b/app/views/about/why.rhtml new file mode 100644 index 0000000..8f52bfc --- /dev/null +++ b/app/views/about/why.rhtml @@ -0,0 +1,6 @@ +
+ Features + +
+ + diff --git a/app/views/account/login.rhtml b/app/views/account/login.rhtml index a14ff99..77b8736 100644 --- a/app/views/account/login.rhtml +++ b/app/views/account/login.rhtml @@ -1,3 +1,8 @@ +
+ Account Login + +
+ <% form_tag do -%>


<%= text_field_tag 'login' %>

diff --git a/app/views/account/signup.rhtml b/app/views/account/signup.rhtml index f5228d8..bdb2599 100644 --- a/app/views/account/signup.rhtml +++ b/app/views/account/signup.rhtml @@ -1,3 +1,8 @@ +
+ Account Sign Up + +
+ <%= error_messages_for :user %> <% form_for :user do |f| -%> @@ -6,7 +11,8 @@


<%= f.text_field :email %>
-People participating in elections you're administrating will contact you + +

People participating in elections you're administrating will contact you at this address.


diff --git a/app/views/account/summary.rhtml b/app/views/account/summary.rhtml index d15e442..e6d231f 100644 --- a/app/views/account/summary.rhtml +++ b/app/views/account/summary.rhtml @@ -1,4 +1,9 @@ -

This is your user summary profile, <%=h @user.login.capitalize %>

+
+ Account Summary + +
+ +

This is your account summary profile, <%=h @user.login.capitalize %>

E-mail: <%=h @user.email %>
diff --git a/app/views/election/_progress.rhtml b/app/views/election/_progress.rhtml index 40beb60..98ee63d 100644 --- a/app/views/election/_progress.rhtml +++ b/app/views/election/_progress.rhtml @@ -1,16 +1,13 @@ -<% progress_steps = [ ['overview', 'General Information'], - ['candidates', 'Candidates'], - ['voters', 'Voters'], - ['review', 'Review'] ] %>

Progress

-
+ +
    <% progress_steps.each_with_index do |kv, i| -%> <% step, description = kv -%>
  • - ">Step <%= i + 1 %>: <%= description %>
  • + ">Step <%= {i + 1 %>: <%= description %> <% end -%>
diff --git a/app/views/site/_basic_login.rhtml b/app/views/front/_basic_login.rhtml similarity index 80% rename from app/views/site/_basic_login.rhtml rename to app/views/front/_basic_login.rhtml index 12a63dd..16ddc8d 100644 --- a/app/views/site/_basic_login.rhtml +++ b/app/views/front/_basic_login.rhtml @@ -8,6 +8,5 @@

<%= submit_tag 'Log in' %>

<% end %> -

<%= link_to 'Register for an account', :controller => 'account', :action => 'signup' %>

-

<%= link_to 'Lost or forgot your password?', :controller => 'account', :action => 'forgot_password' %>

+ diff --git a/app/views/site/_user_summary.rhtml b/app/views/front/_user_summary.rhtml similarity index 68% rename from app/views/site/_user_summary.rhtml rename to app/views/front/_user_summary.rhtml index e37cafb..3b541c8 100644 --- a/app/views/site/_user_summary.rhtml +++ b/app/views/front/_user_summary.rhtml @@ -1,5 +1,5 @@ <% if @current_elections.length < 1 %> - You have not created any elections. +

You have not created any elections.

<% else %>
    <% for election in @current_elections %> @@ -9,6 +9,3 @@
<% end %> -

<%= link_to "Create a new election", :controller => 'election', :action => 'new' %>

-

- diff --git a/app/views/site/index.rhtml b/app/views/front/index.rhtml similarity index 93% rename from app/views/site/index.rhtml rename to app/views/front/index.rhtml index e0e34a2..ee8c2bb 100644 --- a/app/views/site/index.rhtml +++ b/app/views/front/index.rhtml @@ -26,10 +26,12 @@ <% else %>

You must have an account to start a new vote or to administer an - existing vote. You can log in or create a new account below.

+ existing vote. You can log in below.

<%= render :partial => 'basic_login' %> <% end %> +

Full elections creation is not yet public. <%= link_to("Contact us", + "mailto:team@selectricity.org") %> for access.

diff --git a/app/views/layouts/frontpage.rhtml b/app/views/layouts/frontpage.rhtml index d5a5f01..fd98170 100644 --- a/app/views/layouts/frontpage.rhtml +++ b/app/views/layouts/frontpage.rhtml @@ -21,11 +21,10 @@ <% else %> <%= link_to("login", :controller => "account", :action => "login") %> -   <%= link_to("sign up", :controller => "account", - :action => "signup")%> +   <%= link_to "sign up", :controller => "account", + :action => "signup" %> <% end -%> -   <%= link_to("help/about", :controller => "site", - :action => 'about')%> +   <%= link_to "help/about", :controller => 'about' %>

selectricity: voting machinery for the masses

diff --git a/app/views/layouts/main.rhtml b/app/views/layouts/main.rhtml index bdb206a..c34e797 100644 --- a/app/views/layouts/main.rhtml +++ b/app/views/layouts/main.rhtml @@ -17,8 +17,7 @@
- <%= link_to "

Selectricity

", - :controller => 'site', :action => 'index' %> + <%= link_to "

Selectricity

", :controller => 'front' %>
<% if flash[:notice]%> @@ -40,13 +39,13 @@ <%= link_to "logout", :controller => "account", :action => "logout" %> <% else %> - <%= link_to("login", :controller => "account", :action => "login") - %>/<%= link_to("sign up", :controller => "account", :action => "signup")%> + <%= link_to "login", :controller => "account", :action => "login" + %>/<%= link_to "sign up", :controller => "account", :action => "signup" %> <% end %>
- <%= link_to("help/about", :controller => "site", :action => "about") %> + <%= link_to "help/about", :controller => 'about' %>
diff --git a/app/views/quickvote/not_viewable.rhtml b/app/views/quickvote/not_viewable.rhtml index 3c5532e..24361d9 100644 --- a/app/views/quickvote/not_viewable.rhtml +++ b/app/views/quickvote/not_viewable.rhtml @@ -1,3 +1,3 @@

Sorry, the creator of this QuickVote has decided this election shouldn't be visible while the QuickVote is running.

-<%= link_to "Selectricity Home", :controller => 'site' %> \ No newline at end of file +<%= link_to "Selectricity Home", :controller => 'front' %> diff --git a/config/routes.rb b/config/routes.rb index cce54e9..f763da9 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -11,9 +11,11 @@ ActionController::Routing::Routes.draw do |map| # You can have the root of your site routed by hooking up '' # -- just remember to delete public/index.html. - map.connect 'index.html', :controller => "site", :action => "index" - map.connect '', :controller => "site", :action => "index" + map.connect '', :controller => "front" + map.connect '/sitealizer/:action', :controller => 'sitealizer' + + map.connect 'quickvote/:action/:id', :controller => 'quickvote', :requirements => { :action => /(create|add_candidate|sort_candidates|my_quickvotes)/ } diff --git a/public/images/selectricity_team_photo.jpg b/public/images/selectricity_team_photo.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f34b7b78835c513f1be9f28fe6bc03e12a61249d GIT binary patch literal 54968 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

qUg0giq$|V{NbA7nr^a}tK~4En6Cm`JzTR$( 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