Skip to content

Commit 3da8dd6

Browse files
committed
Fixed the UI for the store form and test cases
1 parent d11fd47 commit 3da8dd6

File tree

6 files changed

+78
-30
lines changed

6 files changed

+78
-30
lines changed

Gemfile

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ gem 'pg', '~> 1.0', require: false if dbs.match?(/all|postgres/)
2121
gem 'fast_sqlite', require: false if dbs.match?(/all|sqlite/)
2222
gem 'sqlite3', '>= 2.1', require: false if dbs.match?(/all|sqlite/)
2323

24-
2524
gem 'database_cleaner', '~> 2.0', require: false
2625
gem 'rspec-activemodel-mocks', '~> 1.1', require: false
2726
gem 'rspec-rails', '~> 6.0.3', require: false

api/lib/spree/api_configuration.rb

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,8 @@ def promotion_attributes=(value)
127127
preference :store_attributes, :array, default: [
128128
:id, :name, :url, :meta_description, :meta_keywords, :seo_title,
129129
:mail_from_address, :default_currency, :code, :default, :available_locales,
130-
:bcc_email
130+
:bcc_email, :code, :legal_name, :tax_id, :contact_phone,
131+
:contact_email, :vat_id, :description, :address
131132
]
132133

133134
preference :store_credit_history_attributes, :array, default: [

api/spec/requests/spree/api/stores_spec.rb

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,14 @@ module Spree::Api
3737
"default_currency" => nil,
3838
"code" => store.code,
3939
"default" => true,
40-
"available_locales" => ["en"]
40+
"available_locales" => ["en"],
41+
"legal_name": nil,
42+
"tax_id": nil,
43+
"contact_phone": nil,
44+
"contact_email": nil,
45+
"vat_id": nil,
46+
"description": nil,
47+
"address": nil
4148
},
4249
{
4350
"id" => non_default_store.id,
@@ -51,7 +58,14 @@ module Spree::Api
5158
"default_currency" => nil,
5259
"code" => non_default_store.code,
5360
"default" => false,
54-
"available_locales" => ["en"]
61+
"available_locales" => ["en"],
62+
"legal_name": nil,
63+
"tax_id": nil,
64+
"contact_phone": nil,
65+
"contact_email": nil,
66+
"vat_id": nil,
67+
"description": nil,
68+
"address": nil
5569
}
5670
])
5771
end
@@ -70,7 +84,14 @@ module Spree::Api
7084
"default_currency" => nil,
7185
"code" => store.code,
7286
"default" => true,
73-
"available_locales" => ["en"]
87+
"available_locales" => ["en"],
88+
"legal_name" => nil,
89+
"tax_id" => nil,
90+
"contact_phone" => nil,
91+
"contact_email" => nil,
92+
"vat_id" => nil,
93+
"description" => nil,
94+
"address" => nil
7495
)
7596
end
7697

backend/app/views/spree/admin/stores/_form.html.erb

Lines changed: 41 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -43,17 +43,18 @@
4343
<%= f.error_message_on :tax_id %>
4444
<% end %>
4545

46-
<%= f.field_container :address do %>
47-
<%= f.label :address %>
48-
<%= f.text_area :address, class: 'fullwidth' %>
49-
<%= f.error_message_on :address %>
50-
<% end %>
51-
5246
<%= f.field_container :contact_phone do %>
5347
<%= f.label :contact_phone %>
5448
<%= f.phone_field :contact_phone, class: 'fullwidth' %>
5549
<%= f.error_message_on :contact_phone %>
5650
<% end %>
51+
52+
<%= f.field_container :vat_id do %>
53+
<%= f.label :vat_id %>
54+
<%= f.text_field :vat_id, class: 'fullwidth' %>
55+
<%= f.error_message_on :vat_id %>
56+
<% end %>
57+
5758
</div>
5859

5960
<div class="col-12 col-md-6">
@@ -65,7 +66,7 @@
6566

6667
<%= f.field_container :mail_from_address do %>
6768
<%= f.label :mail_from_address, class: 'required' %>
68-
<%= f.text_field :mail_from_address, required: true, class: 'fullwidth' %>
69+
<%= f.email_field :mail_from_address, required: true, class: 'fullwidth' %>
6970
<%= f.error_message_on :mail_from_address %>
7071
<% end %>
7172

