spree_backend 4.2.0.rc2 → 4.2.0.rc3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (97) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/spree/backend.js +0 -1
  3. data/app/assets/javascripts/spree/backend/address_states.js +20 -9
  4. data/app/assets/javascripts/spree/backend/calculator.js +2 -0
  5. data/app/assets/javascripts/spree/backend/checkouts/edit.js +99 -71
  6. data/app/assets/javascripts/spree/backend/line_items_on_order_edit.js +1 -1
  7. data/app/assets/javascripts/spree/backend/option_type_autocomplete.js +31 -37
  8. data/app/assets/javascripts/spree/backend/option_value_picker.js +50 -23
  9. data/app/assets/javascripts/spree/backend/product_picker.js +35 -19
  10. data/app/assets/javascripts/spree/backend/promotions.js +32 -27
  11. data/app/assets/javascripts/spree/backend/shipments.js +28 -37
  12. data/app/assets/javascripts/spree/backend/spree-select2.js +33 -14
  13. data/app/assets/javascripts/spree/backend/stock_transfer.js +32 -13
  14. data/app/assets/javascripts/spree/backend/taxon_autocomplete.js +30 -43
  15. data/app/assets/javascripts/spree/backend/taxons.js +60 -47
  16. data/app/assets/javascripts/spree/backend/user_picker.js +16 -18
  17. data/app/assets/javascripts/spree/backend/variant_autocomplete.js +23 -22
  18. data/app/assets/stylesheets/spree/backend/components/_badges.scss +1 -1
  19. data/app/assets/stylesheets/spree/backend/components/_tables.scss +2 -2
  20. data/app/assets/stylesheets/spree/backend/global/_variables.scss +1 -1
  21. data/app/assets/stylesheets/spree/backend/plugins/_select2_custom.scss +11 -0
  22. data/app/assets/stylesheets/spree/backend/plugins/select2_bootstrap4.scss +622 -0
  23. data/app/assets/stylesheets/spree/backend/spree_admin.css.scss +2 -1
  24. data/app/controllers/spree/admin/orders_controller.rb +15 -2
  25. data/app/controllers/spree/admin/products_controller.rb +2 -2
  26. data/app/controllers/spree/admin/states_controller.rb +1 -1
  27. data/app/controllers/spree/admin/taxons_controller.rb +15 -5
  28. data/app/helpers/spree/admin/base_helper.rb +21 -5
  29. data/app/helpers/spree/admin/navigation_helper.rb +11 -1
  30. data/app/helpers/spree/admin/payments_helper.rb +3 -3
  31. data/app/helpers/spree/admin/stock_movements_helper.rb +2 -0
  32. data/app/views/spree/admin/countries/index.html.erb +6 -6
  33. data/app/views/spree/admin/customer_returns/_return_item_decision.html.erb +3 -1
  34. data/app/views/spree/admin/customer_returns/_return_item_selection.html.erb +3 -1
  35. data/app/views/spree/admin/customer_returns/index.html.erb +2 -2
  36. data/app/views/spree/admin/customer_returns/new.html.erb +1 -1
  37. data/app/views/spree/admin/general_settings/edit.html.erb +25 -2
  38. data/app/views/spree/admin/option_types/index.html.erb +1 -1
  39. data/app/views/spree/admin/orders/_add_line_item.html.erb +1 -1
  40. data/app/views/spree/admin/orders/_add_product.html.erb +1 -1
  41. data/app/views/spree/admin/orders/_channel_form.html.erb +18 -0
  42. data/app/views/spree/admin/orders/_shipment.html.erb +3 -1
  43. data/app/views/spree/admin/orders/channel.html.erb +7 -0
  44. data/app/views/spree/admin/orders/customer_details/_autocomplete.js.erb +35 -12
  45. data/app/views/spree/admin/orders/customer_details/_form.html.erb +2 -2
  46. data/app/views/spree/admin/orders/customer_details/edit.html.erb +1 -1
  47. data/app/views/spree/admin/orders/index.html.erb +10 -11
  48. data/app/views/spree/admin/payment_methods/_form.html.erb +65 -46
  49. data/app/views/spree/admin/payment_methods/index.html.erb +1 -1
  50. data/app/views/spree/admin/products/_form.html.erb +4 -4
  51. data/app/views/spree/admin/products/index.html.erb +2 -1
  52. data/app/views/spree/admin/products/new.html.erb +2 -2
  53. data/app/views/spree/admin/promotion_rules/create.js.erb +1 -1
  54. data/app/views/spree/admin/promotions/_form.html.erb +1 -1
  55. data/app/views/spree/admin/promotions/actions/_create_line_items.html.erb +1 -1
  56. data/app/views/spree/admin/promotions/rules/_option_value.html.erb +8 -7
  57. data/app/views/spree/admin/promotions/rules/_product.html.erb +1 -1
  58. data/app/views/spree/admin/promotions/rules/_taxon.html.erb +1 -1
  59. data/app/views/spree/admin/promotions/rules/_user.html.erb +1 -1
  60. data/app/views/spree/admin/refunds/new.html.erb +1 -1
  61. data/app/views/spree/admin/reimbursements/edit.html.erb +4 -2
  62. data/app/views/spree/admin/reimbursements/show.html.erb +3 -1
  63. data/app/views/spree/admin/return_authorizations/_form.html.erb +7 -5
  64. data/app/views/spree/admin/return_authorizations/index.html.erb +2 -2
  65. data/app/views/spree/admin/return_index/customer_returns.html.erb +2 -2
  66. data/app/views/spree/admin/return_index/return_authorizations.html.erb +2 -2
  67. data/app/views/spree/admin/shared/_account_nav.html.erb +1 -1
  68. data/app/views/spree/admin/shared/_address_form.html.erb +7 -7
  69. data/app/views/spree/admin/shared/_head.html.erb +4 -0
  70. data/app/views/spree/admin/shared/_order_summary.html.erb +25 -21
  71. data/app/views/spree/admin/shared/_order_tabs.html.erb +9 -0
  72. data/app/views/spree/admin/shared/_refunds.html.erb +1 -1
  73. data/app/views/spree/admin/shared/_translations.html.erb +1 -0
  74. data/app/views/spree/admin/shared/_update_order_state.js.erb +6 -2
  75. data/app/views/spree/admin/shared/named_types/_index.html.erb +1 -1
  76. data/app/views/spree/admin/shipping_methods/_form.html.erb +2 -2
  77. data/app/views/spree/admin/shipping_methods/index.html.erb +5 -1
  78. data/app/views/spree/admin/stock_locations/_form.html.erb +1 -1
  79. data/app/views/spree/admin/stock_locations/index.html.erb +2 -2
  80. data/app/views/spree/admin/stock_transfers/_stock_movements.html.erb +1 -1
  81. data/app/views/spree/admin/stock_transfers/index.html.erb +42 -37
  82. data/app/views/spree/admin/stock_transfers/new.html.erb +1 -1
  83. data/app/views/spree/admin/stores/_form.html.erb +64 -11
  84. data/app/views/spree/admin/stores/index.html.erb +11 -6
  85. data/app/views/spree/admin/tax_categories/index.html.erb +1 -1
  86. data/app/views/spree/admin/tax_rates/index.html.erb +2 -2
  87. data/app/views/spree/admin/taxons/_form.html.erb +39 -35
  88. data/app/views/spree/admin/taxons/index.html.erb +1 -1
  89. data/app/views/spree/admin/users/_addresses_form.html.erb +4 -6
  90. data/app/views/spree/admin/variants/_form.html.erb +2 -2
  91. data/app/views/spree/admin/zones/index.html.erb +1 -1
  92. data/config/routes.rb +7 -1
  93. data/spree_backend.gemspec +1 -1
  94. metadata +15 -14
  95. data/app/assets/javascripts/spree/backend/tag_picker.js +0 -52
  96. data/app/assets/stylesheets/spree/backend/plugins/_select2.scss +0 -190
  97. data/app/views/spree/admin/general_settings/_form.html.erb +0 -17
