spree_frontend 3.7.13 → 4.0.0.beta

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +1 -1
  3. data/app/assets/javascripts/spree/frontend.js +4 -1
  4. data/app/assets/javascripts/spree/frontend/checkout/address.js +42 -14
  5. data/app/assets/javascripts/spree/frontend/checkout/address_book.js +56 -0
  6. data/app/assets/javascripts/spree/frontend/product.js +54 -39
  7. data/app/assets/stylesheets/spree/frontend.css +1 -0
  8. data/app/assets/stylesheets/spree/frontend/_variables.scss +1 -1
  9. data/app/assets/stylesheets/spree/frontend/address_book.scss +8 -0
  10. data/app/assets/stylesheets/spree/frontend/frontend_bootstrap.css.scss +13 -35
  11. data/app/controllers/concerns/spree/checkout/address_book.rb +53 -0
  12. data/app/controllers/spree/addresses_controller.rb +72 -0
  13. data/app/controllers/spree/checkout_controller.rb +2 -0
  14. data/app/controllers/spree/orders_controller.rb +0 -55
  15. data/app/controllers/spree/products_controller.rb +5 -1
  16. data/app/controllers/spree/store_controller.rb +1 -1
  17. data/app/helpers/spree/addresses_helper.rb +36 -0
  18. data/app/helpers/spree/frontend_helper.rb +16 -15
  19. data/app/views/kaminari/{twitter-bootstrap-3 → twitter-bootstrap-4}/_first_page.html.erb +2 -2
  20. data/app/views/kaminari/{twitter-bootstrap-3 → twitter-bootstrap-4}/_gap.html.erb +5 -1
  21. data/app/views/kaminari/{twitter-bootstrap-3 → twitter-bootstrap-4}/_last_page.html.erb +2 -2
  22. data/app/views/kaminari/{twitter-bootstrap-3 → twitter-bootstrap-4}/_next_page.html.erb +2 -2
  23. data/app/views/kaminari/{twitter-bootstrap-3 → twitter-bootstrap-4}/_page.html.erb +8 -2
  24. data/app/views/kaminari/{twitter-bootstrap-3 → twitter-bootstrap-4}/_paginator.html.erb +1 -1
  25. data/app/views/kaminari/{twitter-bootstrap-3 → twitter-bootstrap-4}/_prev_page.html.erb +2 -2
  26. data/app/views/spree/address/_form.html.erb +27 -24
  27. data/app/views/spree/addresses/_form.html.erb +18 -0
  28. data/app/views/spree/addresses/destroy.js.erb +2 -0
  29. data/app/views/spree/addresses/edit.html.erb +23 -0
  30. data/app/views/spree/addresses/new.html.erb +23 -0
  31. data/app/views/spree/checkout/_address.html.erb +61 -37
  32. data/app/views/spree/checkout/_confirm.html.erb +12 -10
  33. data/app/views/spree/checkout/_delivery.html.erb +27 -15
  34. data/app/views/spree/checkout/_payment.html.erb +14 -9
  35. data/app/views/spree/checkout/_summary.html.erb +59 -57
  36. data/app/views/spree/checkout/edit.html.erb +6 -6
  37. data/app/views/spree/checkout/payment/_gateway.html.erb +43 -35
  38. data/app/views/spree/layouts/spree_application.html.erb +5 -2
  39. data/app/views/spree/orders/_form.html.erb +38 -25
  40. data/app/views/spree/orders/edit.html.erb +28 -22
  41. data/app/views/spree/orders/show.html.erb +2 -1
  42. data/app/views/spree/products/_cart_form.html.erb +28 -26
  43. data/app/views/spree/products/_product.html.erb +7 -8
  44. data/app/views/spree/products/_promotions.html.erb +13 -11
  45. data/app/views/spree/products/_properties.html.erb +10 -3
  46. data/app/views/spree/products/_thumbnails.html.erb +5 -7
  47. data/app/views/spree/products/show.html.erb +8 -8
  48. data/app/views/spree/shared/_filters.html.erb +29 -9
  49. data/app/views/spree/shared/_header.html.erb +2 -2
  50. data/app/views/spree/shared/_login_bar.html.erb +9 -3
  51. data/app/views/spree/shared/_main_nav_bar.html.erb +15 -15
  52. data/app/views/spree/shared/_nav_bar.html.erb +2 -2
  53. data/app/views/spree/shared/_order_details.html.erb +143 -89
  54. data/app/views/spree/shared/_products.html.erb +2 -2
  55. data/app/views/spree/shared/_search.html.erb +19 -12
  56. data/app/views/spree/shared/_sidebar.html.erb +1 -1
  57. data/app/views/spree/shared/_taxonomies.html.erb +7 -3
  58. data/config/routes.rb +2 -0
  59. data/lib/spree/frontend.rb +3 -3
  60. data/lib/spree/frontend/engine.rb +4 -0
  61. data/spree_frontend.gemspec +4 -3
  62. metadata +48 -25