@@ -113,16 +114,42 @@
113114
<%= f.error_message_on :contact_email %>
114115
<% end %>
115116

116-
<%= f.field_container :vat_id do %>
117-
<%= f.label :vat_id %>
118-
<%= f.text_field :vat_id, class: 'fullwidth' %>
119-
<%= f.error_message_on :vat_id %>
120-
<% end %>
121-
122117
<%= f.field_container :description do %>
123118
<%= f.label :description %>
124-
<%= f.text_area :description, class: 'fullwidth' %>
119+
<%= f.text_area :description, class: 'fullwidth', style: 'height: 130px;' %>
125120
<%= f.error_message_on :description %>
126121
<% end %>
127122
</div>
123+
124+
<div class="col-12">
125+
<%= f.label :address, "Address" %>
126+
<div class="row border mx-1 py-3 border-secondary rounded">
127+
<div class="col-md-6 mb-3">
128+
<%= f.label :streetAddress, "Street Address", class: "form-label" %>
129+
<%= text_field_tag 'store[address][streetAddress]', f.object.address&.dig('streetAddress'), class: 'form-control', placeholder: "Street Address" %>
130+
</div>
131+
132+
<div class="col-md-6 mb-3">
133+
<%= f.label :addressLocality, "City", class: "form-label" %>
134+
<%= text_field_tag 'store[address][addressLocality]', f.object.address&.dig('addressLocality'), class: 'form-control', placeholder: "City" %>
135+
</div>
136+
137+
<div class="col-md-6 mb-3">
138+
<%= f.label :addressRegion, "Region", class: "form-label" %>
139+
<%= text_field_tag 'store[address][addressRegion]', f.object.address&.dig('addressRegion'), class: 'form-control', placeholder: "Region" %>
140+
</div>
141+
142+
<div class="mb-3 col-md-6">
143+
<%= f.label :addressCountry, "Country", class: "form-label" %>
144+
<%= select_tag 'store[address][addressCountry]',
145+
options_from_collection_for_select(available_countries(restrict_to_zone: nil), :id, :name, f.object.address&.dig('addressCountry')),
146+
class: 'form-control', placeholder: "Country" %>
147+
</div>
148+
149+
<div class="col-md-6 mb-3">
150+
<%= f.label :postalCode, "Postal Code", class: "form-label" %>
151+
<%= text_field_tag 'store[address][postalCode]', f.object.address&.dig('postalCode'), class: 'form-control', placeholder: "Postal Code" %>
152+
</div>
153+
</div>
154+
</div>
128155
</div>
Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
class AddStoreAttributesToSpreeStores < ActiveRecord::Migration[7.2]
2-
def change
3-
add_column :spree_stores, :legal_name, :string
4-
add_column :spree_stores, :tax_id, :string
5-
add_column :spree_stores, :address, :text
6-
add_column :spree_stores, :contact_phone, :string
7-
add_column :spree_stores, :contact_email, :string
8-
add_column :spree_stores, :vat_id, :string
9-
add_column :spree_stores, :description, :text
10-
end
2+
def change
3+
add_column :spree_stores, :legal_name, :string
4+
add_column :spree_stores, :tax_id, :string
5+
add_column :spree_stores, :address, :jsonb
6+
add_column :spree_stores, :contact_phone, :string
7+
add_column :spree_stores, :contact_email, :string
8+
add_column :spree_stores, :vat_id, :string
9+
add_column :spree_stores, :description, :text
10+
end
1111
end

core/lib/spree/permitted_attributes.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -113,8 +113,8 @@ module PermittedAttributes
113113
@@store_attributes = [:name, :url, :seo_title, :meta_keywords,
114114
:meta_description, :default_currency,
115115
:mail_from_address, :cart_tax_country_iso,
116-
:bcc_email, :code, :legal_name, :tax_id, :address,
117-
:contact_phone, :contact_email, :vat_id, :description]
116+
:bcc_email, :code, :legal_name, :tax_id, :contact_phone,
117+
:contact_email, :vat_id, :description, address: {}]
118118

119119
@@taxonomy_attributes = [:name]
120120

0 commit comments

Comments
 (0)