@@ -66,7 +66,7 @@
66
66
  <div class="form-group" id="stock_movement_variant_id_field">
67
67
  <%= label_tag 'variant_id', Spree.t(:variant) %>
68
68
  <div class="input-group">
69
- <%= hidden_field_tag 'transfer_variant', {}, { class: 'w-100'} %>
69
+ <%= select_tag 'transfer_variant', nil, class: 'd-block w-100', id: 'transfer_variant' %>
70
70
  </div>
71
71
  </div>
72
72
  </div>
@@ -37,11 +37,19 @@
37
37
  <%= f.field_container :code, class: ['form-group'] do %>
38
38
  <%= f.label :code, raw(Spree.t(:code) + required_span_tag) %>
39
39
  <%= f.text_field :code, class: 'form-control', required: true %>
40
+ <small class="form-text text-muted">
41
+ <%= Spree.t('store_form.code_help') %>
42
+ </small>
40
43
  <%= f.error_message_on :code %>
41
44
  <% end %>
42
45
  <%= f.field_container :url, class: ['form-group'] do %>
43
46
  <%= f.label :url, raw(Spree.t(:url) + required_span_tag) %>
44
- <%= f.text_field :url, class: 'form-control', required: true %>
47
+ <div class="input-group mb-3">
48
+ <div class="input-group-prepend">
49
+ <span class="input-group-text" id="basic-addon3">https://</span>
50
+ </div>
51
+ <%= f.text_field :url, class: 'form-control', required: true %>
52
+ </div>
45
53
  <%= f.error_message_on :url %>
