spree_frontend 2.2.2 → 2.2.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/assets/javascripts/spree/frontend/cart.js.coffee +1 -1
- data/app/assets/javascripts/spree/frontend/checkout.js.coffee +1 -1
- data/app/assets/javascripts/spree/frontend/checkout/address.js.coffee +68 -68
- data/app/assets/javascripts/spree/frontend/checkout/payment.js.coffee +64 -64
- data/app/assets/javascripts/spree/frontend/product.js.coffee +3 -2
- data/app/controllers/spree/orders_controller.rb +1 -1
- data/app/views/spree/checkout/_summary.html.erb +4 -4
- data/app/views/spree/products/_cart_form.html.erb +4 -4
- data/app/views/spree/products/show.html.erb +1 -1
- data/app/views/spree/shared/_google_analytics.html.erb +7 -7
- data/app/views/spree/shared/_order_details.html.erb +3 -3
- data/app/views/spree/shared/_products.html.erb +12 -6
- data/app/views/spree/shared/_taxonomies.html.erb +1 -1
- data/app/views/spree/taxons/show.html.erb +1 -1
- metadata +7 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 340b0d616e5cba3a9a7fae4893da2b80f3f9fff7
|
4
|
+
data.tar.gz: 25b42e08e336643d49011dcad36f6babf8aff47f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e2768c7a9c80fe04622a720996f954a404df2e7e7a865ff42f4053e8fe5096477f5447cae1770c8601a8a68cdc85799a3bcf522cdbb82fc987719df3a82c6812
|
7
|
+
data.tar.gz: 346dee1608ee99d0a5806c635feef09283045ce2a4b5967af93e0cd0a0c6df76038b36fca78fb26392ed4ef6b72c60f7f70c4f052e19face7f81dee818b6b704
|
@@ -1,83 +1,83 @@
|
|
1
|
-
Spree.
|
2
|
-
|
3
|
-
($ '#checkout_form_address').
|
1
|
+
Spree.ready ($) ->
|
2
|
+
Spree.onAddress = () ->
|
3
|
+
if ($ '#checkout_form_address').is('*')
|
4
|
+
($ '#checkout_form_address').validate()
|
4
5
|
|
5
|
-
|
6
|
-
|
6
|
+
getCountryId = (region) ->
|
7
|
+
$('#' + region + 'country select').val()
|
7
8
|
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
9
|
+
Spree.updateState = (region) ->
|
10
|
+
countryId = getCountryId(region)
|
11
|
+
if countryId?
|
12
|
+
unless Spree.Checkout[countryId]?
|
13
|
+
$.get Spree.routes.states_search, {country_id: countryId}, (data) ->
|
14
|
+
Spree.Checkout[countryId] =
|
15
|
+
states: data.states
|
16
|
+
states_required: data.states_required
|
17
|
+
Spree.fillStates(Spree.Checkout[countryId], region)
|
18
|
+
else
|
16
19
|
Spree.fillStates(Spree.Checkout[countryId], region)
|
17
|
-
else
|
18
|
-
Spree.fillStates(Spree.Checkout[countryId], region)
|
19
20
|
|
20
|
-
|
21
|
-
|
22
|
-
|
21
|
+
Spree.fillStates = (data, region) ->
|
22
|
+
statesRequired = data.states_required
|
23
|
+
states = data.states
|
23
24
|
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
25
|
+
statePara = ($ '#' + region + 'state')
|
26
|
+
stateSelect = statePara.find('select')
|
27
|
+
stateInput = statePara.find('input')
|
28
|
+
stateSpanRequired = statePara.find('state-required')
|
29
|
+
if states.length > 0
|
30
|
+
selected = parseInt stateSelect.val()
|
31
|
+
stateSelect.html ''
|
32
|
+
statesWithBlank = [{ name: '', id: ''}].concat(states)
|
33
|
+
$.each statesWithBlank, (idx, state) ->
|
34
|
+
opt = ($ document.createElement('option')).attr('value', state.id).html(state.name)
|
35
|
+
opt.prop 'selected', true if selected is state.id
|
36
|
+
stateSelect.append opt
|
36
37
|
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
stateSpanRequired.show()
|
41
|
-
stateSelect.addClass('required') if statesRequired
|
42
|
-
stateSelect.removeClass('hidden')
|
43
|
-
stateInput.removeClass('required')
|
44
|
-
else
|
45
|
-
stateSelect.hide().prop 'disabled', true
|
46
|
-
stateInput.show()
|
47
|
-
if statesRequired
|
38
|
+
stateSelect.prop('disabled', false).show()
|
39
|
+
stateInput.hide().prop 'disabled', true
|
40
|
+
statePara.show()
|
48
41
|
stateSpanRequired.show()
|
49
|
-
|
50
|
-
|
51
|
-
stateInput.val ''
|
52
|
-
stateSpanRequired.hide()
|
42
|
+
stateSelect.addClass('required') if statesRequired
|
43
|
+
stateSelect.removeClass('hidden')
|
53
44
|
stateInput.removeClass('required')
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
45
|
+
else
|
46
|
+
stateSelect.hide().prop 'disabled', true
|
47
|
+
stateInput.show()
|
48
|
+
if statesRequired
|
49
|
+
stateSpanRequired.show()
|
50
|
+
stateInput.addClass('required')
|
51
|
+
else
|
52
|
+
stateInput.val ''
|
53
|
+
stateSpanRequired.hide()
|
54
|
+
stateInput.removeClass('required')
|
55
|
+
statePara.toggle(!!statesRequired)
|
56
|
+
stateInput.prop('disabled', !statesRequired)
|
57
|
+
stateInput.removeClass('hidden')
|
58
|
+
stateSelect.removeClass('required')
|
58
59
|
|
59
|
-
|
60
|
-
|
60
|
+
($ '#bcountry select').change ->
|
61
|
+
Spree.updateState 'b'
|
61
62
|
|
62
|
-
|
63
|
-
|
63
|
+
($ '#scountry select').change ->
|
64
|
+
Spree.updateState 's'
|
64
65
|
|
65
|
-
|
66
|
+
Spree.updateState 'b'
|
66
67
|
|
67
|
-
|
68
|
-
|
69
|
-
|
68
|
+
order_use_billing = ($ 'input#order_use_billing')
|
69
|
+
order_use_billing.change ->
|
70
|
+
update_shipping_form_state order_use_billing
|
70
71
|
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
72
|
+
update_shipping_form_state = (order_use_billing) ->
|
73
|
+
if order_use_billing.is(':checked')
|
74
|
+
($ '#shipping .inner').hide()
|
75
|
+
($ '#shipping .inner input, #shipping .inner select').prop 'disabled', true
|
76
|
+
else
|
77
|
+
($ '#shipping .inner').show()
|
78
|
+
($ '#shipping .inner input, #shipping .inner select').prop 'disabled', false
|
79
|
+
Spree.updateState('s')
|
79
80
|
|
80
|
-
|
81
|
+
update_shipping_form_state order_use_billing
|
81
82
|
|
82
|
-
Spree.
|
83
|
-
Spree.onAddress()
|
83
|
+
Spree.onAddress()
|
@@ -1,79 +1,79 @@
|
|
1
|
-
Spree.
|
2
|
-
|
3
|
-
|
4
|
-
if ($ '#existing_cards').is('*')
|
5
|
-
($ '#payment-method-fields').hide()
|
6
|
-
($ '#payment-methods').hide()
|
1
|
+
Spree.ready ($) ->
|
2
|
+
Spree.onPayment = () ->
|
3
|
+
if ($ '#checkout_form_payment').is('*')
|
7
4
|
|
8
|
-
($ '#
|
5
|
+
if ($ '#existing_cards').is('*')
|
9
6
|
($ '#payment-method-fields').hide()
|
10
7
|
($ '#payment-methods').hide()
|
11
|
-
($ '.existing-cc-radio').prop("disabled", false)
|
12
8
|
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
9
|
+
($ '#use_existing_card_yes').click ->
|
10
|
+
($ '#payment-method-fields').hide()
|
11
|
+
($ '#payment-methods').hide()
|
12
|
+
($ '.existing-cc-radio').prop("disabled", false)
|
17
13
|
|
14
|
+
($ '#use_existing_card_no').click ->
|
15
|
+
($ '#payment-method-fields').show()
|
16
|
+
($ '#payment-methods').show()
|
17
|
+
($ '.existing-cc-radio').prop("disabled", true)
|
18
18
|
|
19
|
-
$(".cardNumber").payment('formatCardNumber')
|
20
|
-
$(".cardExpiry").payment('formatCardExpiry')
|
21
|
-
$(".cardCode").payment('formatCardCVC')
|
22
19
|
|
23
|
-
|
24
|
-
$(
|
20
|
+
$(".cardNumber").payment('formatCardNumber')
|
21
|
+
$(".cardExpiry").payment('formatCardExpiry')
|
22
|
+
$(".cardCode").payment('formatCardCVC')
|
25
23
|
|
26
|
-
|
27
|
-
|
28
|
-
($ '#payment_method_' + @value).show() if @checked
|
29
|
-
)
|
24
|
+
$(".cardNumber").change ->
|
25
|
+
$(this).parent().siblings(".ccType").val($.payment.cardType(@value))
|
30
26
|
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
event.preventDefault()
|
36
|
-
)
|
27
|
+
($ 'input[type="radio"][name="order[payments_attributes][][payment_method_id]"]').click(->
|
28
|
+
($ '#payment-methods li').hide()
|
29
|
+
($ '#payment_method_' + @value).show() if @checked
|
30
|
+
)
|
37
31
|
|
38
|
-
|
39
|
-
|
40
|
-
|
32
|
+
($ document).on('click', '#cvv_link', (event) ->
|
33
|
+
windowName = 'cvv_info'
|
34
|
+
windowOptions = 'left=20,top=20,width=500,height=500,toolbar=0,resizable=0,scrollbars=1'
|
35
|
+
window.open(($ this).attr('href'), windowName, windowOptions)
|
36
|
+
event.preventDefault()
|
37
|
+
)
|
41
38
|
|
42
|
-
|
43
|
-
#
|
44
|
-
|
45
|
-
# In addition to this, if the coupon code FAILS then they don't lose their just-entered payment data.
|
46
|
-
coupon_code_field = $('#order_coupon_code')
|
47
|
-
coupon_code = $.trim(coupon_code_field.val())
|
48
|
-
if (coupon_code != '')
|
49
|
-
if $('#coupon_status').length == 0
|
50
|
-
coupon_status = $("<div id='coupon_status'></div>")
|
51
|
-
coupon_code_field.parent().append(coupon_status)
|
52
|
-
else
|
53
|
-
coupon_status = $("#coupon_status")
|
39
|
+
# Activate already checked payment method if form is re-rendered
|
40
|
+
# i.e. if user enters invalid data
|
41
|
+
($ 'input[type="radio"]:checked').click()
|
54
42
|
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
)
|
43
|
+
$('#checkout_form_payment').submit ->
|
44
|
+
# Coupon code application may take a number of seconds.
|
45
|
+
# Informing the user that this is happening is a good way to indicate some progress to them.
|
46
|
+
# In addition to this, if the coupon code FAILS then they don't lose their just-entered payment data.
|
47
|
+
coupon_code_field = $('#order_coupon_code')
|
48
|
+
coupon_code = $.trim(coupon_code_field.val())
|
49
|
+
if (coupon_code != '')
|
50
|
+
if $('#coupon_status').length == 0
|
51
|
+
coupon_status = $("<div id='coupon_status'></div>")
|
52
|
+
coupon_code_field.parent().append(coupon_status)
|
53
|
+
else
|
54
|
+
coupon_status = $("#coupon_status")
|
61
55
|
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
56
|
+
url = Spree.url(Spree.routes.apply_coupon_code(Spree.current_order_id),
|
57
|
+
{
|
58
|
+
order_token: Spree.current_order_token,
|
59
|
+
coupon_code: coupon_code
|
60
|
+
}
|
61
|
+
)
|
62
|
+
|
63
|
+
coupon_status.removeClass();
|
64
|
+
$.ajax({
|
65
|
+
async: false,
|
66
|
+
method: "PUT",
|
67
|
+
url: url,
|
68
|
+
success: (data) ->
|
69
|
+
coupon_code_field.val('')
|
70
|
+
coupon_status.addClass("success").html("Coupon code applied successfully.")
|
71
|
+
return true
|
72
|
+
error: (xhr) ->
|
73
|
+
handler = JSON.parse(xhr.responseText)
|
74
|
+
coupon_status.addClass("error").html(handler["error"])
|
75
|
+
$('.continue').attr('disabled', false)
|
76
|
+
return false
|
77
|
+
})
|
77
78
|
|
78
|
-
Spree.ready ($) ->
|
79
79
|
Spree.onPayment()
|
@@ -37,8 +37,9 @@ $ ->
|
|
37
37
|
radios = ($ '#product-variants input[type="radio"]')
|
38
38
|
|
39
39
|
if radios.length > 0
|
40
|
-
|
41
|
-
Spree.
|
40
|
+
selectedRadio = ($ '#product-variants input[type="radio"][checked="checked"]')
|
41
|
+
Spree.showVariantImages selectedRadio.attr('value')
|
42
|
+
Spree.updateVariantPrice selectedRadio
|
42
43
|
|
43
44
|
Spree.addImageHandlers()
|
44
45
|
|
@@ -12,7 +12,7 @@
|
|
12
12
|
<% order.line_item_adjustments.promotion.eligible.group_by(&:label).each do |label, adjustments| %>
|
13
13
|
<tr class="total">
|
14
14
|
<td><%= label %></td>
|
15
|
-
<td><%= Spree::Money.new(adjustments.sum(&:amount)).to_html %></td>
|
15
|
+
<td><%= Spree::Money.new(adjustments.sum(&:amount), currency: order.currency).to_html %></td>
|
16
16
|
</tr>
|
17
17
|
<% end %>
|
18
18
|
</tbody>
|
@@ -22,7 +22,7 @@
|
|
22
22
|
<% order.all_adjustments.tax.eligible.group_by(&:label).each do |label, adjustments| %>
|
23
23
|
<tr class="total">
|
24
24
|
<td><%= label %></td>
|
25
|
-
<td><%= Spree::Money.new(adjustments.sum(&:amount)).to_html %></td>
|
25
|
+
<td><%= Spree::Money.new(adjustments.sum(&:amount), currency: order.currency).to_html %></td>
|
26
26
|
</tr>
|
27
27
|
<% end %>
|
28
28
|
</tbody>
|
@@ -30,7 +30,7 @@
|
|
30
30
|
<% if order.checkout_steps.include?("delivery") && order.shipments.any? %>
|
31
31
|
<tr data-hook="shipping_total">
|
32
32
|
<td><%= Spree.t(:shipping_total) %></td>
|
33
|
-
<td><%= Spree::Money.new(order.shipments.to_a.sum(&:cost)).to_html %></td>
|
33
|
+
<td><%= Spree::Money.new(order.shipments.to_a.sum(&:cost), currency: order.currency).to_html %></td>
|
34
34
|
</tr>
|
35
35
|
|
36
36
|
<% if order.shipment_adjustments.exists? %>
|
@@ -38,7 +38,7 @@
|
|
38
38
|
<% order.shipment_adjustments.promotion.eligible.group_by(&:label).each do |label, adjustments| %>
|
39
39
|
<tr class="total">
|
40
40
|
<td><%= label %></td>
|
41
|
-
<td><%= Spree::Money.new(adjustments.sum(&:amount)).to_html %></td>
|
41
|
+
<td><%= Spree::Money.new(adjustments.sum(&:amount), currency: order.currency).to_html %></td>
|
42
42
|
</tr>
|
43
43
|
<% end %>
|
44
44
|
</tbody>
|
@@ -7,7 +7,7 @@
|
|
7
7
|
<ul>
|
8
8
|
<% @product.variants_and_option_values(current_currency).each_with_index do |variant, index| %>
|
9
9
|
<li>
|
10
|
-
<%= radio_button_tag "variant_id", variant.id, index == 0, 'data-price' => Spree::Money.new(variant.price, with_currency: true).to_s %>
|
10
|
+
<%= radio_button_tag "variant_id", variant.id, index == 0, 'data-price' => Spree::Money.new(variant.price, currency: current_currency, with_currency: true).to_s %>
|
11
11
|
<%= label_tag "variant_id_#{ variant.id }" do %>
|
12
12
|
<span class="variant-description">
|
13
13
|
<%= variant_options variant %>
|
@@ -30,7 +30,7 @@
|
|
30
30
|
|
31
31
|
<% if @product.price_in(current_currency) and !@product.price.nil? %>
|
32
32
|
<div data-hook="product_price" class="columns five <% if !@product.has_variants? %> alpha <% else %> omega <% end %>">
|
33
|
-
|
33
|
+
|
34
34
|
<div id="product-price">
|
35
35
|
<h6 class="product-section-title"><%= Spree.t(:price) %></h6>
|
36
36
|
<div>
|
@@ -45,7 +45,7 @@
|
|
45
45
|
<% elsif @product.variants.empty? %>
|
46
46
|
<br />
|
47
47
|
<span class="out-of-stock"><%= Spree.t(:out_of_stock) %></span>
|
48
|
-
<% end %>
|
48
|
+
<% end %>
|
49
49
|
</div>
|
50
50
|
|
51
51
|
<div class="add-to-cart">
|
@@ -60,6 +60,6 @@
|
|
60
60
|
<br>
|
61
61
|
<div><span class="price selling" itemprop="price"><%= Spree.t('product_not_available_in_this_currency') %></span></div>
|
62
62
|
</div>
|
63
|
-
<% end %>
|
63
|
+
<% end %>
|
64
64
|
</div>
|
65
65
|
<% end %>
|
@@ -5,19 +5,19 @@
|
|
5
5
|
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
|
6
6
|
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
|
7
7
|
|
8
|
-
ga('create', '<%= tracker.analytics_id %>','<%= Spree::Config[:site_url].sub!(
|
8
|
+
ga('create', '<%= tracker.analytics_id %>','<%= Spree::Config[:site_url].sub!(/(^www.)?/,'') %>');
|
9
9
|
ga('send', 'pageview');
|
10
10
|
|
11
11
|
<% if flash[:commerce_tracking] && @order.present? %>
|
12
12
|
<%# more info: https://developers.google.com/analytics/devguides/collection/analyticsjs/ecommerce %>
|
13
13
|
ga('require', 'ecommerce', 'ecommerce.js');
|
14
14
|
ga('ecommerce:addTransaction', {
|
15
|
-
'id': '<%= j @order.number %>',
|
16
|
-
'affiliation': '<%= Spree::Config[:site_name] %>',
|
17
|
-
'revenue': '<%= @order.total %>',
|
18
|
-
'shipping': '<%= @order.
|
19
|
-
'tax': '<%= @order.
|
20
|
-
'
|
15
|
+
'id': '<%= j @order.number %>', // Transaction ID. Required.
|
16
|
+
'affiliation': '<%= Spree::Config[:site_name] %>', // Affiliation or store name.
|
17
|
+
'revenue': '<%= @order.total %>', // Grand Total.
|
18
|
+
'shipping': '<%= @order.ship_total %>', // Shipping.
|
19
|
+
'tax': '<%= @order.additional_tax_total + @order.included_tax_total %>', // Tax.
|
20
|
+
'currency': '<%= current_currency %>' // local currency code.
|
21
21
|
});
|
22
22
|
<% @order.line_items.each do |line_item| %>
|
23
23
|
ga('ecommerce:addItem', {
|
@@ -100,7 +100,7 @@
|
|
100
100
|
<% order.all_adjustments.promotion.eligible.group_by(&:label).each do |label, adjustments| %>
|
101
101
|
<tr class="total">
|
102
102
|
<td colspan="4"><%= Spree.t(:promotion) %>: <strong><%= label %></strong></td>
|
103
|
-
<td class="total"><span><%= Spree::Money.new(adjustments.sum(&:amount)) %></span></td>
|
103
|
+
<td class="total"><span><%= Spree::Money.new(adjustments.sum(&:amount), currency: order.currency) %></span></td>
|
104
104
|
</tr>
|
105
105
|
<% end %>
|
106
106
|
</tfoot>
|
@@ -111,7 +111,7 @@
|
|
111
111
|
<% order.shipments.group_by { |s| s.selected_shipping_rate.name }.each do |name, shipments| %>
|
112
112
|
<tr class="total" data-hook='shipment-row'>
|
113
113
|
<td colspan="4"><%= Spree.t(:shipping) %>: <strong><%= name %></strong></td>
|
114
|
-
<td class="total"><span><%= Spree::Money.new(shipments.sum(&:discounted_cost)).to_html %></span></td>
|
114
|
+
<td class="total"><span><%= Spree::Money.new(shipments.sum(&:discounted_cost), currency: order.currency).to_html %></span></td>
|
115
115
|
</tr>
|
116
116
|
<% end %>
|
117
117
|
</tfoot>
|
@@ -121,7 +121,7 @@
|
|
121
121
|
<% order.all_adjustments.tax.group_by(&:label).each do |label, adjustments| %>
|
122
122
|
<tr class="total">
|
123
123
|
<td colspan="4"><%= Spree.t(:tax) %>: <strong><%= label %></strong></td>
|
124
|
-
<td class="total"><span><%= Spree::Money.new(adjustments.sum(&:amount)) %></span></td>
|
124
|
+
<td class="total"><span><%= Spree::Money.new(adjustments.sum(&:amount), currency: order.currency) %></span></td>
|
125
125
|
</tr>
|
126
126
|
<% end %>
|
127
127
|
</tfoot>
|
@@ -9,18 +9,24 @@
|
|
9
9
|
<% end %>
|
10
10
|
<% end %>
|
11
11
|
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
12
|
+
<div data-hook="products_search_results_heading">
|
13
|
+
<% if products.empty? %>
|
14
|
+
<div data-hook="products_search_results_heading_no_results_found">
|
15
|
+
<%= Spree.t(:no_products_found) %>
|
16
|
+
</div>
|
17
|
+
<% elsif params.key?(:keywords) %>
|
18
|
+
<div data-hook="products_search_results_heading_results_found">
|
19
|
+
<h6 class="search-results-title"><%= Spree.t(:search_results, :keywords => h(params[:keywords])) %></h6>
|
20
|
+
</div>
|
21
|
+
<% end %>
|
22
|
+
</div>
|
17
23
|
|
18
24
|
<% if products.any? %>
|
19
25
|
<ul id="products" class="inline product-listing" data-hook>
|
20
26
|
<% products.each do |product| %>
|
21
27
|
<% url = product_url(product, :taxon_id => @taxon.try(:id)) %>
|
22
28
|
<li id="product_<%= product.id %>" class="columns three <%= cycle("alpha", "secondary", "", "omega secondary", :name => "classes") %>" data-hook="products_list_item" itemscope itemtype="http://schema.org/Product">
|
23
|
-
<% cache(@taxon.present? ? [current_currency, @taxon, product] : [current_currency, product]) do %>
|
29
|
+
<% cache(@taxon.present? ? [I18n.locale, current_currency, @taxon, product] : [I18n.locale, current_currency, product]) do %>
|
24
30
|
<div class="product-image">
|
25
31
|
<%= link_to small_image(product, :itemprop => "image"), url, :itemprop => 'url' %>
|
26
32
|
</div>
|
@@ -1,7 +1,7 @@
|
|
1
1
|
<% max_level = Spree::Config[:max_level_in_taxons_menu] || 1 %>
|
2
2
|
<nav id="taxonomies" class="sidebar-item" data-hook>
|
3
3
|
<% @taxonomies.each do |taxonomy| %>
|
4
|
-
<% cache [taxonomy, max_level] do %>
|
4
|
+
<% cache [I18n.locale, taxonomy, max_level] do %>
|
5
5
|
<h6 class='taxonomy-root'><%= Spree.t(:shop_by_taxonomy, :taxonomy => taxonomy.name) %></h6>
|
6
6
|
<%= taxons_tree(taxonomy.root, @taxon, max_level) %>
|
7
7
|
<% end %>
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: spree_frontend
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.2.
|
4
|
+
version: 2.2.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sean Schofield
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-07-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: spree_api
|
@@ -16,28 +16,28 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - '='
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 2.2.
|
19
|
+
version: 2.2.3
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - '='
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 2.2.
|
26
|
+
version: 2.2.3
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: spree_core
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - '='
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 2.2.
|
33
|
+
version: 2.2.3
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - '='
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 2.2.
|
40
|
+
version: 2.2.3
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: canonical-rails
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -538,7 +538,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
538
538
|
requirements:
|
539
539
|
- none
|
540
540
|
rubyforge_project: spree_frontend
|
541
|
-
rubygems_version: 2.2.
|
541
|
+
rubygems_version: 2.2.2
|
542
542
|
signing_key:
|
543
543
|
specification_version: 4
|
544
544
|
summary: Frontend e-commerce functionality for the Spree project.
|