confirming works, last address is now persisted, thank you page is up but not yet accessible

This commit is contained in:
Senad Uka
2015-03-03 07:26:18 +01:00
parent 4befef5bf4
commit 0f47367cd0
9 changed files with 153 additions and 20 deletions

View File

@@ -5,9 +5,9 @@ helpers do
auid = cookies[:anonymous_user_id]
if auid.nil?
auid = AnonymousUser.uid
response.set_cookie('anonymous_user_id', :path=> '/', :httponly => true, :value=>auid, :expires=>Time.now+100.year)
response.set_cookie('anonymous_user_id', :path=> '/', :httponly => true, :value=>auid, :expires=> Time.now + 100.year)
end
auid
return auid
end
end
@@ -22,7 +22,6 @@ get '/cart/item' do
Cart.find_or_create(anonymous_id, -1).item_in_carts.to_json
end
update_cart_item = ->() {
cart_id = Cart.find_or_create(anonymous_id, -1).id
item_id = @json_params["item_id"].to_i
@@ -58,4 +57,13 @@ update_delivery_destination = ->() {
cart.delivery_destination.to_json(:except => [:created_at, :email_verification_code, :phone_verification_code])
}
put '/cart/delivery_destination', &update_delivery_destination
post '/cart/delivery_destination', &update_delivery_destination
post '/cart/delivery_destination', &update_delivery_destination
post '/cart/confirmation' do
cart = Cart.find_or_create(anonymous_id, -1)
if cart.item_in_carts.length > 0
cart.ordered = true
cart.save!
end
end

View File

@@ -7,7 +7,7 @@ class Cart < ActiveRecord::Base
cart ||= Cart.where(anonymous_id_string: anonymous_id).where(ordered: false).first
safe_user_id = (user_id > 0) ? user_id : nil
cart ||= Cart.create!(anonymous_id_string: anonymous_id, user_id: safe_user_id, ordered: false )
cart.delivery_destination ||= DeliveryDestination.create!
cart.delivery_destination ||= DeliveryDestination.find_or_create(anonymous_id, user_id);
return cart
end
end
end

View File

@@ -1,4 +1,11 @@
class DeliveryDestination < ActiveRecord::Base
has_one :cart
belongs_to :user
def self.find_or_create(anonymous_id, user_id)
dd = DeliveryDestination.where(user_id: user_id).order("id desc").first
dd ||= DeliveryDestination.where(anonymous_id_string: anonymous_id).order("id desc").first
dd ||= DeliveryDestination.create!({user_id: user_id, anonymous_id_string: anonymous_id })
return dd
end
end