summaryrefslogtreecommitdiff
path: root/lib/generators/nifty/authentication/templates/sessions_controller.rb
blob: 65e77c19e54b366a3e06dd56b66377232d36d651 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
class <%= session_plural_class_name %>Controller < ApplicationController
<%- if options[:authlogic] -%>
  def new
    @<%= session_singular_name %> = <%= session_class_name %>.new
  end

  def create
    @<%= session_singular_name %> = <%= session_class_name %>.new(params[:<%= session_singular_name %>])
    if @<%= session_singular_name %>.save
      redirect_to_target_or_default root_url, :notice => "Logged in successfully."
    else
      render :new
    end
  end

  def destroy
    @<%= session_singular_name %> = <%= session_class_name %>.find
    @<%= session_singular_name %>.destroy
    redirect_to root_url, :notice => "You have been logged out."
  end
<%- else -%>
  def new
  end

  def create
    <%= user_singular_name %> = <%= user_class_name %>.authenticate(params[:login], params[:password])
    if <%= user_singular_name %>
      session[:<%= user_singular_name %>_id] = <%= user_singular_name %>.id
      redirect_to_target_or_default root_url, :notice => "Logged in successfully."
    else
      flash.now[:alert] = "Invalid login or password."
      render :new
    end
  end

  def destroy
    session[:<%= user_singular_name %>_id] = nil
    redirect_to root_url, :notice => "You have been logged out."
  end
<%- end -%>
end