@@ -0,0 +1,18 @@
1
+ <% address_id = address_type.chars.first %>
2
+
3
+ <% Spree::Address::ADDRESS_FIELDS.each do |field| %>
4
+ <% if field == "country" %>
5
+ <div class="form-group" id="<%= "#{address_id}country" %>">
6
+ <%= address_form.label :country_id, Spree.t(:country) %><span class="required">*</span><br />
7
+ <span id="<%= "#{address_id}country-selection" %>">
8
+ <%= address_form.collection_select :country_id, available_countries, :id, :name, {}, {:class => 'required form-control'} %>
9
+ </span>
10
+ </div>
11
+ <% elsif field == "state" %>
12
+ <%= address_field(address_form, :state, address_id) { address_state(address_form, address.country, address_id)} if Spree::Config[:address_requires_state] %>
13
+ <% else %>
14
+ <% next if field == "company" && !Spree::Config[:company] %>
15
+ <% next if field == "alternative_#{address_id}_phone" && !Spree::Config["alternative_#{address_id}_phone"] %>
16
+ <%= address_field(address_form, field.to_sym, address_id) %>
17
+ <% end %>
18
+ <% end %>
@@ -0,0 +1,2 @@
1
+ $("#billing_address_<%= @address.id %>").fadeOut();
2
+ $("#shipping_address_<%= @address.id %>").fadeOut();
@@ -0,0 +1,23 @@
1
+ <div class="col-lg-6 offset-lg-3">
2
+ <div class="card mb-3">
3
+ <div class="card-header">
4
+ <h3 class="card-title mb-0 h5"><%= t(:edit_shipping_address, scope: :address_book) %></h3>
5
+ </div>
6
+ <div class="card-body">
7
+ <%= render 'spree/shared/error_messages', target: @address %>
8
+ <%= form_for @address, html: { id: 'checkout_form_address' } do |f| %>
9
+ <fieldset>
10
+ <div class="inner">
11
+ <%= render 'spree/addresses/form',
12
+ address_name: 'address',
13
+ address_form: f,
14
+ address_type: 'shipping',
15
+ address: @address
16
+ %>
17
+ </div>
18
+ <%= f.submit Spree.t(:update), class: 'btn btn-primary' %>
19
+ </fieldset>
20
+ <% end %>
21
+ </div>
22
+ </div>
23
+ </div>
@@ -0,0 +1,23 @@
1
+ <div class="col-lg-6 offset-lg-3">
2
+ <div class="card mb-3">
3
+ <div class="card-header">
4
+ <h3 class="card-title h5 mb-0"><%= t(:new_shipping_address, scope: :address_book) %></h3>
5
+ </div>
6
+ <div class="card-body">
7
+ <%= render 'spree/shared/error_messages', target: @address %>
8
+ <%= form_for @address, html: { id: 'checkout_form_address' } do |f| %>
9
+ <fieldset>
10
+ <div class="inner">
11
+ <%= render 'spree/addresses/form',
12
+ address_name: 'address',
13
+ address_form: f,
14
+ address_type: 'shipping',
15
+ address: @address
16
+ %>
17
+ </div>
18
+ <%= f.submit t(:save, scope: :address_book), class: 'btn btn-primary' %>
19
+ </fieldset>
20
+ <% end %>
21
+ </div>
22
+ </div>
23
+ </div>
@@ -1,44 +1,68 @@
1
- <div class="row">
2
- <div class="col-sm-6" data-hook="billing_fieldset_wrapper">
3
- <div class="panel panel-default" id="billing" data-hook>
4
- <%= form.fields_for :bill_address do |bill_form| %>
5
- <div class="panel-heading">
6
- <h3 class="panel-title"><%= Spree.t(:billing_address) %></h3>
7
- </div>
8
- <div class="panel-body">
9
- <%= render partial: 'spree/address/form', locals: { form: bill_form, address_type: 'billing', address: @order.bill_address } %>
10
- </div>
11
- <% end %>
12
- </div>
13
- </div>
1
+ <% @addresses = try_spree_current_user ? try_spree_current_user.addresses : [] %>
14
2
 
