spree_frontend 2.2.6 → 2.2.7

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 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