46
54
  <% end %>
47
55
  </div>
@@ -69,6 +77,14 @@
69
77
  <%= f.text_field :meta_keywords, class: 'form-control' %>
70
78
  <%= f.error_message_on :meta_keywords %>
71
79
  <% end %>
80
+ <%= f.field_container :seo_robots, class:['form-group'] do %>
81
+ <%= f.label :seo_robots, Spree.t(:seo_robots) %>
82
+ <%= f.text_field :seo_robots, class: 'form-control' %>
83
+ <%= f.error_message_on :seo_robots %>
84
+ <small class="form-text text-muted">
85
+ <%= raw(Spree.t('store_form.seo_robots')) %>
86
+ </small>
87
+ <% end %>
72
88
  </div>
73
89
  </div>
74
90
 
@@ -83,18 +99,27 @@
83
99
  <%= f.label :mail_from_address, raw(Spree.t(:mail_from_address) + required_span_tag) %>
84
100
  <%= f.text_field :mail_from_address, class: 'form-control', required: true %>
85
101
  <%= f.error_message_on :mail_from_address %>
102
+ <small class="form-text text-muted">
103
+ <%= Spree.t('store_form.mail_from_address_help') %>
104
+ </small>
86
105
  <% end %>
87
106
 
88
107
  <%= f.field_container :customer_support_email, class: ['form-group'] do %>
89
108
  <%= f.label :customer_support_email, Spree.t(:customer_support_email) %>
90
109
  <%= f.text_field :customer_support_email, class: 'form-control' %>
91
110
  <%= f.error_message_on :customer_support_email %>
111
+ <small class="form-text text-muted">
112
+ <%= Spree.t('store_form.customer_support_email_help') %>
113
+ </small>
92
114
  <% end %>
93
115
 
94
116
  <%= f.field_container :new_order_notifications_email, class: ['form-group'] do %>
95
117
  <%= f.label :new_order_notifications_email, Spree.t(:new_order_notifications_email) %>
96
118
  <%= f.text_field :new_order_notifications_email, class: 'form-control' %>
97
119
  <%= f.error_message_on :new_order_notifications_email %>
120
+ <small class="form-text text-muted">
121
+ <%= Spree.t('store_form.new_order_notifications_email_help') %>
122
+ </small>
98
123
  <% end %>
99
124
  </div>
100
125
  </div>
@@ -119,18 +144,28 @@
119
144
  <%= f.field_container :checkout_zone_id, class: ['form-group'] do %>
120
145
  <%= f.label :checkout_zone_id, Spree.t(:zone) %>
121
146
  <%= f.select :checkout_zone_id, options_for_select(@zones, selected_checkout_zone(@store)&.id), { include_blank: Spree.t(:no_limits_zone) }, { class: 'select2' } %>
122
- <%= f.label :checkout_zone_id, Spree.t('i18n.checkout_zone_warning_html'), class: 'alert alert-warning col-12' %>
147
+ <small class="form-text text-muted">
148
+ <%= raw(Spree.t('store_form.checkout_zone_help')) %>
149
+ </small>
123
150
  <%= f.error_message_on :checkout_zone_id %>
124
151
  <% end %>
125
152
  <%= f.field_container :default_locale, class: ['form-group'] do %>
126
153
  <%= f.label :default_locale, Spree.t('i18n.language') %>
127
154
  <%= f.select :default_locale, options_from_collection_for_select(all_locales_options, :last, :first, @store.default_locale), {}, { class: 'select2' } %>
128
155
  <%= f.error_message_on :default_locale %>
156
+ <% unless defined?(SpreeI18n) %>
157
+ <small class="form-text text-muted">
158
+ <%= raw(Spree.t('store_form.languages_help')) %>
159
+ </small>
160
+ <% end %>
129
161
  <% end %>
130
162
  <%= f.field_container :default_country_id, class: ['form-group'] do %>
131
163
  <%= f.label :default_country_id, Spree.t('i18n.default_country') %>