15
- <div class="col-sm-6" data-hook="shipping_fieldset_wrapper">
16
- <div class="panel panel-default" id="shipping" data-hook>
17
- <%= form.fields_for :ship_address do |ship_form| %>
18
- <div class="panel-heading">
19
- <h3 class="panel-title"><%= Spree.t(:shipping_address) %></h3>
3
+ <div class="row">
4
+ <% ['billing', 'shipping'].each do |address_type|
5
+ address_name = "#{address_type[0...4]}_address" %>
6
+ <div class="col-12 col-md-6 mb-4" data-hook="<%= address_type %>_fieldset_wrapper">
7
+ <div class="card card-default" id="<%= address_type %>" data-hook>
8
+ <div class="card-header">
9
+ <h5 class="mb-0">
10
+ <%= Spree.t(address_type + '_address') %>
11
+ </h5>
20
12
  </div>
21
- <div class="panel-body">
22
- <p class="field checkbox" data-hook="use_billing">
23
- <%= label_tag :order_use_billing, id: 'use_billing' do %>
24
- <%= check_box_tag 'order[use_billing]', '1', @order.shipping_eq_billing_address? %>
25
- <%= Spree.t(:use_billing_address) %>
26
- <% end %>
27
- </p>
28
- <%= render partial: 'spree/address/form', locals: { form: ship_form, address_type: 'shipping', address: @order.ship_address } %>
13
+ <div class="card-body">
14
+ <% if address_type == 'shipping' %>
15
+ <div class="mb-0 form-check" data-hook="use_billing">
16
+ <%= label_tag :order_use_billing, id: 'use_billing' do %>
17
+ <%= check_box_tag 'order[use_billing]', '1', @order.shipping_eq_billing_address?, { class: 'form-check-input'} %>
18
+ <%= Spree.t(:use_billing_address) %>
19
+ <% end %>
20
+ </div>
21
+ <% end %>
22
+ <% if @addresses.present? %>
23
+ <div class="select_address">
24
+ <div class="form-group">
25
+ <% @addresses.each_with_index do |address, idx| %>
26
+ <span class="d-block mb-2" id="<%= [address_type, dom_id(address)].join('_') %>">
27
+ <label class="form-check-label">
28
+ <%= form.radio_button "#{address_name}_id", address.id, checked: (address.id == try_spree_current_user["#{address_name}_id"] || idx == 0) %> <%= address.to_s.html_safe %>
29
+ </label>
30
+ <a class="mb-3" href="<%= edit_address_path(address) %>" data-hook="edit_address"><%= Spree.t(:edit) %></a>
31
+ </span>
32
+ <% end %>
33
+ <div class="form-check">
34
+ <label class="form-check-label">
35
+ <%= form.radio_button "#{address_name}_id", 0, class: 'form-check-input' %> <%= Spree.t('address_book.other_address') %>
36
+ </label>
37
+ </div>
38
+ </div>
39
+ </div>
40
+ <% end %>
41
+ <%= form.fields_for address_name do |address_form| %>
42
+ <div class="inner" data-hook=<%="#{address_type}_inner" %>>
43
+ <%= render partial: 'spree/addresses/form', locals: {
44
+ address_name: address_name,
45
+ address_form: address_form,
46
+ address_type: address_type,
47
+ address: Spree::Address.default
48
+ } %>
49
+ </div>
50
+ <% end %>
29
51
  </div>
30
- <% end %>
52
+ </div>
31
53
  </div>
32
- </div>
54
+ <% end %>
33
55
  </div>
34
56
 
