Commit d895a13f by Nguyen Quoc Kien

Modify code carts

parent 4c67bd5c
class CartsController < ApplicationController
def new
@cart = Cart.new
end
......@@ -7,15 +8,10 @@ class CartsController < ApplicationController
total = 0
@cart = Cart.new(cart_params)
@cart.save
if current_user
@cart.update(user_id: current_user.id, status: "Checkout")
user_id = current_user.id
else
@cart.update(user_id: "", status: "Checkout")
user_id = 'guess'
end
@cart.add_user_id_and_status(current_user)
get_user_id()
if @cart.save
session[user_id].each do |key, value|
session[@user_id].each do |key, value|
@product = Product.find(key)
@cart_product = CartProduct.new(cart_id: @cart.id, product_id: key.to_i, number: value.to_i, price: @product.price)
@cart_product.save
......@@ -24,7 +20,7 @@ class CartsController < ApplicationController
@cart.update( total_price: total)
update_info_user()
OrderNotifier.received(@cart).deliver
session[user_id] = nil
session[@user_id] = nil
flash[:success] = "Email to send"
redirect_to products_path
else
......@@ -53,6 +49,14 @@ class CartsController < ApplicationController
params.require(:cart).permit(:full_name, :email, :address, :phone)
end
def get_user_id
if current_user
@user_id = current_user.id
else
@user_id = 'guess'
end
end
def update_info_user
if user_signed_in?
user = User.find(current_user.id)
......
......@@ -14,6 +14,14 @@ class Cart < ActiveRecord::Base
before_save :downcase_email
def add_user_id_and_status(current_user)
if current_user
self.update(user_id: current_user.id, status: "Checkout")
else
self.update(user_id: "", status: "Checkout")
end
end
private
def downcase_email
......
......@@ -12,7 +12,7 @@
<% @carts.each do |cart| %>
<% cart_products = cart.cart_products %>
<tr>
<td colspan="4"><h4><b>Cart: <%= cart.created_at %></b></h4></td>
<td colspan="4"><h4><b>Cart <%= cart.id %>: <%= cart.created_at.to_formatted_s(:long_ordinal) %></b></h4></td>
</tr>
<% cart_products.each do |cart_product| %>
<tbody>
......
......@@ -12,7 +12,7 @@
<% @carts_to_user.each do |cart_to_user| %>
<% cart_products = cart_to_user.cart_products %>
<tr>
<td colspan="4"><h4><b>Cart: <%= cart_to_user.created_at %></b></h4></td>
<td colspan="4"><h4><b>Cart <%= cart_to_user.id %>: <%= cart_to_user.created_at.to_formatted_s(:long_ordinal) %></b></h4></td>
</tr>
<% cart_products.each do |cart_product| %>
<tbody>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment