]> projects.mako.cc - selectricity-live/blobdiff - app/controllers/application.rb
Conditional that redircts to user profile page if too many elections in control panel...
[selectricity-live] / app / controllers / application.rb
old mode 100755 (executable)
new mode 100644 (file)
index 7462619..1387b29
@@ -1,9 +1,59 @@
-# 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.
-require 'login_engine'
+# Selectricity: Voting Machinery for the Masses
+# Copyright (C) 2007, 2008 Benjamin Mako Hill <mako@atdot.cc>
+# Copyright (C) 2007 Massachusetts Institute of Technology
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as
+# published by the Free Software Foundation, either version 3 of the
+# License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public
+# License along with this program.  If not, see
+# <http://www.gnu.org/licenses/>.
+
+# 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
-  include LoginEngine
+  include AuthenticatedSystem
   helper :user
-  model :user
+  require_dependency "user"
+
+  include Sitealizer
+  before_filter :add_stylesheets
+  #before_filter :use_sitealizer
+   
+  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
+    file = "#{Dir.pwd}/public/stylesheets/#{controller_name}.css"
+    if File.exists? file
+      @stylesheets << controller_name
+    end
+  end
+
+  #both election_controller and quickvote_controller need this method
+  def sort_candidates
+    
+    @vote = Vote.find(params[:id])
+    
+    @vote.rankings.each do |ranking|
+      ranking.rank = params['rankings-list'].index(ranking.candidate.id.to_s) + 1
+      ranking.save
+    end
+    render :nothing => true
+  end
 end

Benjamin Mako Hill || Want to submit a patch?