35
- <div class="well text-right form-buttons" data-hook="buttons">
36
- <%= submit_tag Spree.t(:save_and_continue), class: 'btn btn-lg btn-success' %>
37
- <% if try_spree_current_user %>
38
- <span data-hook="save_user_address" class='save-user-address-wrapper'>
39
- &nbsp; &nbsp;
40
- <%= check_box_tag 'save_user_address', '1', try_spree_current_user.respond_to?(:persist_order_address) %>
41
- <%= label_tag :save_user_address, Spree.t(:save_my_address) %>
42
- </span>
43
- <% end %>
57
+ <div class="card text-right form-buttons my-4" data-hook="buttons">
58
+ <div class="card-body">
59
+ <%= submit_tag Spree.t(:save_and_continue), class: 'btn btn-lg btn-success' %>
60
+ <% if try_spree_current_user %>
61
+ <span data-hook="save_user_address" class='save-user-address-wrapper'>
62
+ &nbsp; &nbsp;
63
+ <%= check_box_tag 'save_user_address', '1', try_spree_current_user.respond_to?(:persist_order_address) %>
64
+ <%= label_tag :save_user_address, Spree.t(:save_my_address) %>
65
+ </span>
66
+ <% end %>
67
+ </div>
44
68
  </div>
@@ -1,16 +1,18 @@
1
- <div class="panel panel-default" id="order_details" data-hook>
2
- <div class="panel-heading">
3
- <h3 class="panel-title"><%= Spree.t(:confirm) %></h3>
1
+ <div class="card" id="order_details" data-hook>
2
+ <div class="card-header">
3
+ <h3 class="card-title mb-0 h5"><%= Spree.t(:confirm) %></h3>
4
4
  </div>
5
- <div class="panel-body">
5
+ <div class="card-body">
6
6
  <%= render partial: 'spree/shared/order_details', locals: { order: @order } %>
7
7
  </div>
8
8
  </div>
9
9
 
10
- <div class="well text-right form-buttons" data-hook="buttons">
11
- <% if @order.using_store_credit? %>
12
- <%= button_tag Spree.t('store_credit.remove'), name: 'remove_store_credit', class: 'continue btn' %>
13
- <% end %>
14
- <%= submit_tag Spree.t(:place_order), class: 'btn btn-lg btn-success' %>
15
- <script>Spree.disableSaveOnClick();</script>
10
+ <div class="card text-right form-buttons mt-4" data-hook="buttons">
11
+ <div class="card-body">
12
+ <% if @order.using_store_credit? %>
13
+ <%= button_tag Spree.t('store_credit.remove'), name: 'remove_store_credit', class: 'continue btn' %>
14
+ <% end %>
15
+ <%= submit_tag Spree.t(:place_order), class: 'btn btn-lg btn-success' %>
16
+ <script>Spree.disableSaveOnClick();</script>
17
+ </div>
16
18
  </div>
@@ -1,14 +1,16 @@
1
- <div class="panel panel-default" id='shipping_method' data-hook>
2
- <div class="panel-heading">
3
- <h3 class="panel-title"><%= Spree.t(:delivery) %></h3>
1
+ <div class="card" id='shipping_method' data-hook>
2
+ <div class="card-header">
3
+ <h3 class="card-title mb-0 h5"><%= Spree.t(:delivery) %></h3>
4
4
  </div>
5
- <div class="panel-body" data-hook="shipping_method_inner">
5
+ <div class="card-body" data-hook="shipping_method_inner">
6
6
  <div id="methods">
7
7
  <%= form.fields_for :shipments do |ship_form| %>
8
8
  <div class="shipment">
9
- <h4 class="stock-location" data-hook="stock-location">
9
+ <h4 class="stock-location h5" data-hook="stock-location">
10
10
  <%= Spree.t(:package_from) %>
11
- <strong class="stock-location-name" data-hook="stock-location-name"><%= ship_form.object.stock_location.name %></strong>
11
+ <strong class="stock-location-name" data-hook="stock-location-name">
12
+ <%= ship_form.object.stock_location.name %>
13
+ </strong>
12
14
  </h4>
13
15
 
14
16
  <table class="table stock-contents" data-hook="stock-contents">
@@ -38,14 +40,22 @@
38
40
  </tbody>
39
41
  </table>
40
42
 
