spree_frontend 2.2.0 → 2.2.1
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.
- checksums.yaml +4 -4
- data/LICENSE +1 -1
- data/app/assets/javascripts/spree/frontend/checkout/payment.js.coffee +15 -0
- data/app/controllers/spree/checkout_controller.rb +4 -0
- data/app/views/spree/checkout/_address.html.erb +7 -6
- data/app/views/spree/checkout/_delivery.html.erb +1 -1
- data/app/views/spree/checkout/_payment.html.erb +31 -0
- data/app/views/spree/checkout/_summary.html.erb +13 -7
- data/app/views/spree/products/_cart_form.html.erb +7 -0
- data/app/views/spree/shared/_google_analytics.html.erb +1 -1
- data/app/views/spree/shared/_head.html.erb +1 -1
- data/app/views/spree/shared/_order_details.html.erb +5 -5
- data/app/views/spree/shared/_taxonomies.html.erb +3 -2
- data/config/initializers/canonical_rails.rb +4 -9
- metadata +11 -11
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 324c220d9617fdc461f82e3cede3bac0b15752e2
|
4
|
+
data.tar.gz: bfb16a3f7d738f19c479c7cc5b8ff2e9736a467c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 830944c66cfb9b62eb549dd867672554c661249ec9f7397fdcf196e00fedde7a99ac5827f84834d762f79f163434ef2b72f054c3e8b2399628af713353e8e178
|
7
|
+
data.tar.gz: 6681b60cd36573cac6937b77fc0702c36a3b6dbee767993a65028d3b68b96c35e0c67f093323de73cb1ce59517a98998ec878a56d335a150a1725d8f368dbfd6
|
data/LICENSE
CHANGED
@@ -1,6 +1,21 @@
|
|
1
1
|
Spree.onPayment = () ->
|
2
2
|
if ($ '#checkout_form_payment').is('*')
|
3
3
|
|
4
|
+
if ($ '#existing_cards').is('*')
|
5
|
+
($ '#payment-method-fields').hide()
|
6
|
+
($ '#payment-methods').hide()
|
7
|
+
|
8
|
+
($ '#use_existing_card_yes').click ->
|
9
|
+
($ '#payment-method-fields').hide()
|
10
|
+
($ '#payment-methods').hide()
|
11
|
+
($ '.existing-cc-radio').prop("disabled", false)
|
12
|
+
|
13
|
+
($ '#use_existing_card_no').click ->
|
14
|
+
($ '#payment-method-fields').show()
|
15
|
+
($ '#payment-methods').show()
|
16
|
+
($ '.existing-cc-radio').prop("disabled", true)
|
17
|
+
|
18
|
+
|
4
19
|
$(".cardNumber").payment('formatCardNumber')
|
5
20
|
$(".cardExpiry").payment('formatCardExpiry')
|
6
21
|
$(".cardCode").payment('formatCardCVC')
|
@@ -131,6 +131,10 @@ module Spree
|
|
131
131
|
@order.contents.remove(variant, quantity)
|
132
132
|
end
|
133
133
|
end
|
134
|
+
|
135
|
+
if try_spree_current_user && try_spree_current_user.respond_to?(:payment_sources)
|
136
|
+
@payment_sources = try_spree_current_user.payment_sources
|
137
|
+
end
|
134
138
|
end
|
135
139
|
|
136
140
|
def rescue_from_spree_gateway_error(exception)
|
@@ -23,10 +23,11 @@
|
|
23
23
|
|
24
24
|
<div class="form-buttons" data-hook="buttons">
|
25
25
|
<%= submit_tag Spree.t(:save_and_continue), :class => 'continue button primary' %>
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
26
|
+
<% if try_spree_current_user %>
|
27
|
+
<span data-hook="save_user_address">
|
28
|
+
|
29
|
+
<%= check_box_tag 'save_user_address', '1', try_spree_current_user.respond_to?(:persist_order_address) %>
|
30
|
+
<%= label_tag :save_user_address, Spree.t(:save_my_address) %>
|
31
|
+
</span>
|
32
|
+
<% end %>
|
32
33
|
</div>
|
@@ -37,7 +37,7 @@
|
|
37
37
|
|
38
38
|
<h5 class="stock-shipping-method-title"><%= Spree.t(:shipping_method) %></h5>
|
39
39
|
<ul class="field radios shipping-methods">
|
40
|
-
<% ship_form.object.shipping_rates.
|
40
|
+
<% ship_form.object.shipping_rates.each do |rate| %>
|
41
41
|
<li class="shipping-method">
|
42
42
|
<label>
|
43
43
|
<%= ship_form.radio_button :selected_shipping_rate_id, rate.id %>
|
@@ -1,6 +1,37 @@
|
|
1
1
|
<fieldset id="payment" data-hook>
|
2
2
|
<legend align="center"><%= Spree.t(:payment_information) %></legend>
|
3
3
|
<div data-hook="checkout_payment_step">
|
4
|
+
|
5
|
+
<% if @payment_sources.present? %>
|
6
|
+
<div class="card_options">
|
7
|
+
<%= radio_button_tag 'use_existing_card', 'yes', true %>
|
8
|
+
<label for="use_existing_card_yes">Use an existing card on file</label>
|
9
|
+
<br/>
|
10
|
+
<%= radio_button_tag 'use_existing_card', 'no' %>
|
11
|
+
<label for="use_existing_card_no">Use a new card / payment method</label>
|
12
|
+
</div>
|
13
|
+
|
14
|
+
<div id="existing_cards">
|
15
|
+
<p class="field" data-hook="existing_cards">
|
16
|
+
<table class="existing-credit-card-list">
|
17
|
+
<tbody>
|
18
|
+
<% @payment_sources.each do |card| %>
|
19
|
+
<tr id="<%= dom_id(card,'spree')%>" class="<%= cycle('even', 'odd') %>">
|
20
|
+
<td><%= card.name %></td>
|
21
|
+
<td><%= card.display_number %></td>
|
22
|
+
<td><%= card.month %></td>
|
23
|
+
<td><%= card.year %></td>
|
24
|
+
<td>
|
25
|
+
<%= radio_button_tag "existing_card", card.id, (card == @payment_sources.first), { class: "existing-cc-radio" } %>
|
26
|
+
</td>
|
27
|
+
</tr>
|
28
|
+
<% end %>
|
29
|
+
</tbody>
|
30
|
+
</table>
|
31
|
+
</p>
|
32
|
+
</div>
|
33
|
+
<% end %>
|
34
|
+
|
4
35
|
<div id="payment-method-fields" data-hook>
|
5
36
|
<% @order.available_payment_methods.each do |method| %>
|
6
37
|
<p>
|
@@ -27,16 +27,22 @@
|
|
27
27
|
<% end %>
|
28
28
|
</tbody>
|
29
29
|
|
30
|
-
<% if order.checkout_steps.include?("delivery") %>
|
30
|
+
<% if order.checkout_steps.include?("delivery") && order.shipments.any? %>
|
31
31
|
<tr data-hook="shipping_total">
|
32
|
-
<% if order.shipment_total > 0 %>
|
33
32
|
<td><%= Spree.t(:shipping_total) %></td>
|
34
|
-
<td><%= Spree::Money.new(order.
|
35
|
-
<% else %>
|
36
|
-
<td><strong><%= Spree.t(:free_shipping) %></strong></td>
|
37
|
-
<td><%= Spree.t(:free_shipping_amount) %></td>
|
38
|
-
<% end %>
|
33
|
+
<td><%= Spree::Money.new(order.shipments.to_a.sum(&:cost)).to_html %></td>
|
39
34
|
</tr>
|
35
|
+
|
36
|
+
<% if order.shipment_adjustments.exists? %>
|
37
|
+
<tbody data-hook="order_details_shipment_promotion_adjustments">
|
38
|
+
<% order.shipment_adjustments.promotion.eligible.group_by(&:label).each do |label, adjustments| %>
|
39
|
+
<tr class="total">
|
40
|
+
<td><%= label %></td>
|
41
|
+
<td><%= Spree::Money.new(adjustments.sum(&:amount)).to_html %></td>
|
42
|
+
</tr>
|
43
|
+
<% end %>
|
44
|
+
</tbody>
|
45
|
+
<% end %>
|
40
46
|
<% end %>
|
41
47
|
|
42
48
|
<% if order.adjustments.eligible.exists? %>
|
@@ -15,6 +15,10 @@
|
|
15
15
|
<% if variant_price variant %>
|
16
16
|
<span class="price diff"><%= variant_price variant %></span>
|
17
17
|
<% end %>
|
18
|
+
|
19
|
+
<% unless variant.can_supply? %>
|
20
|
+
<span class="out-of-stock"><%= Spree.t(:out_of_stock) %></span>
|
21
|
+
<% end %>
|
18
22
|
<% end %>
|
19
23
|
</li>
|
20
24
|
<% end%>
|
@@ -38,6 +42,9 @@
|
|
38
42
|
|
39
43
|
<% if @product.master.can_supply? %>
|
40
44
|
<link itemprop="availability" href="http://schema.org/InStock" />
|
45
|
+
<% else %>
|
46
|
+
<br />
|
47
|
+
<span class="out-of-stock"><%= Spree.t(:out_of_stock) %></span>
|
41
48
|
<% end %>
|
42
49
|
</div>
|
43
50
|
|
@@ -5,7 +5,7 @@
|
|
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 %>');
|
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? %>
|
@@ -3,7 +3,7 @@
|
|
3
3
|
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
|
4
4
|
<meta content="width=device-width, initial-scale=1.0, maximum-scale=1" name="viewport">
|
5
5
|
<%== meta_data_tags %>
|
6
|
-
<%= canonical_tag %>
|
6
|
+
<%= canonical_tag(Spree::Config.site_url) %>
|
7
7
|
<%= favicon_link_tag image_path('favicon.ico') %>
|
8
8
|
<%= stylesheet_link_tag 'spree/frontend/all', :media => 'screen' %>
|
9
9
|
<%= csrf_meta_tags %>
|
@@ -2,6 +2,11 @@
|
|
2
2
|
|
3
3
|
<% if order.has_step?("address") %>
|
4
4
|
|
5
|
+
<div class="columns alpha four" data-hook="order-bill-address">
|
6
|
+
<h6><%= Spree.t(:billing_address) %> <%= link_to "(#{Spree.t(:edit)})", checkout_state_path(:address) unless @order.completed? %></h6>
|
7
|
+
<%= render :partial => 'spree/shared/address', :locals => { :address => order.bill_address } %>
|
8
|
+
</div>
|
9
|
+
|
5
10
|
<% if order.has_step?("delivery") %>
|
6
11
|
<div class="columns alpha four" data-hook="order-ship-address">
|
7
12
|
<h6><%= Spree.t(:shipping_address) %> <%= link_to "(#{Spree.t(:edit)})", checkout_state_path(:address) unless @order.completed? %></h6>
|
@@ -9,11 +14,6 @@
|
|
9
14
|
</div>
|
10
15
|
<% end %>
|
11
16
|
|
12
|
-
<div class="columns alpha four" data-hook="order-bill-address">
|
13
|
-
<h6><%= Spree.t(:billing_address) %> <%= link_to "(#{Spree.t(:edit)})", checkout_state_path(:address) unless @order.completed? %></h6>
|
14
|
-
<%= render :partial => 'spree/shared/address', :locals => { :address => order.bill_address } %>
|
15
|
-
</div>
|
16
|
-
|
17
17
|
<% if @order.has_step?("delivery") %>
|
18
18
|
<div class="columns alpha four">
|
19
19
|
<h6><%= Spree.t(:shipments) %> <%= link_to "(#{Spree.t(:edit)})", checkout_state_path(:delivery) unless @order.completed? %></h6>
|
@@ -1,8 +1,9 @@
|
|
1
|
+
<% max_level = Spree::Config[:max_level_in_taxons_menu] || 1 %>
|
1
2
|
<nav id="taxonomies" class="sidebar-item" data-hook>
|
2
3
|
<% @taxonomies.each do |taxonomy| %>
|
3
|
-
<% cache taxonomy do %>
|
4
|
+
<% cache [taxonomy, max_level] do %>
|
4
5
|
<h6 class='taxonomy-root'><%= Spree.t(:shop_by_taxonomy, :taxonomy => taxonomy.name) %></h6>
|
5
|
-
<%= taxons_tree(taxonomy.root, @taxon,
|
6
|
+
<%= taxons_tree(taxonomy.root, @taxon, max_level) %>
|
6
7
|
<% end %>
|
7
8
|
<% end %>
|
8
9
|
</nav>
|
@@ -1,20 +1,15 @@
|
|
1
1
|
CanonicalRails.setup do |config|
|
2
|
-
|
3
|
-
# This is the main host, not just the TLD, omit slashes and protocol. If you have more than one, pick the one you want to rank in search results.
|
4
|
-
|
5
|
-
config.host = Spree::Config[:site_url]
|
6
|
-
|
7
2
|
# http://en.wikipedia.org/wiki/URL_normalization
|
8
3
|
# Trailing slash represents semantics of a directory, ie a collection view - implying an :index get route;
|
9
4
|
# otherwise we have to assume semantics of an instance of a resource type, a member view - implying a :show get route
|
10
5
|
#
|
11
6
|
# Acts as a whitelist for routes to have trailing slashes
|
12
|
-
|
7
|
+
|
13
8
|
config.collection_actions# = [:index]
|
14
9
|
|
15
10
|
# Parameter spamming can cause index dilution by creating seemingly different URLs with identical or near-identical content.
|
16
11
|
# Unless whitelisted, these parameters will be omitted
|
17
|
-
|
18
|
-
config.whitelisted_parameters
|
19
|
-
|
12
|
+
|
13
|
+
config.whitelisted_parameters = [:keywords, :page, :search, :taxon]
|
14
|
+
|
20
15
|
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.1
|
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-03-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: spree_api
|
@@ -16,42 +16,42 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - '='
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 2.2.
|
19
|
+
version: 2.2.1
|
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.1
|
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.1
|
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.1
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: canonical-rails
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - "
|
45
|
+
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version:
|
47
|
+
version: 0.0.4
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - "
|
52
|
+
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version:
|
54
|
+
version: 0.0.4
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: jquery-rails
|
57
57
|
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.
|