132
164
  <%= f.select :default_country_id, options_from_collection_for_select(@countries, :id, :name, @store.default_country_id || Spree::Config[:default_country_id]), {}, { class: 'select2' } %>
133
165
  <%= f.error_message_on :default_country_id %>
166
+ <small class="form-text text-muted">
167
+ <%= Spree.t('store_form.default_country_help') %>
168
+ </small>
134
169
  <% end %>
135
170
  </div>
136
171
  </div>
@@ -142,19 +177,38 @@
142
177
  </h1>
143
178
  </div>
144
179
  <div class="card-body">
180
+ <div class="alert alert-warning col-12">
181
+ <%= Spree.t('store_form.social_help') %>
182
+ </div>
183
+
145
184
  <%= f.field_container :facebook, class: ['form-group'] do %>
146
185
  <%= f.label :facebook, Spree.t(:facebook) %>
147
- <%= f.text_field :facebook, class: 'form-control' %>
186
+ <div class="input-group mb-3">
187
+ <div class="input-group-prepend">
188
+ <span class="input-group-text" id="basic-addon3">https://facebook.com</span>
189
+ </div>
190
+ <%= f.text_field :facebook, class: 'form-control' %>
191
+ </div>
148
192
  <%= f.error_message_on :facebook %>
149
193
  <% end %>
150
194
  <%= f.field_container :twitter, class: ['form-group'] do %>
151
195
  <%= f.label :twitter, Spree.t(:twitter) %>
152
- <%= f.text_field :twitter, class: 'form-control' %>
196
+ <div class="input-group mb-3">
197
+ <div class="input-group-prepend">
198
+ <span class="input-group-text" id="basic-addon3">https://twitter.com</span>
199
+ </div>
200
+ <%= f.text_field :twitter, class: 'form-control' %>
201
+ </div>
153
202
  <%= f.error_message_on :twitter %>
154
203
  <% end %>
155
204
  <%= f.field_container :instagram, class: ['form-group'] do %>
156
205
  <%= f.label :instagram, Spree.t(:instagram) %>
157
- <%= f.text_field :instagram, class: 'form-control' %>
206
+ <div class="input-group mb-3">
207
+ <div class="input-group-prepend">
208
+ <span class="input-group-text" id="basic-addon3">https://instagram.com</span>
209
+ </div>
210
+ <%= f.text_field :instagram, class: 'form-control' %>
211
+ </div>
158
212
  <%= f.error_message_on :instagram %>
159
213
  <% end %>
160
214
  </div>
@@ -163,10 +217,14 @@
163
217
  <div class="card mb-4">
164
218
  <div class="card-header">
165
219
  <h1 class="card-title mb-0 h5">
166
- <%= Spree.t(:footer_info) %>
220
+ <%= Spree.t(:footer) %>
167
221
  </h1>
168
222
  </div>
169
223
  <div class="card-body">
224
+ <div class="alert alert-warning col-12">
225
+ <%= Spree.t('store_form.footer_help') %>
226
+ </div>
227
+
170
228
  <%= f.field_container :description, class: ['form-group'] do %>
171
229
  <%= f.label :description, Spree.t(:description) %>
172
230
  <%= f.text_area :description, class: 'form-control' %>
@@ -177,11 +235,6 @@
177
235
  <%= f.text_area :address, class: 'form-control' %>
178
236
  <%= f.error_message_on :address %>
179
237
  <% end %>
180
- <%= f.field_container :contact_email, class: ['form-group'] do %>
181
- <%= f.label :contact_email, Spree.t(:contact_email) %>
182
- <%= f.text_field :contact_email, class: 'form-control' %>
183
- <%= f.error_message_on :contact_email %>
184
- <% end %>
185
238
  <%= f.field_container :contact_phone, class: ['form-group'] do %>
186
239
  <%= f.label :contact_phone, Spree.t(:contact_phone) %>
187
240
  <%= f.text_field :contact_phone, class: 'form-control' %>
@@ -20,21 +20,26 @@
20
20
  <% @stores.each do |store| %>
21
21
  <tr>
22
22
  <td><%= store.unique_name %></td>
23
- <td><%= link_to store.url, 'https://' + store.url, target: :blank %></td>
23
+ <td><%= link_to store.url, store.formatted_url, target: :blank %></td>
24
24
  <td><%= store.default_currency %></td>
25
- <td><%= store.default ? "<strong>#{Spree.t(:say_yes)}</strong>".html_safe : Spree.t(:say_no) %>
25
+ <td><%= active_badge(store.default) %></td>
26
26
  <td class="actions actions-2 text-right" data-hook="admin_stores_index_row_actions">
