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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d8785a3b87576e5eebb362cc98645fe59ff04f75
4
- data.tar.gz: 902320408c1675e84484a8e877a7054835dda0d6
3
+ metadata.gz: 76ad79bf5596bc669d0bfcb35c08f53f6495c697
4
+ data.tar.gz: 3edd749c386d6b285cb46ce55f89ff2a4b7164fe
5
5
  SHA512:
6
- metadata.gz: 8430cf436239009f9b98b3869164e384c23eacb730d205f5f212e3d790a97c1266a713282d67bbf3eb9536e7dbf8555941a296b8d25af92f238aa4dcd4a8d81b
7
- data.tar.gz: bd0ad3e7f55e94dfdaa6e9b48130708c693be975db8a9a10d1b3c403e60be4fb653e09d85b51e166adc760d04a6b56a53672eb0e3f90ebb567993de7b21fe8bf
6
+ metadata.gz: 631a9178b740d3685ef96490f71442af33c423e0e744a1bffb1e5144b79170e8357731ed791e8b9f9c367b91c6c9c8b5438013bb08c421e8e1fa612899271f68
7
+ data.tar.gz: e7c5f2f4fe847578c616662531e2b3b3346061aa65a7d8062c27598fa69a9ec529feff2dcaf3e5bf891e49cd001d9f41b58b420efbbc25d250828baf2f057564
@@ -1,4 +1,4 @@
1
- @import 'variables';
1
+ @import 'store/variables';
2
2
 
3
3
  /*--------------------------------------*/
4
4
  /* Basic styles
@@ -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.next_transition.run_callbacks if @order.cart?
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(true)
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? ? "#{Spree.t(:order)} #{@order.number}" : Spree.t(:shopping_cart)
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
+ &nbsp; &nbsp;
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(@order.state, :scope => :order_state).titleize %></legend>
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.frontend.each do |rate| %>
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
- <% @order.available_payment_methods.each do |method| %>
5
- <p>
6
- <label>
7
- <%= radio_button_tag "order[payments_attributes][][payment_method_id]", method.id, method == @order.available_payment_methods.first %>
8
- <%= Spree.t(method.name, :scope => :payment_methods, :default => method.name) %>
9
- </label>
10
- </p>
11
- <% end %>
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'><%= @order.display_total.to_html %></span></strong></td>
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
- <% @order.line_item_adjustment_totals.each do |label, total| %>
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>
@@ -28,5 +28,5 @@
28
28
  </div>
29
29
 
30
30
  <% if I18n.locale != :en %>
31
- <script src='/assets/jquery.validate/localization/messages_<%= I18n.locale %>.js'></script>
31
+ <script src="<%= assets_prefix %>/jquery.validate/localization/messages_<%= I18n.locale %>.js"></script>
32
32
  <% end %>
@@ -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
- <h1><%= Spree.t(:shopping_cart) %></h1>
5
+ <% if @order.line_items.empty? %>
4
6
 
5
- <% if @order.line_items.empty? %>
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
- <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>
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
- <div data-hook="cart_items">
18
- <%= render :partial => 'form', :locals => { :order_form => order_form } %>
19
- </div>
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
- <% end %>
36
- </div>
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>
@@ -1,5 +1,5 @@
1
1
  <fieldset id="order_summary" data-hook>
2
- <legend align="center"><%= Spree.t(:order) + " #" + @order.number %></legend>
2
+ <legend><%= Spree.t(:order_number, :number => @order.number) %></legend>
3
3
  <h1><%= accurate_title %></h1>
4
4
 
5
5
  <div id="order" data-hook>
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.3
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: 2013-11-20 00:00:00.000000000 Z
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.3
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.3
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.3
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.3
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.1.0
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.