41
- <h4 class="stock-shipping-method-title"><%= Spree.t(:shipping_method) %></h4>
43
+ <h4 class="stock-shipping-method-title h5">
44
+ <%= Spree.t(:shipping_method) %>
45
+ </h4>
46
+
42
47
  <ul class="list-group shipping-methods">
43
48
  <% ship_form.object.shipping_rates.each do |rate| %>
44
49
  <li class="list-group-item shipping-method">
45
50
  <label>
46
- <%= ship_form.radio_button :selected_shipping_rate_id, rate.id, data: { behavior: 'shipping-method-selector', cost: rate.display_cost } %>
51
+ <%= ship_form.radio_button :selected_shipping_rate_id,
52
+ rate.id,
53
+ data: {
54
+ behavior: 'shipping-method-selector',
55
+ cost: rate.display_cost
56
+ } %>
47
57
  <span class="rate-name"><%= rate.name %></span>
48
- <span class="badge rate-cost"><%= rate.display_cost %></span>
58
+ <span class="badge badge-secondary rate-cost"><%= rate.display_cost %></span>
49
59
  </label>
50
60
  </li>
51
61
  <% end %>
@@ -55,7 +65,7 @@
55
65
 
56
66
  <% if @differentiator.try(:missing?) %>
57
67
  <div class="shipment unshippable">
58
- <h3 class="stock-location" data-hook="stock-location">
68
+ <h3 class="stock-location mb-0 h5" data-hook="stock-location">
59
69
  <%= Spree.t(:unshippable_items) %>
60
70
  </h3>
61
71
  <table class="table stock-contents" data-hook="stock-missing">
@@ -87,17 +97,19 @@
87
97
  </div>
88
98
  <% if Spree::Config[:shipping_instructions] %>
89
99
  <p id="minstrs" data-hook>
90
- <h4><%= Spree.t(:shipping_instructions) %></h4>
100
+ <h4 class="h5">
101
+ <%= Spree.t(:shipping_instructions) %>
102
+ </h4>
91
103
  <%= form.text_area :special_instructions, cols: 40, rows: 4, class: "form-control" %>
92
104
  </p>
93
105
  <% end %>
94
106
  </div>
95
107
  </div>
96
108
 
97
- <br />
98
-
99
- <div class="well text-right form-buttons" data-hook="buttons">
100
- <%= submit_tag Spree.t(:save_and_continue), class: 'btn btn-lg btn-success' %>
109
+ <div class="card my-4 text-right form-buttons" data-hook="buttons">
110
+ <div class="card-body">
111
+ <%= submit_tag Spree.t(:save_and_continue), class: 'btn btn-lg btn-success' %>
112
+ </div>
101
113
  </div>
102
114
 
103
115
  <%= javascript_include_tag 'spree/frontend/checkout/shipment' %>
@@ -1,8 +1,11 @@
1
- <div class="panel panel-default" id="payment" data-hook>
2
- <div class="panel-heading">
3
- <h3 class="panel-title"><%= Spree.t(:payment_information) %></h3>
1
+ <div class="card" id="payment" data-hook>
2
+ <div class="card-header">
3
+ <h3 class="card-title mb-0 h5">
4
+ <%= Spree.t(:payment_information) %>
5
+ </h3>
4
6
  </div>
5
- <div class="panel-body" data-hook="checkout_payment_step">
7
+
8
+ <div class="card-body" data-hook="checkout_payment_step">
6
9
  <% if @payment_sources.present? %>
7
10
  <div class="card_options">
8
11
  <%= radio_button_tag 'use_existing_card', 'yes', true %>
@@ -48,7 +51,7 @@
48
51
  <% end %>
49
52
  </ul>
50
53
 
51
- <ul class="nav" id="payment-methods" data-hook>
54
+ <ul id="payment-methods" class="list-unstyled position-relative" data-hook>
52
55
  <% @order.available_payment_methods.each do |method| %>
53
56
  <li id="payment_method_<%= method.id %>" class="<%= 'last' if method == @order.available_payment_methods.last %>" data-hook>
54
57
  <fieldset>
@@ -60,7 +63,7 @@
60
63
 
61
64
 
62
65
  <% if Spree::Frontend::Config[:coupon_codes_enabled] %>