27
- <% if can?(:edit, store) && !store.default %>
28
- <%= link_to_with_icon('save.svg', Spree.t(:store_set_default_button), spree.set_default_admin_store_path(store), no_text: true, method: :put, class: 'btn btn-warning btn-sm with-tip') %>
29
- <% end %>
30
27
  <%= link_to_edit_url spree.edit_admin_store_path(store), no_text: true if can?(:edit, store) %>
28
+
29
+ <% if can?(:edit, store) %>
30
+ <% btn_url = store.default? ? '#' : spree.set_default_admin_store_path(store) %>
31
+ <% btn_class = store.default? ? 'outline-secondary disabled' : 'warning' %>
32
+ <% btn_label = store.default? ? nil : Spree.t(:store_set_default_button) %>
33
+ <%= link_to_with_icon('save.svg', btn_label, btn_url, no_text: true, method: (store.default? ? nil : :put), class: "btn btn-#{btn_class} btn-sm with-tip", aria: {disabled: store.default?}) %>
34
+ <% end %>
35
+
31
36
  <%= link_to_delete store, no_text: true, url: spree.admin_store_path(store) if can?(:destroy, store) %>
32
37
  </td>
33
38
  </tr>
34
39
  <% end %>
35
40
  </tbody>
36
41
  </table>
37
- </div>
42
+ </div>
38
43
  <% else %>
39
44
  <div class="alert alert-info no-objects-found">
40
45
  <%= Spree.t(:no_resource_found, resource: plural_resource_name(Spree::StoreCredit)) %>
@@ -27,7 +27,7 @@
27
27
  <td><%= tax_category.name %></td>
28
28
  <td><%= tax_category.tax_code %></td>
29
29
  <td><%= tax_category.description %></td>
30
- <td><%= tax_category.is_default? ? Spree.t(:say_yes) : Spree.t(:say_no) %></td>
30
+ <td><%= active_badge(tax_category.is_default?) %></td>
31
31
  <td class="actions actions-2 text-right">
32
32
  <%= link_to_edit(tax_category, no_text: true) if can? :edit, tax_category %>
33
33
  <%= link_to_delete(tax_category, no_text: true) if can? :delete, tax_category %>
@@ -28,8 +28,8 @@
28
28
  <td><%=tax_rate.name %></td>
29
29
  <td><%=tax_rate.tax_category.try(:name) || Spree.t(:not_available) %></td>
30
30
  <td><%=tax_rate.amount %></td>
31
- <td><%=tax_rate.included_in_price? ? Spree.t(:say_yes) : Spree.t(:say_no) %></td>
32
- <td><%=tax_rate.show_rate_in_label? ? Spree.t(:say_yes) : Spree.t(:say_no) %></td>
31
+ <td><%= active_badge(tax_rate.included_in_price?) %></td>
32
+ <td><%= active_badge(tax_rate.show_rate_in_label?) %></td>
33
33
  <td><%=tax_rate.calculator.to_s %></td>
34
34
  <td class="actions actions-2 text-right">
35
35
  <%= link_to_edit(tax_rate, no_text: true) if can? :edit, tax_rate %>
@@ -1,43 +1,47 @@
1
1
  <div data-hook="admin_inside_taxon_form">
2
- <div class="row">
3
- <div class="col-12 col-md-5">
4
- <%= f.field_container :name, class: ['form-group'] do %>
5
- <%= f.label :name, Spree.t(:name) %> <span class="required">*</span>
6
- <%= text_field :taxon, :name, class: 'form-control' %>
7
- <%= f.error_message_on :name, class: 'error-message' %>
8
- <% end %>
2
+ <%= f.field_container :name, class: ['form-group'] do %>
3
+ <%= f.label :name, raw(Spree.t(:name) + required_span_tag) %>
4
+ <%= text_field :taxon, :name, class: 'form-control' %>
5
+ <%= f.error_message_on :name, class: 'error-message' %>
6
+ <% end %>
9
7
 
10
- <%= f.field_container :permalink, class: ['form-group'] do %>
11
- <%= label_tag :permalink_part, Spree.t(:permalink) %> <span class="required">*</span>
12
- <%= text_field_tag :permalink_part, @permalink_part, class: 'form-control', required: true %>
13
- <small class="form-text text-muted" id="permalink_part_display">
14
- <%= @taxon.permalink.split('/')[0...-1].join('/') + '/' %>
15
- </small>
16
- <% end %>
8
+ <%= f.field_container :permalink, class: ['form-group'] do %>
9
+ <%= label_tag :permalink_part, raw(Spree.t(:permalink) + required_span_tag) %>
10
+ <div class="input-group mb-3">
11
+ <div class="input-group-prepend">
12
+ <span class="input-group-text" id="basic-addon3">
13
+ <%= [current_store.formatted_url, 't', @parent_permalink].join('/') %>
14
+ </span>
15
+ </div>
16
+ <%= text_field_tag :permalink_part, @permalink_part, class: 'form-control', required: true %>
17
+ </div>
18
+ <% end %>
17
19
 
