class AccountController < ApplicationController include AuthenticatedSystem observer :user_observer before_filter :login_required, :only => [:update_description] @@hubssolib_permissions = HubSsoLib::Permissions.new({ :update_description => [ :admin, :webmaster, :privileged ], :index => [ :admin, :webmaster, :privileged ], :login => [ :admin, :webmaster, :privileged ], :signup => [ :admin, :webmaster, :privileged ], :logout => [ :admin, :webmaster, :privileged ], }) def AccountController.hubssolib_permissions @@hubssolib_permissions end def update_description current_user.description = @params[:value] if current_user.save render :text => textilize(current_user.description) end end def index redirect_to(:action => 'signup') unless logged_in? or User.count > 0 end def login return unless request.post? ::ActionController::CgiRequest::DEFAULT_SESSION_OPTIONS.update(:session_expires => 4.weeks.from_now) if params[:remember_me] self.current_user = User.authenticate(params[:login], params[:password]) if current_user redirect_back_or_default(:controller => '/') flash[:notice] = "Logged in successfully" else flash[:notice] = "Please try again" end end def signup if User.count > 0 flash[:notice] = 'Someone has already signed up for this installation!' redirect_to(:controller => '/') return end @user = User.new(params[:user]) return unless request.post? @user.website = "http://#{@params[:user][:website]}" if @user.save self.current_user = User.authenticate(params[:user][:login], params[:user][:password]) redirect_back_or_default(:controller => '/') flash[:notice] = "Thanks for signing up!" end end def logout self.current_user = nil flash[:notice] = "You have been logged out." redirect_back_or_default(:controller => '/') end end