63
- <p class='field' data-hook='coupon_code'>
66
+ <p class='field mb-0' data-hook='coupon_code'>
64
67
  <%= form.label :coupon_code %>
65
68
  <%= form.text_field :coupon_code, class: 'form-control' %>
66
69
  </p>
@@ -68,7 +71,9 @@
68
71
  </div>
69
72
  </div>
70
73
 
71
- <div class="well text-right form-buttons" data-hook="buttons">
72
- <%= submit_tag Spree.t(:save_and_continue), class: 'btn btn-lg btn-success primary' %>
73
- <script>Spree.disableSaveOnClick();</script>
74
+ <div class="card text-right form-buttons my-4" data-hook="buttons">
75
+ <div class="card-body">
76
+ <%= submit_tag Spree.t(:save_and_continue), class: 'btn btn-lg btn-success primary' %>
77
+ <script>Spree.disableSaveOnClick();</script>
78
+ </div>
74
79
  </div>
@@ -1,77 +1,79 @@
1
1
  <h3><%= Spree.t(:order_summary) %></h3>
2
2
 
3
- <table class="table" data-hook="order_summary">
4
- <tbody>
5
- <tr data-hook="item_total">
6
- <td><strong><%= Spree.t(:item_total) %>:</strong></td>
7
- <td><strong><%= order.display_item_total.to_html %></strong></td>
8
- </tr>
3
+ <div class="table-responsive">
4
+ <table class="table" data-hook="order_summary">
5
+ <tbody>
6
+ <tr data-hook="item_total">
7
+ <td><strong><%= Spree.t(:item_total) %>:</strong></td>
8
+ <td><strong><%= order.display_item_total.to_html %></strong></td>
9
+ </tr>
10
+
11
+ <% if order.line_item_adjustments.nonzero.exists? %>
12
+ <tbody data-hook="order_details_promotion_adjustments">
13
+ <% order.line_item_adjustments.nonzero.promotion.eligible.group_by(&:label).each do |label, adjustments| %>
14
+ <tr class="total">
15
+ <td><%= label %></td>
16
+ <td><%= Spree::Money.new(adjustments.sum(&:amount), currency: order.currency).to_html %></td>
17
+ </tr>
18
+ <% end %>
19
+ </tbody>
20
+ <% end %>
9
21
 
10
- <% if order.line_item_adjustments.nonzero.exists? %>
11
- <tbody data-hook="order_details_promotion_adjustments">
12
- <% order.line_item_adjustments.nonzero.promotion.eligible.group_by(&:label).each do |label, adjustments| %>
22
+ <tbody data-hook="order_details_tax_adjustments">
23
+ <% order.all_adjustments.nonzero.tax.eligible.group_by(&:label).each do |label, adjustments| %>
13
24
  <tr class="total">
14
25
  <td><%= label %></td>
15
26
  <td><%= Spree::Money.new(adjustments.sum(&:amount), currency: order.currency).to_html %></td>
16
27
  </tr>
17
28
  <% end %>
18
29
  </tbody>
19
- <% end %>
20
30
 
21
- <tbody data-hook="order_details_tax_adjustments">
22
- <% order.all_adjustments.nonzero.tax.eligible.group_by(&:label).each do |label, adjustments| %>
23
- <tr class="total">
24
- <td><%= label %></td>
25
- <td><%= Spree::Money.new(adjustments.sum(&:amount), currency: order.currency).to_html %></td>
31
+ <% if order.passed_checkout_step?("address") && order.shipments.any? %>
32
+ <tr data-hook="shipping_total">
33
+ <td><%= Spree.t(:shipping_total) %>:</td>
34
+ <% shipping_total = Spree::Money.new(order.shipments.to_a.sum(&:cost), currency: order.currency) %>
35
+ <td data-hook='shipping-total' data-currency='<%= Money::Currency.find(order.currency).symbol %>' thousands-separator='<%= shipping_total.thousands_separator %>' decimal-mark='<%= shipping_total.decimal_mark %>'><%= shipping_total.to_html %></td>
26
36
  </tr>
27
- <% end %>
28
- </tbody>
29
37
 
