spree_frontend 2.2.6 → 2.2.7
Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e32795d3a2b34db3163a797a18be3b55bb84a69e
|
4
|
+
data.tar.gz: 752e5bf3c288a771ab4f4f51726ab0a3cee09f76
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a6fc8d4b1a9a497006e47453d161cf8d944bae539a3682f43e212f757b12307b93e14c9b5af2ebf530133142f05d58712d85d22b05cc72d193ed50324d4faaaf
|
7
|
+
data.tar.gz: a2509f7541321f0a35a4ed46c2f7cabd68426fca8b4c88293f3cfd9f463998b2e8484434f318567acd80bcecc1242cb67a21c5635ddf4f6bc6dd7fdb195d782b
|
@@ -6,7 +6,9 @@ module Spree
|
|
6
6
|
class CheckoutController < Spree::StoreController
|
7
7
|
ssl_required
|
8
8
|
|
9
|
-
|
9
|
+
before_action :load_order_with_lock
|
10
|
+
before_filter :ensure_valid_state_lock_version, only: [:update]
|
11
|
+
before_filter :set_state_if_present
|
10
12
|
|
11
13
|
before_filter :ensure_order_not_completed
|
12
14
|
before_filter :ensure_checkout_allowed
|
@@ -72,7 +74,21 @@ module Spree
|
|
72
74
|
def load_order_with_lock
|
73
75
|
@order = current_order(lock: true)
|
74
76
|
redirect_to spree.cart_path and return unless @order
|
77
|
+
end
|
78
|
+
|
79
|
+
def ensure_valid_state_lock_version
|
80
|
+
if params[:order] && params[:order][:state_lock_version]
|
81
|
+
@order.with_lock do
|
82
|
+
unless @order.state_lock_version == params[:order].delete(:state_lock_version).to_i
|
83
|
+
flash[:error] = Spree.t(:order_already_updated)
|
84
|
+
redirect_to checkout_state_path(@order.state) and return
|
85
|
+
end
|
86
|
+
@order.increment!(:state_lock_version)
|
87
|
+
end
|
88
|
+
end
|
89
|
+
end
|
75
90
|
|
91
|
+
def set_state_if_present
|
76
92
|
if params[:state]
|
77
93
|
redirect_to checkout_state_path(@order.state) if @order.can_go_to_state?(params[:state]) && !skip_state_validation?
|
78
94
|
@order.state = params[:state]
|
@@ -29,7 +29,7 @@
|
|
29
29
|
|
30
30
|
<% if order.checkout_steps.include?("delivery") && order.shipments.any? %>
|
31
31
|
<tr data-hook="shipping_total">
|
32
|
-
<td><%= Spree.t(:shipping_total)
|
32
|
+
<td><%= Spree.t(:shipping_total) %>:</td>
|
33
33
|
<td><%= Spree::Money.new(order.shipments.to_a.sum(&:cost), currency: order.currency).to_html %></td>
|
34
34
|
</tr>
|
35
35
|
|
@@ -37,7 +37,7 @@
|
|
37
37
|
<tbody data-hook="order_details_shipment_promotion_adjustments">
|
38
38
|
<% order.shipment_adjustments.promotion.eligible.group_by(&:label).each do |label, adjustments| %>
|
39
39
|
<tr class="total">
|
40
|
-
<td><%= label
|
40
|
+
<td><%= label %>:</td>
|
41
41
|
<td><%= Spree::Money.new(adjustments.sum(&:amount), currency: order.currency).to_html %></td>
|
42
42
|
</tr>
|
43
43
|
<% end %>
|
@@ -50,7 +50,7 @@
|
|
50
50
|
<% order.adjustments.eligible.each do |adjustment| %>
|
51
51
|
<% next if (adjustment.source_type == 'Spree::TaxRate') and (adjustment.amount == 0) %>
|
52
52
|
<tr class="total">
|
53
|
-
<td><%= adjustment.label
|
53
|
+
<td><%= adjustment.label %>:</td>
|
54
54
|
<td><%= adjustment.display_amount.to_html %></td>
|
55
55
|
</tr>
|
56
56
|
<% end %>
|
@@ -1,11 +1,11 @@
|
|
1
|
-
<div id="checkout" data-hook>
|
1
|
+
<div id="checkout" data-hook>
|
2
2
|
<%= render :partial => 'spree/shared/error_messages', :locals => { :target => @order } %>
|
3
|
-
|
3
|
+
|
4
4
|
<div class="row" data-hook="checkout_header">
|
5
5
|
<h1 class="columns three alpha" data-hook="checkout_title"><%= Spree.t(:checkout) %></h1>
|
6
6
|
<div class="columns thirteen omega" data-hook="checkout_progress"><%= checkout_progress %></div>
|
7
7
|
</div>
|
8
|
-
|
8
|
+
|
9
9
|
<div class="row" data-hook="checkout_content">
|
10
10
|
<div class="columns <%= if @order.state != 'confirm' then 'alpha twelve' else 'alpha omega sixteen' end %>" data-hook="checkout_form_wrapper">
|
11
11
|
<%= form_for @order, :url => update_checkout_path(@order.state), :html => { :id => "checkout_form_#{@order.state}" } do |form| %>
|
@@ -15,9 +15,10 @@
|
|
15
15
|
<%= form.text_field :email %>
|
16
16
|
</p>
|
17
17
|
<% end %>
|
18
|
+
<%= form.hidden_field :state_lock_version %>
|
18
19
|
<%= render @order.state, :form => form %>
|
19
20
|
<% end %>
|
20
|
-
</div>
|
21
|
+
</div>
|
21
22
|
<% if @order.state != 'confirm' %>
|
22
23
|
<div id="checkout-summary" data-hook="checkout_summary_box" class="columns omega four">
|
23
24
|
<%= render :partial => 'summary', :locals => { :order => @order } %>
|
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.7
|
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-11-20 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.7
|
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.7
|
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.7
|
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.7
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: canonical-rails
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|