diff --git a/app/furniture/marketplace.rb b/app/furniture/marketplace.rb index 2cdbd1d60..bb84d432b 100644 --- a/app/furniture/marketplace.rb +++ b/app/furniture/marketplace.rb @@ -8,6 +8,7 @@ def self.append_routes(router) router.resources :carts do router.resources :cart_products end + router.resources :checkouts end end diff --git a/app/furniture/marketplace/breadcrumbs.rb b/app/furniture/marketplace/breadcrumbs.rb index 62238802f..a1f47e04c 100644 --- a/app/furniture/marketplace/breadcrumbs.rb +++ b/app/furniture/marketplace/breadcrumbs.rb @@ -7,6 +7,11 @@ link 'Marketplace', marketplace.location end +crumb :marketplace_checkout do |checkout| + parent :marketplace, checkout.cart.marketplace + link 'Checkout', url_for([space, room, checkout]) +end + crumb :marketplace_products do |marketplace| parent :marketplace, marketplace link 'Products', marketplace.location(:products) diff --git a/app/furniture/marketplace/cart_products_controller.rb b/app/furniture/marketplace/cart_products_controller.rb index 126cd319b..45e34e0be 100644 --- a/app/furniture/marketplace/cart_products_controller.rb +++ b/app/furniture/marketplace/cart_products_controller.rb @@ -24,6 +24,7 @@ def create turbo_stream.replace("cart-product-#{cart_product.product_id}", cart_product), turbo_stream.replace("cart-footer-#{cart.id}", partial: "marketplace/carts/footer", locals: {cart: cart}), + turbo_stream.replace("cart-total-#{cart.id}", partial: "marketplace/carts/total", locals: {cart: cart}) ] end end @@ -51,7 +52,8 @@ def update turbo_stream.replace("cart-product-#{cart_product.product_id}", cart_product), turbo_stream.replace("cart-footer-#{cart.id}", partial: "marketplace/carts/footer", locals: {cart: cart}), - ] + turbo_stream.replace("cart-total-#{cart.id}", partial: "marketplace/carts/total", locals: {cart: cart}) + ] end end end @@ -77,7 +79,8 @@ def destroy render turbo_stream: [ turbo_stream.replace("cart-product-#{cart_product.product_id}", cart.cart_products.new(product: cart_product.product)), turbo_stream.replace("cart-footer-#{cart.id}", - partial: "marketplace/carts/footer", locals: {cart: cart}) + partial: "marketplace/carts/footer", locals: {cart: cart}), + turbo_stream.replace("cart-total-#{cart.id}", partial: "marketplace/carts/total", locals: {cart: cart}) ] end end diff --git a/app/furniture/marketplace/carts/_footer.html.erb b/app/furniture/marketplace/carts/_footer.html.erb index f6ec0b2a9..38769f0a2 100644 --- a/app/furniture/marketplace/carts/_footer.html.erb +++ b/app/furniture/marketplace/carts/_footer.html.erb @@ -1,9 +1,16 @@ +<% + marketplace = cart.marketplace + room = marketplace.room + space = room.space +%> +
+ <%= Marketplace::Product.human_attribute_name(:name) %> + | ++ <%= Marketplace::Product.human_attribute_name(:description) %> + | ++ <%= Marketplace::Product.human_attribute_name(:price) %> + | ++ |
---|---|---|---|
+ | Total: | ++ <%= render "marketplace/carts/total" %> + | +