Skip to content

Commit 7ba63f5

Browse files
committed
Render order address form
1 parent 15fc696 commit 7ba63f5

File tree

3 files changed

+50
-1
lines changed

3 files changed

+50
-1
lines changed

admin/app/components/solidus_admin/orders/show/component.html.erb

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,56 @@
88
<% end %>
99
<% end %>
1010

11+
<%= form_for @order, url: solidus_admin.order_customer_path(@order), html: { id: form_id } do |f| %>
1112
<%= page_with_sidebar do %>
1213
<%= page_with_sidebar_main do %>
1314

1415
<%= render component('orders/cart').new(order: @order) %>
16+
17+
<%= render component('ui/panel').new(title: t(".customer_information")) do %>
18+
<div class="flex flex-wrap gap-4 pb-4">
19+
<%= render component("ui/forms/field").text_field(f, :email) %>
20+
21+
<div class="w-full flex items-center mb-4 border-b pb-4">
22+
<%= render component('ui/forms/checkbox').new(
23+
name: "#{f.object_name}[guest_checkout]",
24+
checked: f.object.guest_token,
25+
) %>
26+
<%= label_tag nil, 'Guest checkout', class: "ml-2 text-sm text-gray-700" %>
27+
</div>
28+
29+
<h2 class="text-xl mb-4 font-semibold"><%= t(".shipping_address") %></h2>
30+
<div class="flex flex-wrap gap-4 border-b pb-4">
31+
<%= f.fields_for :ship_address do |ba_form| %>
32+
<%= render component("ui/forms/field").text_field(ba_form, :name) %>
33+
<%= render component("ui/forms/field").text_field(ba_form, :address1) %>
34+
<%= render component("ui/forms/field").text_field(ba_form, :address2) %>
35+
<div class="flex w-full space-x-4">
36+
<%= render component("ui/forms/field").text_field(ba_form, :city, class: "flex-1") %>
37+
<%= render component("ui/forms/field").text_field(ba_form, :zipcode, class: "flex-1") %>
38+
</div>
39+
<%= render component("ui/forms/field").select(ba_form, :country, Spree::Country.all.map { |c| [c.name, c.id] }) %>
40+
<%= render component("ui/forms/field").select(ba_form, :state, Spree::State.all.map { |s| [s.name, s.id] }) %>
41+
<%= render component("ui/forms/field").text_field(ba_form, :phone) %>
42+
<% end %>
43+
</div>
44+
45+
<h2 class="text-xl mb-4 mt-4 font-semibold"><%= t(".billing_address") %></h2>
46+
<div class="flex flex-wrap gap-4">
47+
<%= f.fields_for :bill_address do |ba_form| %>
48+
<%= render component("ui/forms/field").text_field(ba_form, :name) %>
49+
<%= render component("ui/forms/field").text_field(ba_form, :address1) %>
50+
<%= render component("ui/forms/field").text_field(ba_form, :address2) %>
51+
<div class="flex w-full space-x-4">
52+
<%= render component("ui/forms/field").text_field(ba_form, :city, class: "flex-1") %>
53+
<%= render component("ui/forms/field").text_field(ba_form, :zipcode, class: "flex-1") %>
54+
</div>
55+
<%= render component("ui/forms/field").select(ba_form, :country, Spree::Country.all.map { |c| [c.name, c.id] }) %>
56+
<%= render component("ui/forms/field").select(ba_form, :state, Spree::State.all.map { |s| [s.name, s.id] }) %>
57+
<%= render component("ui/forms/field").text_field(ba_form, :phone) %>
58+
<% end %>
59+
</div>
60+
</div>
1561
<% end %>
1662
<% end %>
1763

admin/app/components/solidus_admin/orders/show/component.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ class SolidusAdmin::Orders::Show::Component < SolidusAdmin::BaseComponent
44
include SolidusAdmin::Layout::PageHelpers
55

66
def initialize(order:)
7-
@order = order
7+
@order = Spree::Order.complete.last #order
88
end
99

1010
def form_id

admin/app/components/solidus_admin/orders/show/component.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,6 @@ en:
44
save: Save
55
discard: Discard
66
title: "Order %{number}"
7+
customer_information: Create a new customer
8+
shipping_address: Shipping Address
9+
billing_address: Billing Address

0 commit comments

Comments
 (0)