18
- <%= f.field_container :hide_from_nav, class: ['form-group'] do %>
19
- <%= f.label :hide_from_nav do %>
20
- <%= Spree.t(:hide_from_subcategories_nav) %>
21
- <br>
22
- <%= f.check_box :hide_from_nav, { checked: @taxon.hide_from_nav } %>
23
- <small><%= Spree.t(:say_yes) %></small>
24
- <% end %>
25
- <% end %>
20
+ <%= f.field_container :hide_from_nav, class: ['form-group'] do %>
21
+ <%= f.label :hide_from_nav do %>
22
+ <%= Spree.t(:hide_from_subcategories_nav) %>
23
+ <br>
24
+ <%= f.check_box :hide_from_nav, { checked: @taxon.hide_from_nav } %>
25
+ <small><%= Spree.t(:say_yes) %></small>
26
+ <% end %>
27
+ <% end %>
26
28
 
27
- <%= f.field_container :icon, class: ['form-group'] do %>
28
- <%= f.label :icon, Spree.t(:header_banner) %>
29
- <%= image_tag(main_app.url_for(@taxon.icon.try(:attachment)), class: 'w-100') if @taxon.icon %>
30
- <%= f.file_field :icon %>
31
- <% end %>
32
- </div>
29
+ <%= f.field_container :icon, class: ['form-group'] do %>
30
+ <%= f.label :icon, Spree.t(:header_banner) %>
31
+ <%= image_tag(main_app.url_for(@taxon.icon.try(:attachment)), class: 'w-100') if @taxon.icon %>
32
+ <%= f.file_field :icon %>
33
+ <% if @taxon.icon.present? %>
34
+ <%= link_to Spree.t(:remove_image),
35
+ remove_icon_admin_taxonomy_taxon_url(@taxonomy.id, @taxon.id),
36
+ method: :delete
37
+ %>
38
+ <% end %>
39
+ <% end %>
33
40
 
34
- <div class="col-12 col-md-7">
35
- <%= f.field_container :description, class: ['form-group'] do %>
36
- <%= f.label :description, Spree.t(:description) %>
37
- <%= f.text_area :description, class: 'form-control', rows: 6 %>
38
- <% end %>
39
- </div>
40
- </div>
41
+ <%= f.field_container :description, class: ['form-group'] do %>
42
+ <%= f.label :description, Spree.t(:description) %>
43
+ <%= f.text_area :description, class: 'form-control', rows: 6 %>
44
+ <% end %>
41
45
 
42
46
  <%= f.field_container :meta_title, class: ['form-group'] do %>
43
47
  <%= f.label :meta_title, Spree.t(:meta_title) %>
@@ -4,7 +4,7 @@
4
4
 
5
5
  <div class="taxon-products-view">
6
6
  <div class="form-group">
7
- <%= text_field_tag :taxon_id %>
7
+ <%= select_tag :taxon_id, nil, class: 'd-block w-100' %>
8
8
  </div>
9
9
 
10
10
  <ul id="taxon_products" class="taxon row"></ul>
@@ -25,12 +25,10 @@
25
25
  </div>
26
26
 
27
27
  <div class="card-body">
28
- <p class="field checkbox" data-hook="use_billing">
29
- <%= label_tag :use_billing, id: 'use_billing' do %>
30
- <% checked = @user.bill_address.nil? ? false : @user.bill_address == @user.ship_address %>
31
- <%= check_box_tag 'user[use_billing]', '1', checked %>
32
- <%= Spree.t(:use_billing_address) %>
33
- <% end %>
28
+ <p class="form-group" data-hook="use_billing">
29
+ <% checked = @user.bill_address.nil? ? false : @user.bill_address == @user.ship_address %>
30
+ <%= check_box_tag 'user[use_billing]', '1', checked, class: 'checkbox' %>
31
+ <%= label_tag :use_billing, Spree.t(:use_billing_address), for: 'user_use_billing', id: 'use_billing', class: 'form-check-label' %>
34
32
  </p>
35
33
  <%= f.fields_for :ship_address, (@user.ship_address || Spree::Address.default(@user, "ship")) do |sa_form| %>
