spree_frontend 2.1.3 → 2.1.4
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/app/assets/stylesheets/store/screen.css.scss +1 -1
- data/app/controllers/spree/checkout_controller.rb +22 -4
- data/app/controllers/spree/orders_controller.rb +8 -4
- data/app/views/spree/checkout/_address.html.erb +5 -0
- data/app/views/spree/checkout/_confirm.html.erb +1 -1
- data/app/views/spree/checkout/_delivery.html.erb +2 -2
- data/app/views/spree/checkout/_payment.html.erb +10 -8
- data/app/views/spree/checkout/_summary.html.erb +2 -2
- data/app/views/spree/checkout/edit.html.erb +1 -1
- data/app/views/spree/layouts/spree_application.html.erb +1 -1
- data/app/views/spree/orders/edit.html.erb +16 -15
- data/app/views/spree/orders/show.html.erb +1 -1
- metadata +20 -20
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 76ad79bf5596bc669d0bfcb35c08f53f6495c697
|
4
|
+
data.tar.gz: 3edd749c386d6b285cb46ce55f89ff2a4b7164fe
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 631a9178b740d3685ef96490f71442af33c423e0e744a1bffb1e5144b79170e8357731ed791e8b9f9c367b91c6c9c8b5438013bb08c421e8e1fa612899271f68
|
7
|
+
data.tar.gz: e7c5f2f4fe847578c616662531e2b3b3346061aa65a7d8062c27598fa69a9ec529feff2dcaf3e5bf891e49cd001d9f41b58b420efbbc25d250828baf2f057564
|
@@ -26,6 +26,8 @@ module Spree
|
|
26
26
|
# Updates the order and advances to the next state (when possible.)
|
27
27
|
def update
|
28
28
|
if @order.update_attributes(object_params)
|
29
|
+
persist_user_address
|
30
|
+
|
29
31
|
unless @order.next
|
30
32
|
flash[:error] = @order.errors.full_messages.join("\n")
|
31
33
|
redirect_to checkout_state_path(@order.state) and return
|
@@ -53,6 +55,13 @@ module Spree
|
|
53
55
|
redirect_to checkout_state_path(@order.checkout_steps.first)
|
54
56
|
end
|
55
57
|
end
|
58
|
+
|
59
|
+
# Fix for #4117
|
60
|
+
# If confirmation of payment fails, redirect back to payment screen
|
61
|
+
if params[:state] == "confirm" && @order.payment_required? && @order.payments.valid.empty?
|
62
|
+
flash.keep
|
63
|
+
redirect_to checkout_state_path("payment")
|
64
|
+
end
|
56
65
|
end
|
57
66
|
|
58
67
|
# Should be overriden if you have areas of your checkout that don't match
|
@@ -127,10 +136,10 @@ module Spree
|
|
127
136
|
# Skip setting ship address if order doesn't have a delivery checkout step
|
128
137
|
# to avoid triggering validations on shipping address
|
129
138
|
def before_address
|
130
|
-
@order.bill_address ||= Address.default
|
139
|
+
@order.bill_address ||= Address.default(try_spree_current_user, "bill")
|
131
140
|
|
132
141
|
if @order.checkout_steps.include? "delivery"
|
133
|
-
@order.ship_address ||= Address.default
|
142
|
+
@order.ship_address ||= Address.default(try_spree_current_user, "ship")
|
134
143
|
end
|
135
144
|
end
|
136
145
|
|
@@ -152,7 +161,7 @@ module Spree
|
|
152
161
|
end
|
153
162
|
|
154
163
|
def rescue_from_spree_gateway_error(exception)
|
155
|
-
flash[:error] = Spree.t(:spree_gateway_error_flash_for_checkout)
|
164
|
+
flash.now[:error] = Spree.t(:spree_gateway_error_flash_for_checkout)
|
156
165
|
@order.errors.add(:base, exception.message)
|
157
166
|
render :edit
|
158
167
|
end
|
@@ -169,10 +178,19 @@ module Spree
|
|
169
178
|
if coupon_result[:coupon_applied?]
|
170
179
|
flash[:success] = coupon_result[:success] if coupon_result[:success].present?
|
171
180
|
else
|
172
|
-
flash[:error] = coupon_result[:error]
|
181
|
+
flash.now[:error] = coupon_result[:error]
|
173
182
|
respond_with(@order) { |format| format.html { render :edit } } and return
|
174
183
|
end
|
175
184
|
end
|
176
185
|
end
|
186
|
+
|
187
|
+
def persist_user_address
|
188
|
+
if @order.checkout_steps.include? "address"
|
189
|
+
if @order.address? && try_spree_current_user.respond_to?(:persist_order_address)
|
190
|
+
try_spree_current_user.persist_order_address(@order) if params[:save_user_address]
|
191
|
+
end
|
192
|
+
end
|
193
|
+
end
|
194
|
+
|
177
195
|
end
|
178
196
|
end
|
@@ -29,7 +29,7 @@ module Spree
|
|
29
29
|
respond_with(@order) do |format|
|
30
30
|
format.html do
|
31
31
|
if params.has_key?(:checkout)
|
32
|
-
@order.
|
32
|
+
@order.next if @order.cart?
|
33
33
|
redirect_to checkout_state_path(@order.checkout_steps.first)
|
34
34
|
else
|
35
35
|
redirect_to cart_path
|
@@ -43,7 +43,7 @@ module Spree
|
|
43
43
|
|
44
44
|
# Shows the current incomplete order from the session
|
45
45
|
def edit
|
46
|
-
@order = current_order
|
46
|
+
@order = current_order || Order.new
|
47
47
|
associate_user
|
48
48
|
end
|
49
49
|
|
@@ -73,7 +73,11 @@ module Spree
|
|
73
73
|
end
|
74
74
|
|
75
75
|
def accurate_title
|
76
|
-
@order && @order.completed?
|
76
|
+
if @order && @order.completed?
|
77
|
+
Spree.t(:order_number, :number => @order.number)
|
78
|
+
else
|
79
|
+
Spree.t(:shopping_cart)
|
80
|
+
end
|
77
81
|
end
|
78
82
|
|
79
83
|
def check_authorization
|
@@ -103,7 +107,7 @@ module Spree
|
|
103
107
|
flash[:success] = coupon_result[:success] if coupon_result[:success].present?
|
104
108
|
return false
|
105
109
|
else
|
106
|
-
flash[:error] = coupon_result[:error]
|
110
|
+
flash.now[:error] = coupon_result[:error]
|
107
111
|
respond_with(@order) { |format| format.html { render :edit } }
|
108
112
|
return true
|
109
113
|
end
|
@@ -22,4 +22,9 @@
|
|
22
22
|
<hr class="clear" />
|
23
23
|
<div class="form-buttons" data-hook="buttons">
|
24
24
|
<%= submit_tag Spree.t(:save_and_continue), :class => 'continue button primary' %>
|
25
|
+
<span data-hook="save_user_address">
|
26
|
+
|
27
|
+
<%= check_box_tag 'save_user_address', '1', try_spree_current_user.respond_to?(:persist_order_address) %>
|
28
|
+
<%= label_tag :save_user_address, Spree.t(:save_my_address) %>
|
29
|
+
</span>
|
25
30
|
</div>
|
@@ -1,6 +1,6 @@
|
|
1
1
|
<fieldset id="order_details" data-hook>
|
2
2
|
<div class="clear"></div>
|
3
|
-
<legend align="center"><%= Spree.t(
|
3
|
+
<legend align="center"><%= Spree.t(:confirm) %></legend>
|
4
4
|
<%= render :partial => 'spree/shared/order_details', :locals => { :order => @order } %>
|
5
5
|
</fieldset>
|
6
6
|
|
@@ -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.with_shipping_method.each do |rate| %>
|
41
41
|
<li class="shipping-method">
|
42
42
|
<label>
|
43
43
|
<%= ship_form.radio_button :selected_shipping_rate_id, rate.id %>
|
@@ -51,7 +51,7 @@
|
|
51
51
|
|
52
52
|
<% end %>
|
53
53
|
|
54
|
-
<% if @differentiator.missing? %>
|
54
|
+
<% if @differentiator.try(:missing?) %>
|
55
55
|
<div class="shipment unshippable">
|
56
56
|
<h3 class="stock-location" data-hook="stock-location">
|
57
57
|
<%= Spree.t(:unshippable_items) %>
|
@@ -1,14 +1,16 @@
|
|
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
|
-
|
6
|
-
<
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
4
|
+
<div id="payment-method-fields" data-hook>
|
5
|
+
<% @order.available_payment_methods.each do |method| %>
|
6
|
+
<p>
|
7
|
+
<label>
|
8
|
+
<%= radio_button_tag "order[payments_attributes][][payment_method_id]", method.id, method == @order.available_payment_methods.first %>
|
9
|
+
<%= Spree.t(method.name, :scope => :payment_methods, :default => method.name) %>
|
10
|
+
</label>
|
11
|
+
</p>
|
12
|
+
<% end %>
|
13
|
+
</div>
|
12
14
|
|
13
15
|
<ul id="payment-methods" data-hook>
|
14
16
|
<% @order.available_payment_methods.each do |method| %>
|
@@ -17,11 +17,11 @@
|
|
17
17
|
</tbody>
|
18
18
|
<tr data-hook="order_total">
|
19
19
|
<td><strong><%= Spree.t(:order_total) %>:</strong></td>
|
20
|
-
<td><strong><span id='summary-order-total'><%=
|
20
|
+
<td><strong><span id='summary-order-total'><%= order.display_total.to_html %></span></strong></td>
|
21
21
|
</tr>
|
22
22
|
<% if order.line_item_adjustment_totals.present? %>
|
23
23
|
<tbody id="price-adjustments" data-hook="order_details_price_adjustments">
|
24
|
-
<%
|
24
|
+
<% order.line_item_adjustment_totals.each do |label, total| %>
|
25
25
|
<tr class="total">
|
26
26
|
<td><strong><%= label %></strong></td>
|
27
27
|
<td><strong><span><%= total.to_html %></span></strong></td>
|
@@ -19,7 +19,7 @@
|
|
19
19
|
|
20
20
|
<%= render :partial => 'spree/shared/sidebar' if content_for? :sidebar %>
|
21
21
|
|
22
|
-
<div id="content" class="columns <%= !content_for?(:sidebar) ? "sixteen" : "twelve" %>" data-hook>
|
22
|
+
<div id="content" class="columns <%= !content_for?(:sidebar) ? "sixteen" : "twelve omega" %>" data-hook>
|
23
23
|
<%= flash_messages %>
|
24
24
|
<%= yield %>
|
25
25
|
</div>
|
@@ -1,22 +1,22 @@
|
|
1
1
|
<% @body_id = 'cart' %>
|
2
|
+
<div data-hook="cart_container">
|
3
|
+
<h1><%= Spree.t(:shopping_cart) %></h1>
|
2
4
|
|
3
|
-
|
5
|
+
<% if @order.line_items.empty? %>
|
4
6
|
|
5
|
-
|
7
|
+
<div data-hook="empty_cart">
|
8
|
+
<p><%= Spree.t(:your_cart_is_empty) %></p>
|
9
|
+
<p><%= link_to Spree.t(:continue_shopping), products_path, :class => 'button continue' %></p>
|
10
|
+
</div>
|
6
11
|
|
7
|
-
|
8
|
-
<
|
9
|
-
<p><%= link_to Spree.t(:continue_shopping), products_path, :class => 'button continue' %></p>
|
10
|
-
</div>
|
11
|
-
|
12
|
-
<% else %>
|
13
|
-
<div data-hook="outside_cart_form">
|
12
|
+
<% else %>
|
13
|
+
<div data-hook="outside_cart_form">
|
14
14
|
<%= form_for @order, :url => update_cart_path, :html => {:id => 'update-cart'} do |order_form| %>
|
15
15
|
<div data-hook="inside_cart_form">
|
16
16
|
|
17
|
-
|
18
|
-
|
19
|
-
|
17
|
+
<div data-hook="cart_items">
|
18
|
+
<%= render :partial => 'form', :locals => { :order_form => order_form } %>
|
19
|
+
</div>
|
20
20
|
|
21
21
|
<div id="subtotal" data-hook class="columns sixteen alpha omega">
|
22
22
|
<h5><%= Spree.t(:subtotal) %>: <span class="order-total"><%= @order.display_total.to_html %></span></h5>
|
@@ -32,8 +32,8 @@
|
|
32
32
|
<% end %>
|
33
33
|
</div>
|
34
34
|
</div>
|
35
|
-
|
36
|
-
|
35
|
+
</div>
|
36
|
+
<% end %>
|
37
37
|
|
38
38
|
<div id="empty-cart" data-hook>
|
39
39
|
<%= form_tag empty_cart_path, :method => :put do %>
|
@@ -45,4 +45,5 @@
|
|
45
45
|
<% end %>
|
46
46
|
</div>
|
47
47
|
|
48
|
-
<% end %>
|
48
|
+
<% end %>
|
49
|
+
</div>
|
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.1.
|
4
|
+
version: 2.1.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sean Schofield
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2014-01-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: spree_api
|
@@ -16,96 +16,96 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - '='
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 2.1.
|
19
|
+
version: 2.1.4
|
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.1.
|
26
|
+
version: 2.1.4
|
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.1.
|
33
|
+
version: 2.1.4
|
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.1.
|
40
|
+
version: 2.1.4
|
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
47
|
version: '0'
|
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
54
|
version: '0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: jquery-rails
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- - ~>
|
59
|
+
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
61
|
version: 3.0.0
|
62
62
|
type: :runtime
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- - ~>
|
66
|
+
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: 3.0.0
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: stringex
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- - ~>
|
73
|
+
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
75
|
version: 1.5.1
|
76
76
|
type: :runtime
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
|
-
- - ~>
|
80
|
+
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: 1.5.1
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: email_spec
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
|
-
- - ~>
|
87
|
+
- - "~>"
|
88
88
|
- !ruby/object:Gem::Version
|
89
89
|
version: 1.2.1
|
90
90
|
type: :development
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
|
-
- - ~>
|
94
|
+
- - "~>"
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: 1.2.1
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
98
|
name: capybara-accessible
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
|
-
- -
|
101
|
+
- - ">="
|
102
102
|
- !ruby/object:Gem::Version
|
103
103
|
version: '0'
|
104
104
|
type: :development
|
105
105
|
prerelease: false
|
106
106
|
version_requirements: !ruby/object:Gem::Requirement
|
107
107
|
requirements:
|
108
|
-
- -
|
108
|
+
- - ">="
|
109
109
|
- !ruby/object:Gem::Version
|
110
110
|
version: '0'
|
111
111
|
description: Required dependency for Spree
|
@@ -210,9 +210,9 @@ files:
|
|
210
210
|
- config/initializers/rails_5868.rb
|
211
211
|
- config/initializers/spree.rb
|
212
212
|
- config/routes.rb
|
213
|
+
- lib/spree/frontend.rb
|
213
214
|
- lib/spree/frontend/engine.rb
|
214
215
|
- lib/spree/frontend/middleware/seo_assist.rb
|
215
|
-
- lib/spree/frontend.rb
|
216
216
|
- lib/spree_frontend.rb
|
217
217
|
- lib/tasks/rake_util.rb
|
218
218
|
- lib/tasks/taxon.rake
|
@@ -518,18 +518,18 @@ require_paths:
|
|
518
518
|
- lib
|
519
519
|
required_ruby_version: !ruby/object:Gem::Requirement
|
520
520
|
requirements:
|
521
|
-
- -
|
521
|
+
- - ">="
|
522
522
|
- !ruby/object:Gem::Version
|
523
523
|
version: 1.9.3
|
524
524
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
525
525
|
requirements:
|
526
|
-
- -
|
526
|
+
- - ">="
|
527
527
|
- !ruby/object:Gem::Version
|
528
528
|
version: '0'
|
529
529
|
requirements:
|
530
530
|
- none
|
531
531
|
rubyforge_project: spree_frontend
|
532
|
-
rubygems_version: 2.
|
532
|
+
rubygems_version: 2.2.0
|
533
533
|
signing_key:
|
534
534
|
specification_version: 4
|
535
535
|
summary: Frontend e-commerce functionality for the Spree project.
|