X-Git-Url: https://projects.mako.cc/source/selectricity/blobdiff_plain/b9f3bbdefb7bb1abd63193e2162aae1e78e1a1cb..7065ec58c26803b9fbc99476c09c1599996f4cc1:/app/controllers/account_controller.rb?ds=sidebyside diff --git a/app/controllers/account_controller.rb b/app/controllers/account_controller.rb index bb614de..2bda7ea 100644 --- a/app/controllers/account_controller.rb +++ b/app/controllers/account_controller.rb @@ -1,3 +1,21 @@ +# Selectricity: Voting Machinery for the Masses +# Copyright (C) 2007, 2008 Benjamin Mako Hill +# 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 +# . + class AccountController < ApplicationController layout 'main' @@ -10,8 +28,11 @@ class AccountController < ApplicationController def index redirect_to(:action => 'signup') unless logged_in? || User.count > 0 end - + + #these methods provide basic functionality for the user login system + #=================================================================== def login + return unless request.post? self.current_user = User.authenticate(params[:login], params[:password]) if logged_in? @@ -19,17 +40,21 @@ 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 + + def forgot_password + raise "Not Implemented!" + end def signup @user = User.new(params[:user]) 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' @@ -40,6 +65,16 @@ 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 + #====================================================================== + + #The following methods are for selectricity specific uses + def summary + @user = User.find(params[:id]) + end + + end + +