36
34
  <% sa_form.object ||= Spree::Address.new(country: Spree::Country.new) %>
@@ -6,10 +6,10 @@
6
6
  <%= label :new_variant, option_type.presentation %>
7
7
  <% if option_type.name == 'color' %>
8
8
  <%= f.collection_select 'option_value_ids', option_type.option_values, :id, :name,
9
- { include_blank: true }, { name: 'variant[option_value_ids][]', class: 'select2' } %>
9
+ { include_blank: true }, { name: 'variant[option_value_ids][]', class: 'select2-clear', id: "option_value_ids-#{option_type.id}" } %>
10
10
  <% else %>
11
11
  <%= f.collection_select 'option_value_ids', option_type.option_values, :id, :presentation,
12
- { include_blank: true }, { name: 'variant[option_value_ids][]', class: 'select2' } %>
12
+ { include_blank: true }, { name: 'variant[option_value_ids][]', class: 'select2-clear', id: "option_value_ids-#{option_type.id}" } %>
13
13
  <% end %>
14
14
  </div>
15
15
  <% end %>
@@ -24,7 +24,7 @@
24
24
  <tr id="<%= spree_dom_id zone %>" data-hook="zones_row">
25
25
  <td><%= zone.name %></td>
26
26
  <td><%= zone.description %></td>
27
- <td><%= zone.default_tax? ? Spree.t(:say_yes) : Spree.t(:say_no) %></td>
27
+ <td><%= active_badge(zone.default_tax?) %></td>
28
28
  <td class="actions actions-2 text-right">
29
29
  <%= link_to_edit(zone, no_text: true) if can? :edit, zone %>
30
30
  <%= link_to_delete(zone, no_text: true) if can? :delete, zone %>
@@ -86,6 +86,8 @@ Spree::Core::Engine.add_routes do
86
86
  put :resume
87
87
  get :store
88
88
  put :set_store
89
+ get :channel
90
+ put :set_channel
89
91
  end
90
92
 
91
93
  resources :state_changes, only: [:index]
@@ -134,7 +136,11 @@ Spree::Core::Engine.add_routes do
134
136
  collection do
135
137
  post :update_positions
136
138
  end
137
- resources :taxons
139
+ resources :taxons do
140
+ member do
141
+ delete :remove_icon
142
+ end
143
+ end
138
144
  end
139
145
 
140
146
  resources :taxons, only: [:index, :show]
@@ -34,5 +34,5 @@ Gem::Specification.new do |s|
34
34
  s.add_dependency 'inline_svg', '~> 1.5'
35
35
  s.add_dependency 'jquery-rails', '~> 4.3'
36
36
  s.add_dependency 'jquery-ui-rails', '~> 6.0.1'
37
- s.add_dependency 'select2-rails', '~> 3.5.0'
37
+ s.add_dependency 'select2-rails', '~> 4.0.0'
38
38
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spree_backend
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.2.0.rc2
4
+ version: 4.2.0.rc3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sean Schofield
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2020-11-10 00:00:00.000000000 Z
12
+ date: 2021-01-18 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: spree_api
@@ -17,28 +17,28 @@ dependencies:
17
17
  requirements:
18
18
  - - '='
19
19
  - !ruby/object:Gem::Version
20
- version: 4.2.0.rc2
20
+ version: 4.2.0.rc3
21
21
  type: :runtime
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
25
  - - '='
26
26
  - !ruby/object:Gem::Version
27
- version: 4.2.0.rc2
27
+ version: 4.2.0.rc3
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: spree_core
30
30
  requirement: !ruby/object:Gem::Requirement
31
31
  requirements:
32
32
  - - '='
33
33
  - !ruby/object:Gem::Version
34
- version: 4.2.0.rc2
34
+ version: 4.2.0.rc3
35
35
  type: :runtime
36
36
  prerelease: false
37
37
  version_requirements: !ruby/object:Gem::Requirement
38
38
  requirements:
39
39
  - - '='
40
40
  - !ruby/object:Gem::Version
41
- version: 4.2.0.rc2
41
+ version: 4.2.0.rc3
42
42
  - !ruby/object:Gem::Dependency
43
43
  name: bootstrap
44
44
  requirement: !ruby/object:Gem::Requirement
@@ -135,14 +135,14 @@ dependencies:
135
135
  requirements:
136
136
  - - "~>"
137
137
  - !ruby/object:Gem::Version
138
- version: 3.5.0
138
+ version: 4.0.0
139
139
  type: :runtime
140
140
  prerelease: false
