notebook/app/controllers/sessions_controller.rb
2012-12-22 23:50:10 -06:00

86 lines
1.9 KiB
Ruby

class SessionsController < ApplicationController
# GET /sessions
# GET /sessions.json
def index
@sessions = Session.all
respond_to do |format|
format.html # index.html.erb
format.json { render json: @sessions }
end
end
# GET /sessions/1
# GET /sessions/1.json
def show
@session = Session.find(params[:id])
respond_to do |format|
format.html # show.html.erb
format.json { render json: @session }
end
end
# GET /sessions/new
# GET /sessions/new.json
def new
@session = Session.new
respond_to do |format|
format.html # new.html.erb
format.json { render json: @session }
end
end
# GET /sessions/1/edit
def edit
@session = Session.find(params[:id])
end
# POST /sessions
# POST /sessions.json
def create
login = Session.new(params[:session])
user = User.where(name: login.username, password: login.password)
if user.length < 1
throw "Invalid username or password. Please try again."
end
session[:user] = user[0].id
respond_to do |format|
format.html { redirect_to '/', notice: 'Login successful.' }
format.json { render json: true, status: :created, location: login }
end
end
# PUT /sessions/1
# PUT /sessions/1.json
def update
@session = Session.find(params[:id])
respond_to do |format|
if @session.update_attributes(params[:session])
format.html { redirect_to @session, notice: 'Session was successfully updated.' }
format.json { head :no_content }
else
format.html { render action: "edit" }
format.json { render json: @session.errors, status: :unprocessable_entity }
end
end
end
# DELETE /sessions/1
# DELETE /sessions/1.json
def destroy
session.delete(:user)
respond_to do |format|
format.html { redirect_to '/', notice: 'Logged out!' }
format.json { head :no_content }
end
end
end