habitica/app/controllers/habits_controller.rb

72 lines
1.7 KiB
Ruby
Raw Normal View History

2012-02-01 04:09:00 +00:00
class HabitsController < ApplicationController
before_filter :authenticate_user!
def index
@user = current_user
2012-02-01 04:09:00 +00:00
respond_to do |format|
format.html # index.html.erb
format.json { render json: @user }
2012-02-01 04:09:00 +00:00
end
end
2012-02-04 21:32:12 +00:00
2012-02-01 04:09:00 +00:00
def new
render :json => Habit.new
2012-02-01 04:09:00 +00:00
end
def edit
render :json => current_user.habits.find(params[:id])
2012-02-01 04:09:00 +00:00
end
def create
@habit = Habit.new(params[:habit])
@habit.position ||= (Habit.maximum('position') || 0) + 1
@habit.user_id = current_user.id
2012-02-01 04:09:00 +00:00
respond_to do |format|
if @habit.save
format.json { render json: @habit, status: :created, location: @habit }
else
format.json { render json: @habit.errors, status: :unprocessable_entity }
end
end
end
def update
@habit = current_user.habits.find(params[:id])
test = params[:habit]
user_stats = params[:habit][:user_stats]
params[:habit].delete('user_stats')
@habit.user.lvl = user_stats['lvl']
@habit.user.exp = user_stats['exp']
@habit.user.money = user_stats['money']
@habit.user.save
2012-02-01 04:09:00 +00:00
respond_to do |format|
if @habit.update_attributes(params[:habit])
format.json { head :no_content }
else
format.json { render json: @habit.errors, status: :unprocessable_entity }
end
end
end
def destroy
@habit = current_user.habits.find(params[:id])
2012-02-01 04:09:00 +00:00
@habit.destroy
respond_to do |format|
format.json { head :no_content }
end
end
2012-02-01 05:39:04 +00:00
2012-02-01 21:55:33 +00:00
def sort
current_user.habits.each do |habit|
logger.fatal params['habit'].index(habit.id.to_s)
habit.position = params['habit'].index(habit.id.to_s)
habit.save
end
render :nothing => true
end
2012-02-01 04:09:00 +00:00
end