spree_frontend 2.1.3 → 2.1.4

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