Sha256: e140b62b3b43abf7a84e7d6275048d9bf2d6bfeb353ef2b128ac415d3aa305e3
Contents?: true
Size: 1.13 KB
Versions: 6
Compression:
Stored size: 1.13 KB
Contents
module Amalgam class SessionsController < Amalgam::ApplicationController layout 'amalgam/admin/login' def new @name = params[:resource] @resource = params[:resource].classify.safe_constantize.new end def create @resource = build_resource(params) @resource = @resource.class.authenticate params[resource_name][:login], params[resource_name][:password] if @resource && @resource.admin? session["#{resource_name}_id".to_sym] = @resource.id redirect_back_or_default params[:return_to] || admin_root_url else if @resource session["#{resource_name}_id".to_sym] = @resource.id redirect_back_or_default params[:return_to] || Amalgam.authority_urls[resource_name.to_sym] || main_app.root_url else redirect_to eval("#{resource_name}_signin_url"), :alert => I18n.t('amalgam.sessions.fail.invalid_name_or_password') end end end def destroy session["#{params[:resource].to_s}_id".to_sym] = nil if params[:resource] redirect_to main_app.root_url, :notice => I18n.t('amalgam.sessions.success.sign_out') end end end
Version data entries
6 entries across 6 versions & 1 rubygems