30
- <% if order.passed_checkout_step?("address") && order.shipments.any? %>
31
- <tr data-hook="shipping_total">
32
- <td><%= Spree.t(:shipping_total) %>:</td>
33
- <% shipping_total = Spree::Money.new(order.shipments.to_a.sum(&:cost), currency: order.currency) %>
34
- <td data-hook='shipping-total' data-currency='<%= Money::Currency.find(order.currency).symbol %>' thousands-separator='<%= shipping_total.thousands_separator %>' decimal-mark='<%= shipping_total.decimal_mark %>'><%= shipping_total.to_html %></td>
35
- </tr>
38
+ <% if order.shipment_adjustments.nonzero.exists? %>
39
+ <tbody data-hook="order_details_shipment_promotion_adjustments">
40
+ <% order.shipment_adjustments.nonzero.promotion.eligible.group_by(&:label).each do |label, adjustments| %>
41
+ <tr class="total">
42
+ <td><%= label %>:</td>
43
+ <td><%= Spree::Money.new(adjustments.sum(&:amount), currency: order.currency).to_html %></td>
44
+ </tr>
45
+ <% end %>
46
+ </tbody>
47
+ <% end %>
48
+ <% end %>
36
49
 
37
- <% if order.shipment_adjustments.nonzero.exists? %>
38
- <tbody data-hook="order_details_shipment_promotion_adjustments">
39
- <% order.shipment_adjustments.nonzero.promotion.eligible.group_by(&:label).each do |label, adjustments| %>
50
+ <% if order.adjustments.nonzero.eligible.exists? %>
51
+ <tbody id="summary-order-charges" data-hook>
52
+ <% order.adjustments.nonzero.eligible.each do |adjustment| %>
53
+ <% next if (adjustment.source_type == 'Spree::TaxRate') and (adjustment.amount == 0) %>
40
54
  <tr class="total">
41
- <td><%= label %>:</td>
42
- <td><%= Spree::Money.new(adjustments.sum(&:amount), currency: order.currency).to_html %></td>
55
+ <td><%= adjustment.label %>:</td>
56
+ <td><%= adjustment.display_amount.to_html %></td>
43
57
  </tr>
44
58
  <% end %>
45
59
  </tbody>
46
60
  <% end %>
47
- <% end %>
48
-
49
- <% if order.adjustments.nonzero.eligible.exists? %>
50
- <tbody id="summary-order-charges" data-hook>
51
- <% order.adjustments.nonzero.eligible.each do |adjustment| %>
52
- <% next if (adjustment.source_type == 'Spree::TaxRate') and (adjustment.amount == 0) %>
53
- <tr class="total">
54
- <td><%= adjustment.label %>:</td>
55
- <td><%= adjustment.display_amount.to_html %></td>
56
- </tr>
57
- <% end %>
58
- </tbody>
59
- <% end %>
60
-
61
- <tr data-hook="order_total">
62
- <td><strong><%= Spree.t(:order_total) %>:</strong></td>
63
- <td>
64
- <strong>
65
- <span id='summary-order-total' class="lead text-primary" data-currency="<%= Money::Currency.find(order.currency).symbol %>"><%= order.display_total.to_html %></span>
66
- </strong>
67
- </td>
68
- </tr>
69
61
 
70
- <% if order.using_store_credit? %>
71
- <tr data-hook="order_details_store_credit">
72
- <td><strong><%= Spree.t(:store_credit_name) %>:</strong></td>
73
- <td><span id='summary-store-credit'><%= order.display_total_applied_store_credit.to_html %></span></td>
62
+ <tr data-hook="order_total">
63
+ <td><strong><%= Spree.t(:order_total) %>:</strong></td>
64
+ <td>
65
+ <strong>
66
+ <span id='summary-order-total' class="lead text-primary" data-currency="<%= Money::Currency.find(order.currency).symbol %>"><%= order.display_total.to_html %></span>
67
+ </strong>
68
+ </td>
74
69
  </tr>
75
- <% end %>
76
- </tbody>
77
- </table>
70
+
71
+ <% if order.using_store_credit? %>
72
+ <tr data-hook="order_details_store_credit">
73
+ <td><strong><%= Spree.t(:store_credit_name) %>:</strong></td>
74
+ <td><span id='summary-store-credit'><%= order.display_total_applied_store_credit.to_html %></span></td>
75
+ </tr>
76
+ <% end %>
77
+ </tbody>
78
+ </table>
79
+ </div>