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: 44c66b8f123b638f80a3b8010842e2b8cb8e7900
4
- data.tar.gz: 1d210189e5ae391e3c294b5c2b3263d9059bea03
3
+ metadata.gz: e32795d3a2b34db3163a797a18be3b55bb84a69e
4
+ data.tar.gz: 752e5bf3c288a771ab4f4f51726ab0a3cee09f76
5
5
  SHA512:
6
- metadata.gz: d75af6c2e2b24deaf7a6287c63b44c77e8358f9d9b61a903ae09177e808893bd2edc02979f4f3e741643d9de40e4ba2570b345a8393783791ff166446b4648dd
7
- data.tar.gz: 962d840e05c49ddc0e8f266329641bdfd466e012d6696a78fb1d05699e13d92cda6974a21d2ad72a44ae6c9079298f1d28b943cf232edea91faa0604e1dd1114
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
- before_filter :load_order_with_lock
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) %></td>
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 %></td>
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 %>: </td>
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.6
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-09-19 00:00:00.000000000 Z
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.6
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.6
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.6
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.6
40
+ version: 2.2.7
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: canonical-rails
43
43
  requirement: !ruby/object:Gem::Requirement