141
141
  version_requirements: !ruby/object:Gem::Requirement
142
142
  requirements:
143
143
  - - "~>"
144
144
  - !ruby/object:Gem::Version
145
- version: 3.5.0
145
+ version: 4.0.0
146
146
  description: Required dependency for Spree
147
147
  email: hello@spreecommerce.org
148
148
  executables: []
@@ -246,7 +246,6 @@ files:
246
246
  - app/assets/javascripts/spree/backend/stock_management.js
247
247
  - app/assets/javascripts/spree/backend/stock_movement.js
248
248
  - app/assets/javascripts/spree/backend/stock_transfer.js
249
- - app/assets/javascripts/spree/backend/tag_picker.js
250
249
  - app/assets/javascripts/spree/backend/taxon_autocomplete.js
251
250
  - app/assets/javascripts/spree/backend/taxon_permalink_preview.js
252
251
  - app/assets/javascripts/spree/backend/taxon_tree_menu.js
@@ -275,7 +274,8 @@ files:
275
274
  - app/assets/stylesheets/spree/backend/global/_variables.scss
276
275
  - app/assets/stylesheets/spree/backend/plugins/_flatpickr.scss
277
276
  - app/assets/stylesheets/spree/backend/plugins/_jquery_ui.scss
278
- - app/assets/stylesheets/spree/backend/plugins/_select2.scss
277
+ - app/assets/stylesheets/spree/backend/plugins/_select2_custom.scss
278
+ - app/assets/stylesheets/spree/backend/plugins/select2_bootstrap4.scss
279
279
  - app/assets/stylesheets/spree/backend/shared/_base.scss
280
280
  - app/assets/stylesheets/spree/backend/shared/_forms.scss
281
281
  - app/assets/stylesheets/spree/backend/shared/_glyphicons_urls_fix.scss
@@ -376,7 +376,6 @@ files:
376
376
  - app/views/spree/admin/customer_returns/edit.html.erb
377
377
  - app/views/spree/admin/customer_returns/index.html.erb
378
378
  - app/views/spree/admin/customer_returns/new.html.erb
379
- - app/views/spree/admin/general_settings/_form.html.erb
380
379
  - app/views/spree/admin/general_settings/edit.html.erb
381
380
  - app/views/spree/admin/images/_form.html.erb
382
381
  - app/views/spree/admin/images/edit.html.erb
@@ -391,6 +390,7 @@ files:
391
390
  - app/views/spree/admin/orders/_add_line_item.html.erb
392
391
  - app/views/spree/admin/orders/_add_product.html.erb
393
392
  - app/views/spree/admin/orders/_adjustments.html.erb
393
+ - app/views/spree/admin/orders/_channel_form.html.erb
394
394
  - app/views/spree/admin/orders/_form.html.erb
395
395
  - app/views/spree/admin/orders/_line_items.html.erb
396
396
  - app/views/spree/admin/orders/_line_items_edit_form.html.erb
@@ -400,6 +400,7 @@ files:
400
400
  - app/views/spree/admin/orders/_shipment_manifest.html.erb
401
401
  - app/views/spree/admin/orders/_store_form.html.erb
402
402
  - app/views/spree/admin/orders/cart.html.erb
403
+ - app/views/spree/admin/orders/channel.html.erb
403
404
  - app/views/spree/admin/orders/customer_details/_autocomplete.js.erb
404
405
  - app/views/spree/admin/orders/customer_details/_form.html.erb
405
406
  - app/views/spree/admin/orders/customer_details/edit.html.erb
@@ -652,9 +653,9 @@ licenses:
652
653
  - BSD-3-Clause
653
654
  metadata:
654
655
  bug_tracker_uri: https://github.com/spree/spree/issues
655
- changelog_uri: https://github.com/spree/spree/releases/tag/v4.2.0.rc2
656
+ changelog_uri: https://github.com/spree/spree/releases/tag/v4.2.0.rc3
656
657
  documentation_uri: https://guides.spreecommerce.org/
657
- source_code_uri: https://github.com/spree/spree/tree/v4.2.0.rc2
658
+ source_code_uri: https://github.com/spree/spree/tree/v4.2.0.rc3
658
659
  post_install_message:
659
660
  rdoc_options: []
660
661
  require_paths:
@@ -671,7 +672,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
671
672
  version: 1.3.1
672
673
  requirements:
673
674
  - none
674
- rubygems_version: 3.1.2
675
+ rubygems_version: 3.1.4
675
676
  signing_key:
676
677
  specification_version: 4
677
678
  summary: backend e-commerce functionality for the Spree project.