mirror of https://github.com/fspc/BikeShed-1.git
Jason Denney
12 years ago
8 changed files with 147 additions and 1 deletions
@ -0,0 +1,43 @@ |
|||||
|
$("#checkin_menu").show(); |
||||
|
$("#checkin").click( function(e){ |
||||
|
var username = $("#user_email").val(); |
||||
|
var password = $("#user_password").val(); |
||||
|
$.ajax({ |
||||
|
type: 'POST', |
||||
|
url: '/api/v1/checkin', |
||||
|
dataType: 'json', |
||||
|
contentType: 'application/json', |
||||
|
processData: false, |
||||
|
data: JSON.stringify({"username": username, "password": password }), |
||||
|
complete: function() { }, |
||||
|
success: function(data) { |
||||
|
alert("Checked IN!"); |
||||
|
$("#user_email").val(''); |
||||
|
$("#user_password").val(''); |
||||
|
}, |
||||
|
error: function(data,textStatus) { |
||||
|
alert( "Error: " + JSON.parse(data.responseText)["error"]); |
||||
|
} |
||||
|
}) |
||||
|
}); |
||||
|
$("#checkout").click( function(e){ |
||||
|
var username = $("#user_email").val(); |
||||
|
var password = $("#user_password").val(); |
||||
|
$.ajax({ |
||||
|
type: 'POST', |
||||
|
url: '/api/v1/checkout', |
||||
|
dataType: 'json', |
||||
|
contentType: 'application/json', |
||||
|
processData: false, |
||||
|
data: JSON.stringify({"username": username, "password": password }), |
||||
|
complete: function() { }, |
||||
|
success: function(data) { |
||||
|
alert("Checked OUT!"); |
||||
|
$("#user_email").val(''); |
||||
|
$("#user_password").val(''); |
||||
|
}, |
||||
|
error: function(data,textStatus) { |
||||
|
alert( "Error: " + JSON.parse(data.responseText)["error"]); |
||||
|
} |
||||
|
}) |
||||
|
}); |
@ -0,0 +1,23 @@ |
|||||
|
class Api::V1::BaseController < ActionController::Base |
||||
|
respond_to :json |
||||
|
|
||||
|
before_filter :authenticate_user |
||||
|
|
||||
|
private |
||||
|
def authenticate_user |
||||
|
if params[:token] |
||||
|
@current_user = User.find_by_authentication_token(params[:token]) |
||||
|
else |
||||
|
user = User.find_for_database_authentication( :email => params[:username] ) |
||||
|
@current_user = user if user && user.valid_password?( params[:password] ) |
||||
|
end |
||||
|
unless @current_user |
||||
|
render :json => {:error => "Username/Password/Token invalid" }, :status => 403 |
||||
|
end |
||||
|
end |
||||
|
|
||||
|
def current_user |
||||
|
@current_user |
||||
|
end |
||||
|
end |
||||
|
|
@ -0,0 +1,20 @@ |
|||||
|
class Api::V1::LogsController < Api::V1::BaseController |
||||
|
|
||||
|
def checkin |
||||
|
if @current_user.checked_in? |
||||
|
render :json => { "error" => "You are already checked in."}, :status => 404 and return |
||||
|
else |
||||
|
@current_user.checkin |
||||
|
render :nothing => true, :status => 204 and return |
||||
|
end |
||||
|
end |
||||
|
|
||||
|
def checkout |
||||
|
if !@current_user.checked_in? |
||||
|
render :json => { "error" => "You were not even checked in."}, :status => 404 and return |
||||
|
else |
||||
|
@current_user.checkout |
||||
|
render :nothing => true, :status => 204 and return |
||||
|
end |
||||
|
end |
||||
|
end |
Loading…
Reference in new issue