spree_core 1.3.0.rc2 → 1.3.0
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.
- data/app/assets/javascripts/admin/checkouts/edit.js +1 -0
- data/app/models/spree/order.rb +4 -9
- data/app/views/spree/admin/shared/_order_details.html.erb +3 -3
- data/app/views/spree/checkout/_summary.html.erb +3 -3
- data/app/views/spree/shared/_order_details.html.erb +2 -2
- data/lib/spree/core/calculated_adjustments.rb +1 -2
- data/lib/spree/core/controller_helpers/order.rb +6 -4
- data/lib/spree/core/testing_support/capybara_ext.rb +17 -6
- data/lib/spree/core/version.rb +1 -1
- metadata +56 -143
data/app/models/spree/order.rb
CHANGED
@@ -201,15 +201,10 @@ module Spree
|
|
201
201
|
# Array of totals grouped by Adjustment#label. Useful for displaying price adjustments on an
|
202
202
|
# invoice. For example, you can display tax breakout for cases where tax is included in price.
|
203
203
|
def price_adjustment_totals
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
totals[label] ||= 0
|
209
|
-
totals[label] = totals[label] + adjustment.amount
|
210
|
-
end
|
211
|
-
|
212
|
-
totals
|
204
|
+
Hash[price_adjustments.group_by(&:label).map do |label, adjustments|
|
205
|
+
total = adjustments.sum(&:amount)
|
206
|
+
[label, Spree::Money.new(total, { :currency => currency })]
|
207
|
+
end]
|
213
208
|
end
|
214
209
|
|
215
210
|
def updater
|
@@ -40,10 +40,10 @@
|
|
40
40
|
</tbody>
|
41
41
|
<% if order.price_adjustment_totals.present? %>
|
42
42
|
<tbody id="price-adjustments" data-hook="order_details_price_adjustments">
|
43
|
-
<% @order.price_adjustment_totals.
|
43
|
+
<% @order.price_adjustment_totals.each do |label, total| %>
|
44
44
|
<tr>
|
45
|
-
<td colspan="3"><strong><%=
|
46
|
-
<td class="total"><span><%=
|
45
|
+
<td colspan="3"><strong><%= label %></strong></td>
|
46
|
+
<td class="total"><span><%= total %></span></td>
|
47
47
|
</tr>
|
48
48
|
<% end %>
|
49
49
|
</tbody>
|
@@ -21,10 +21,10 @@
|
|
21
21
|
</tr>
|
22
22
|
<% if order.price_adjustment_totals.present? %>
|
23
23
|
<tbody id="price-adjustments" data-hook="order_details_price_adjustments">
|
24
|
-
<% @order.price_adjustment_totals.
|
24
|
+
<% @order.price_adjustment_totals.each do |label, total| %>
|
25
25
|
<tr class="total">
|
26
|
-
<td><strong><%=
|
27
|
-
<td><strong><span><%=
|
26
|
+
<td><strong><%= label %></strong></td>
|
27
|
+
<td><strong><span><%= total %></span></strong></td>
|
28
28
|
</tr>
|
29
29
|
<% end %>
|
30
30
|
</tbody>
|
@@ -95,10 +95,10 @@
|
|
95
95
|
</tfoot>
|
96
96
|
<% if order.price_adjustment_totals.present? %>
|
97
97
|
<tfoot id="price-adjustments" data-hook="order_details_price_adjustments">
|
98
|
-
<% @order.price_adjustment_totals.
|
98
|
+
<% @order.price_adjustment_totals.each do |key, total| %>
|
99
99
|
<tr class="total">
|
100
100
|
<td colspan="4"><strong><%= key %></strong></td>
|
101
|
-
<td class="total"><span><%=
|
101
|
+
<td class="total"><span><%= total %></span></td>
|
102
102
|
</tr>
|
103
103
|
<% end %>
|
104
104
|
</tfoot>
|
@@ -33,8 +33,7 @@ module Spree
|
|
33
33
|
:source => calculable,
|
34
34
|
:originator => self,
|
35
35
|
:label => label,
|
36
|
-
:mandatory => mandatory,
|
37
|
-
:locked => true }, :without_protection => true)
|
36
|
+
:mandatory => mandatory}, :without_protection => true)
|
38
37
|
end
|
39
38
|
|
40
39
|
# Updates the amount of the adjustment using our Calculator and calling the +compute+ method with the +calculable+
|
@@ -24,7 +24,6 @@ module Spree
|
|
24
24
|
return @current_order if @current_order
|
25
25
|
if session[:order_id]
|
26
26
|
current_order = Spree::Order.find_by_id_and_currency(session[:order_id], current_currency, :include => :adjustments)
|
27
|
-
current_order.last_ip_address = ip_address
|
28
27
|
@current_order = current_order unless current_order.try(:completed?)
|
29
28
|
end
|
30
29
|
if create_order_if_necessary and (@current_order.nil? or @current_order.completed?)
|
@@ -33,8 +32,11 @@ module Spree
|
|
33
32
|
@current_order.save!
|
34
33
|
after_save_new_order
|
35
34
|
end
|
36
|
-
|
37
|
-
|
35
|
+
if @current_order
|
36
|
+
@current_order.last_ip_address = ip_address
|
37
|
+
session[:order_id] = @current_order.id
|
38
|
+
return @current_order
|
39
|
+
end
|
38
40
|
end
|
39
41
|
|
40
42
|
def associate_user
|
@@ -61,7 +63,7 @@ module Spree
|
|
61
63
|
last_incomplete_order = user.last_incomplete_spree_order
|
62
64
|
if session[:order_id].nil? && last_incomplete_order
|
63
65
|
session[:order_id] = last_incomplete_order.id
|
64
|
-
elsif current_order && last_incomplete_order && current_order != last_incomplete_order
|
66
|
+
elsif current_order(true) && last_incomplete_order && current_order != last_incomplete_order
|
65
67
|
current_order.merge!(last_incomplete_order)
|
66
68
|
end
|
67
69
|
end
|
@@ -28,10 +28,16 @@ module CapybaraExt
|
|
28
28
|
|
29
29
|
def select2_search(value, options)
|
30
30
|
id = find_label_by_text(options[:from])
|
31
|
+
options[:from] = "#s2id_#{id}"
|
32
|
+
targetted_select2_search(value, options)
|
33
|
+
end
|
31
34
|
|
32
|
-
|
33
|
-
|
34
|
-
page.execute_script
|
35
|
+
def targetted_select2_search(value, options)
|
36
|
+
#p %Q{$('#{options[:from]}').select2('open')}
|
37
|
+
page.execute_script %Q{$('#{options[:from]}').select2('open')}
|
38
|
+
container = options[:dropdown_css] || ".select2-with-searchbox"
|
39
|
+
#p "$('#{container} input.select2-input').val('#{value}').trigger('keyup-change');"
|
40
|
+
page.execute_script "$('#{container} input.select2-input').val('#{value}').trigger('keyup-change');"
|
35
41
|
select_select2_result(value)
|
36
42
|
end
|
37
43
|
|
@@ -39,15 +45,20 @@ module CapybaraExt
|
|
39
45
|
id = find_label_by_text(options[:from])
|
40
46
|
|
41
47
|
# generate select2 id
|
42
|
-
|
48
|
+
options[:from] = "#s2id_#{id}"
|
49
|
+
targetted_select2(value, options)
|
50
|
+
end
|
43
51
|
|
52
|
+
def targetted_select2(value, options)
|
44
53
|
# find select2 element and click it
|
45
|
-
find(
|
54
|
+
find(options[:from]).find('a').click
|
46
55
|
select_select2_result(value)
|
47
56
|
end
|
48
57
|
|
49
58
|
def select_select2_result(value)
|
50
|
-
|
59
|
+
#p %Q{$("div.select2-result-label:contains('#{value}')").mouseup()}
|
60
|
+
sleep(1)
|
61
|
+
page.execute_script(%Q{$("div.select2-result-label:contains('#{value}')").mouseup()})
|
51
62
|
end
|
52
63
|
|
53
64
|
def find_label_by_text(text)
|
data/lib/spree/core/version.rb
CHANGED
metadata
CHANGED
@@ -1,51 +1,41 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: spree_core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.3.0
|
5
|
-
prerelease:
|
4
|
+
version: 1.3.0
|
5
|
+
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Sean Schofield
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-12-
|
12
|
+
date: 2012-12-19 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: acts_as_list
|
16
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirement: &70209186380480 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
|
-
- -
|
19
|
+
- - =
|
20
20
|
- !ruby/object:Gem::Version
|
21
21
|
version: 0.1.4
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements:
|
25
|
-
none: false
|
26
|
-
requirements:
|
27
|
-
- - '='
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
version: 0.1.4
|
24
|
+
version_requirements: *70209186380480
|
30
25
|
- !ruby/object:Gem::Dependency
|
31
26
|
name: awesome_nested_set
|
32
|
-
requirement: !ruby/object:Gem::Requirement
|
27
|
+
requirement: &70209186378780 !ruby/object:Gem::Requirement
|
33
28
|
none: false
|
34
29
|
requirements:
|
35
|
-
- -
|
30
|
+
- - =
|
36
31
|
- !ruby/object:Gem::Version
|
37
32
|
version: 2.1.5
|
38
33
|
type: :runtime
|
39
34
|
prerelease: false
|
40
|
-
version_requirements:
|
41
|
-
none: false
|
42
|
-
requirements:
|
43
|
-
- - '='
|
44
|
-
- !ruby/object:Gem::Version
|
45
|
-
version: 2.1.5
|
35
|
+
version_requirements: *70209186378780
|
46
36
|
- !ruby/object:Gem::Dependency
|
47
37
|
name: jquery-rails
|
48
|
-
requirement: !ruby/object:Gem::Requirement
|
38
|
+
requirement: &70209186388720 !ruby/object:Gem::Requirement
|
49
39
|
none: false
|
50
40
|
requirements:
|
51
41
|
- - ~>
|
@@ -53,15 +43,10 @@ dependencies:
|
|
53
43
|
version: '2.0'
|
54
44
|
type: :runtime
|
55
45
|
prerelease: false
|
56
|
-
version_requirements:
|
57
|
-
none: false
|
58
|
-
requirements:
|
59
|
-
- - ~>
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: '2.0'
|
46
|
+
version_requirements: *70209186388720
|
62
47
|
- !ruby/object:Gem::Dependency
|
63
48
|
name: select2-rails
|
64
|
-
requirement: !ruby/object:Gem::Requirement
|
49
|
+
requirement: &70209186399300 !ruby/object:Gem::Requirement
|
65
50
|
none: false
|
66
51
|
requirements:
|
67
52
|
- - ~>
|
@@ -69,47 +54,32 @@ dependencies:
|
|
69
54
|
version: '3.2'
|
70
55
|
type: :runtime
|
71
56
|
prerelease: false
|
72
|
-
version_requirements:
|
73
|
-
none: false
|
74
|
-
requirements:
|
75
|
-
- - ~>
|
76
|
-
- !ruby/object:Gem::Version
|
77
|
-
version: '3.2'
|
57
|
+
version_requirements: *70209186399300
|
78
58
|
- !ruby/object:Gem::Dependency
|
79
59
|
name: highline
|
80
|
-
requirement: !ruby/object:Gem::Requirement
|
60
|
+
requirement: &70209186396280 !ruby/object:Gem::Requirement
|
81
61
|
none: false
|
82
62
|
requirements:
|
83
|
-
- -
|
63
|
+
- - =
|
84
64
|
- !ruby/object:Gem::Version
|
85
65
|
version: 1.6.11
|
86
66
|
type: :runtime
|
87
67
|
prerelease: false
|
88
|
-
version_requirements:
|
89
|
-
none: false
|
90
|
-
requirements:
|
91
|
-
- - '='
|
92
|
-
- !ruby/object:Gem::Version
|
93
|
-
version: 1.6.11
|
68
|
+
version_requirements: *70209186396280
|
94
69
|
- !ruby/object:Gem::Dependency
|
95
70
|
name: state_machine
|
96
|
-
requirement: !ruby/object:Gem::Requirement
|
71
|
+
requirement: &70209186410800 !ruby/object:Gem::Requirement
|
97
72
|
none: false
|
98
73
|
requirements:
|
99
|
-
- -
|
74
|
+
- - =
|
100
75
|
- !ruby/object:Gem::Version
|
101
76
|
version: 1.1.2
|
102
77
|
type: :runtime
|
103
78
|
prerelease: false
|
104
|
-
version_requirements:
|
105
|
-
none: false
|
106
|
-
requirements:
|
107
|
-
- - '='
|
108
|
-
- !ruby/object:Gem::Version
|
109
|
-
version: 1.1.2
|
79
|
+
version_requirements: *70209186410800
|
110
80
|
- !ruby/object:Gem::Dependency
|
111
81
|
name: ffaker
|
112
|
-
requirement: !ruby/object:Gem::Requirement
|
82
|
+
requirement: &70209186407680 !ruby/object:Gem::Requirement
|
113
83
|
none: false
|
114
84
|
requirements:
|
115
85
|
- - ~>
|
@@ -117,15 +87,10 @@ dependencies:
|
|
117
87
|
version: 1.12.0
|
118
88
|
type: :runtime
|
119
89
|
prerelease: false
|
120
|
-
version_requirements:
|
121
|
-
none: false
|
122
|
-
requirements:
|
123
|
-
- - ~>
|
124
|
-
- !ruby/object:Gem::Version
|
125
|
-
version: 1.12.0
|
90
|
+
version_requirements: *70209186407680
|
126
91
|
- !ruby/object:Gem::Dependency
|
127
92
|
name: paperclip
|
128
|
-
requirement: !ruby/object:Gem::Requirement
|
93
|
+
requirement: &70209186405000 !ruby/object:Gem::Requirement
|
129
94
|
none: false
|
130
95
|
requirements:
|
131
96
|
- - ~>
|
@@ -133,15 +98,10 @@ dependencies:
|
|
133
98
|
version: '2.8'
|
134
99
|
type: :runtime
|
135
100
|
prerelease: false
|
136
|
-
version_requirements:
|
137
|
-
none: false
|
138
|
-
requirements:
|
139
|
-
- - ~>
|
140
|
-
- !ruby/object:Gem::Version
|
141
|
-
version: '2.8'
|
101
|
+
version_requirements: *70209186405000
|
142
102
|
- !ruby/object:Gem::Dependency
|
143
103
|
name: aws-sdk
|
144
|
-
requirement: !ruby/object:Gem::Requirement
|
104
|
+
requirement: &70209186403600 !ruby/object:Gem::Requirement
|
145
105
|
none: false
|
146
106
|
requirements:
|
147
107
|
- - ~>
|
@@ -149,47 +109,32 @@ dependencies:
|
|
149
109
|
version: 1.3.4
|
150
110
|
type: :runtime
|
151
111
|
prerelease: false
|
152
|
-
version_requirements:
|
153
|
-
none: false
|
154
|
-
requirements:
|
155
|
-
- - ~>
|
156
|
-
- !ruby/object:Gem::Version
|
157
|
-
version: 1.3.4
|
112
|
+
version_requirements: *70209186403600
|
158
113
|
- !ruby/object:Gem::Dependency
|
159
114
|
name: ransack
|
160
|
-
requirement: !ruby/object:Gem::Requirement
|
115
|
+
requirement: &70209186418360 !ruby/object:Gem::Requirement
|
161
116
|
none: false
|
162
117
|
requirements:
|
163
118
|
- - ~>
|
164
119
|
- !ruby/object:Gem::Version
|
165
|
-
version: 0.7.
|
120
|
+
version: 0.7.2
|
166
121
|
type: :runtime
|
167
122
|
prerelease: false
|
168
|
-
version_requirements:
|
169
|
-
none: false
|
170
|
-
requirements:
|
171
|
-
- - ~>
|
172
|
-
- !ruby/object:Gem::Version
|
173
|
-
version: 0.7.0
|
123
|
+
version_requirements: *70209186418360
|
174
124
|
- !ruby/object:Gem::Dependency
|
175
125
|
name: activemerchant
|
176
|
-
requirement: !ruby/object:Gem::Requirement
|
126
|
+
requirement: &70209186416340 !ruby/object:Gem::Requirement
|
177
127
|
none: false
|
178
128
|
requirements:
|
179
|
-
- -
|
129
|
+
- - =
|
180
130
|
- !ruby/object:Gem::Version
|
181
131
|
version: 1.28.0
|
182
132
|
type: :runtime
|
183
133
|
prerelease: false
|
184
|
-
version_requirements:
|
185
|
-
none: false
|
186
|
-
requirements:
|
187
|
-
- - '='
|
188
|
-
- !ruby/object:Gem::Version
|
189
|
-
version: 1.28.0
|
134
|
+
version_requirements: *70209186416340
|
190
135
|
- !ruby/object:Gem::Dependency
|
191
136
|
name: rails
|
192
|
-
requirement: !ruby/object:Gem::Requirement
|
137
|
+
requirement: &70209186413900 !ruby/object:Gem::Requirement
|
193
138
|
none: false
|
194
139
|
requirements:
|
195
140
|
- - ~>
|
@@ -197,31 +142,21 @@ dependencies:
|
|
197
142
|
version: 3.2.9
|
198
143
|
type: :runtime
|
199
144
|
prerelease: false
|
200
|
-
version_requirements:
|
201
|
-
none: false
|
202
|
-
requirements:
|
203
|
-
- - ~>
|
204
|
-
- !ruby/object:Gem::Version
|
205
|
-
version: 3.2.9
|
145
|
+
version_requirements: *70209186413900
|
206
146
|
- !ruby/object:Gem::Dependency
|
207
147
|
name: kaminari
|
208
|
-
requirement: !ruby/object:Gem::Requirement
|
148
|
+
requirement: &70209186425820 !ruby/object:Gem::Requirement
|
209
149
|
none: false
|
210
150
|
requirements:
|
211
|
-
- -
|
151
|
+
- - =
|
212
152
|
- !ruby/object:Gem::Version
|
213
153
|
version: 0.13.0
|
214
154
|
type: :runtime
|
215
155
|
prerelease: false
|
216
|
-
version_requirements:
|
217
|
-
none: false
|
218
|
-
requirements:
|
219
|
-
- - '='
|
220
|
-
- !ruby/object:Gem::Version
|
221
|
-
version: 0.13.0
|
156
|
+
version_requirements: *70209186425820
|
222
157
|
- !ruby/object:Gem::Dependency
|
223
158
|
name: deface
|
224
|
-
requirement: !ruby/object:Gem::Requirement
|
159
|
+
requirement: &70209186421040 !ruby/object:Gem::Requirement
|
225
160
|
none: false
|
226
161
|
requirements:
|
227
162
|
- - ! '>='
|
@@ -229,15 +164,10 @@ dependencies:
|
|
229
164
|
version: 0.9.0
|
230
165
|
type: :runtime
|
231
166
|
prerelease: false
|
232
|
-
version_requirements:
|
233
|
-
none: false
|
234
|
-
requirements:
|
235
|
-
- - ! '>='
|
236
|
-
- !ruby/object:Gem::Version
|
237
|
-
version: 0.9.0
|
167
|
+
version_requirements: *70209186421040
|
238
168
|
- !ruby/object:Gem::Dependency
|
239
169
|
name: stringex
|
240
|
-
requirement: !ruby/object:Gem::Requirement
|
170
|
+
requirement: &70209186433540 !ruby/object:Gem::Requirement
|
241
171
|
none: false
|
242
172
|
requirements:
|
243
173
|
- - ~>
|
@@ -245,60 +175,40 @@ dependencies:
|
|
245
175
|
version: 1.3.2
|
246
176
|
type: :runtime
|
247
177
|
prerelease: false
|
248
|
-
version_requirements:
|
249
|
-
none: false
|
250
|
-
requirements:
|
251
|
-
- - ~>
|
252
|
-
- !ruby/object:Gem::Version
|
253
|
-
version: 1.3.2
|
178
|
+
version_requirements: *70209186433540
|
254
179
|
- !ruby/object:Gem::Dependency
|
255
180
|
name: cancan
|
256
|
-
requirement: !ruby/object:Gem::Requirement
|
181
|
+
requirement: &70209186431100 !ruby/object:Gem::Requirement
|
257
182
|
none: false
|
258
183
|
requirements:
|
259
|
-
- -
|
184
|
+
- - =
|
260
185
|
- !ruby/object:Gem::Version
|
261
|
-
version: 1.6.
|
186
|
+
version: 1.6.8
|
262
187
|
type: :runtime
|
263
188
|
prerelease: false
|
264
|
-
version_requirements:
|
265
|
-
none: false
|
266
|
-
requirements:
|
267
|
-
- - '='
|
268
|
-
- !ruby/object:Gem::Version
|
269
|
-
version: 1.6.7
|
189
|
+
version_requirements: *70209186431100
|
270
190
|
- !ruby/object:Gem::Dependency
|
271
191
|
name: money
|
272
|
-
requirement: !ruby/object:Gem::Requirement
|
192
|
+
requirement: &70209186514640 !ruby/object:Gem::Requirement
|
273
193
|
none: false
|
274
194
|
requirements:
|
275
|
-
- -
|
195
|
+
- - =
|
276
196
|
- !ruby/object:Gem::Version
|
277
197
|
version: 5.0.0
|
278
198
|
type: :runtime
|
279
199
|
prerelease: false
|
280
|
-
version_requirements:
|
281
|
-
none: false
|
282
|
-
requirements:
|
283
|
-
- - '='
|
284
|
-
- !ruby/object:Gem::Version
|
285
|
-
version: 5.0.0
|
200
|
+
version_requirements: *70209186514640
|
286
201
|
- !ruby/object:Gem::Dependency
|
287
202
|
name: rabl
|
288
|
-
requirement: !ruby/object:Gem::Requirement
|
203
|
+
requirement: &70209186511340 !ruby/object:Gem::Requirement
|
289
204
|
none: false
|
290
205
|
requirements:
|
291
|
-
- -
|
206
|
+
- - =
|
292
207
|
- !ruby/object:Gem::Version
|
293
208
|
version: 0.7.2
|
294
209
|
type: :runtime
|
295
210
|
prerelease: false
|
296
|
-
version_requirements:
|
297
|
-
none: false
|
298
|
-
requirements:
|
299
|
-
- - '='
|
300
|
-
- !ruby/object:Gem::Version
|
301
|
-
version: 0.7.2
|
211
|
+
version_requirements: *70209186511340
|
302
212
|
description: Required dependency for Spree
|
303
213
|
email: sean@spreecommerce.com
|
304
214
|
executables: []
|
@@ -1240,13 +1150,16 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
1240
1150
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
1241
1151
|
none: false
|
1242
1152
|
requirements:
|
1243
|
-
- - ! '
|
1153
|
+
- - ! '>='
|
1244
1154
|
- !ruby/object:Gem::Version
|
1245
|
-
version:
|
1155
|
+
version: '0'
|
1156
|
+
segments:
|
1157
|
+
- 0
|
1158
|
+
hash: 1528119227121806143
|
1246
1159
|
requirements:
|
1247
1160
|
- none
|
1248
1161
|
rubyforge_project: spree_core
|
1249
|
-
rubygems_version: 1.8.
|
1162
|
+
rubygems_version: 1.8.10
|
1250
1163
|
signing_key:
|
1251
1164
|
specification_version: 3
|
1252
1165
|
summary: Core e-commerce functionality for the Spree project.
|