piggybak 0.4.30 → 0.4.31

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.4.30
1
+ 0.4.31
@@ -112,20 +112,17 @@ module Piggybak
112
112
  order.recorded_changer = current_user.id
113
113
 
114
114
  if can?(:cancel, order)
115
- order.adjustments << Piggybak::Adjustment.new(:total => -1*order.total,
116
- :note => "Cancelled order.",
117
- :source_id => current_user.id,
118
- :source_type => "User")
119
115
  order.line_items.each do |line_item|
120
116
  line_item.destroy
121
117
  end
122
118
  order.shipments.each do |shipment|
123
119
  shipment.destroy
124
120
  end
125
- order.update_attribute(:status, "cancelled")
126
121
  order.update_attribute(:tax_charge, 0.00)
127
122
  order.update_attribute(:total, 0.00)
128
- order.update_attribute(:total_due, 0.00)
123
+ order.update_attribute(:to_be_cancelled, true)
124
+
125
+ OrderNote.create(:order_id => order.id, :note => "Order cancelled.", :user_id => current_user.id)
129
126
 
130
127
  flash[:notice] = "Order #{order.id} cancelled"
131
128
  end
@@ -75,20 +75,15 @@ module Piggybak
75
75
  end
76
76
  end
77
77
 
78
- adjustment_total = 0
78
+ payments_total = self.payments.inject(0) { |s, payment| s + payment.total }
79
+
79
80
  adjustments.each do |adjustment|
80
81
  if !adjustment._destroy
81
- adjustment_total += adjustment.total
82
+ payments_total += adjustment.total.round(2)
82
83
  end
83
84
  end
84
85
 
85
- payments_total = self.payments.inject(0) { |s, payment| s + payment.total }
86
-
87
- if adjustment_total > 0
88
- self.total_due = (self.total + adjustment_total - payments_total).round(2)
89
- else
90
- self.total_due = (self.total - (adjustment_total + payments_total)).round(2)
91
- end
86
+ self.total_due = (self.total - payments_total).round(2)
92
87
 
93
88
  !has_errors
94
89
  end
@@ -150,7 +145,7 @@ module Piggybak
150
145
  self.total += self.tax_charge
151
146
 
152
147
  shipments.each do |shipment|
153
- if !shipment._destroy && shipment.new_record? && shipment.shipping_method
148
+ if !shipment._destroy && (shipment.new_record? || shipment.status != 'shipped') && shipment.shipping_method
154
149
  calculator = shipment.shipping_method.klass.constantize
155
150
  shipment.total = calculator.rate(shipment.shipping_method, self)
156
151
  end
@@ -158,20 +153,15 @@ module Piggybak
158
153
  self.total += shipping_cast
159
154
  end
160
155
 
161
- adjustment_total = 0
156
+ payments_total = self.payments.inject(0) { |s, payment| s + payment.total }
157
+
162
158
  adjustments.each do |adjustment|
163
159
  if !adjustment._destroy
164
- adjustment_total += adjustment.total
160
+ payments_total += adjustment.total.round(2)
165
161
  end
166
162
  end
167
163
 
168
- payments_total = self.payments.inject(0) { |s, payment| s + payment.total }
169
-
170
- if adjustment_total > 0
171
- self.total_due = (self.total + adjustment_total - payments_total).round(2)
172
- else
173
- self.total_due = (self.total - (adjustment_total + payments_total)).round(2)
174
- end
164
+ self.total_due = (self.total - payments_total).round(2)
175
165
  end
176
166
 
177
167
  def update_status
@@ -180,7 +170,9 @@ module Piggybak
180
170
  if self.total_due != 0.00
181
171
  self.status = "unbalanced"
182
172
  else
183
- if self.shipments.any? && self.shipments.all? { |s| s.status == "shipped" }
173
+ if self.to_be_cancelled
174
+ self.status = "cancelled"
175
+ elsif self.shipments.any? && self.shipments.all? { |s| s.status == "shipped" }
184
176
  self.status = "shipped"
185
177
  elsif self.shipments.any? && self.shipments.all? { |s| s.status == "processing" }
186
178
  self.status = "processing"
@@ -0,0 +1,5 @@
1
+ class AddToBeCancelledToOrders < ActiveRecord::Migration
2
+ def change
3
+ add_column :orders, :to_be_cancelled, :boolean, :nil => false, :default => false
4
+ end
5
+ end
@@ -146,13 +146,6 @@ module Piggybak
146
146
  active true
147
147
  help ""
148
148
  end
149
- field :refund_amt do
150
- label "Refund Amount"
151
- visible do
152
- !bindings[:object].new_record?
153
- end
154
- help "This does not interact with the payment gateway."
155
- end
156
149
  field :payments do
157
150
  active true
158
151
  help ""
@@ -271,7 +264,7 @@ module Piggybak
271
264
  end
272
265
  end
273
266
  field :total do
274
- help "A negative value represents credit. A positive value represents charge."
267
+ help "<ul><li>Enter a negative value representing a refund given (process in payment gateway). <i>ADDITIONAL INSTRUCTIONS HERE</i></li></ul>".html_safe
275
268
  read_only do
276
269
  !bindings[:object].new_record?
277
270
  end
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "piggybak"
8
- s.version = "0.4.30"
8
+ s.version = "0.4.31"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Steph Skardal", "Brian Buchalter"]
12
- s.date = "2012-08-10"
12
+ s.date = "2012-08-15"
13
13
  s.description = "Mountable ecommerce"
14
14
  s.email = "steph@endpoint.com"
15
15
  s.extra_rdoc_files = [
@@ -97,6 +97,7 @@ Gem::Specification.new do |s|
97
97
  "db/migrate/20120716195806_order_debugging.rb",
98
98
  "db/migrate/20120717022155_create_order_notes.rb",
99
99
  "db/migrate/20120718142841_modify_credits.rb",
100
+ "db/migrate/20120815205207_add_to_be_cancelled_to_orders.rb",
100
101
  "lib/acts_as_changer.rb",
101
102
  "lib/acts_as_orderer.rb",
102
103
  "lib/acts_as_variant.rb",
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: piggybak
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.30
4
+ version: 0.4.31
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -10,11 +10,11 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2012-08-10 00:00:00.000000000 Z
13
+ date: 2012-08-15 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: countries
17
- requirement: &20786020 !ruby/object:Gem::Requirement
17
+ requirement: &16323540 !ruby/object:Gem::Requirement
18
18
  none: false
19
19
  requirements:
20
20
  - - ! '>='
@@ -22,10 +22,10 @@ dependencies:
22
22
  version: '0'
23
23
  type: :runtime
24
24
  prerelease: false
25
- version_requirements: *20786020
25
+ version_requirements: *16323540
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: bundler
28
- requirement: &20785460 !ruby/object:Gem::Requirement
28
+ requirement: &16321940 !ruby/object:Gem::Requirement
29
29
  none: false
30
30
  requirements:
31
31
  - - ~>
@@ -33,10 +33,10 @@ dependencies:
33
33
  version: 1.0.0
34
34
  type: :development
35
35
  prerelease: false
36
- version_requirements: *20785460
36
+ version_requirements: *16321940
37
37
  - !ruby/object:Gem::Dependency
38
38
  name: jeweler
39
- requirement: &20784380 !ruby/object:Gem::Requirement
39
+ requirement: &16320800 !ruby/object:Gem::Requirement
40
40
  none: false
41
41
  requirements:
42
42
  - - ~>
@@ -44,10 +44,10 @@ dependencies:
44
44
  version: 1.6.4
45
45
  type: :development
46
46
  prerelease: false
47
- version_requirements: *20784380
47
+ version_requirements: *16320800
48
48
  - !ruby/object:Gem::Dependency
49
49
  name: rspec
50
- requirement: &20861900 !ruby/object:Gem::Requirement
50
+ requirement: &16336400 !ruby/object:Gem::Requirement
51
51
  none: false
52
52
  requirements:
53
53
  - - ! '>='
@@ -55,10 +55,10 @@ dependencies:
55
55
  version: '0'
56
56
  type: :development
57
57
  prerelease: false
58
- version_requirements: *20861900
58
+ version_requirements: *16336400
59
59
  - !ruby/object:Gem::Dependency
60
60
  name: rspec-rails
61
- requirement: &20861240 !ruby/object:Gem::Requirement
61
+ requirement: &16334740 !ruby/object:Gem::Requirement
62
62
  none: false
63
63
  requirements:
64
64
  - - ~>
@@ -66,10 +66,10 @@ dependencies:
66
66
  version: 2.7.0
67
67
  type: :development
68
68
  prerelease: false
69
- version_requirements: *20861240
69
+ version_requirements: *16334740
70
70
  - !ruby/object:Gem::Dependency
71
71
  name: factory_girl
72
- requirement: &20860560 !ruby/object:Gem::Requirement
72
+ requirement: &16334100 !ruby/object:Gem::Requirement
73
73
  none: false
74
74
  requirements:
75
75
  - - ! '>='
@@ -77,10 +77,10 @@ dependencies:
77
77
  version: '0'
78
78
  type: :development
79
79
  prerelease: false
80
- version_requirements: *20860560
80
+ version_requirements: *16334100
81
81
  - !ruby/object:Gem::Dependency
82
82
  name: diff-lcs
83
- requirement: &20859980 !ruby/object:Gem::Requirement
83
+ requirement: &16333480 !ruby/object:Gem::Requirement
84
84
  none: false
85
85
  requirements:
86
86
  - - ! '>='
@@ -88,10 +88,10 @@ dependencies:
88
88
  version: '0'
89
89
  type: :development
90
90
  prerelease: false
91
- version_requirements: *20859980
91
+ version_requirements: *16333480
92
92
  - !ruby/object:Gem::Dependency
93
93
  name: shoulda
94
- requirement: &20857540 !ruby/object:Gem::Requirement
94
+ requirement: &16332640 !ruby/object:Gem::Requirement
95
95
  none: false
96
96
  requirements:
97
97
  - - ! '>='
@@ -99,10 +99,10 @@ dependencies:
99
99
  version: '0'
100
100
  type: :development
101
101
  prerelease: false
102
- version_requirements: *20857540
102
+ version_requirements: *16332640
103
103
  - !ruby/object:Gem::Dependency
104
104
  name: simplecov
105
- requirement: &20854340 !ruby/object:Gem::Requirement
105
+ requirement: &16330860 !ruby/object:Gem::Requirement
106
106
  none: false
107
107
  requirements:
108
108
  - - ! '>='
@@ -110,10 +110,10 @@ dependencies:
110
110
  version: '0'
111
111
  type: :development
112
112
  prerelease: false
113
- version_requirements: *20854340
113
+ version_requirements: *16330860
114
114
  - !ruby/object:Gem::Dependency
115
115
  name: tzinfo
116
- requirement: &20165480 !ruby/object:Gem::Requirement
116
+ requirement: &16329640 !ruby/object:Gem::Requirement
117
117
  none: false
118
118
  requirements:
119
119
  - - ! '>='
@@ -121,10 +121,10 @@ dependencies:
121
121
  version: '0'
122
122
  type: :development
123
123
  prerelease: false
124
- version_requirements: *20165480
124
+ version_requirements: *16329640
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: devise
127
- requirement: &20163780 !ruby/object:Gem::Requirement
127
+ requirement: &16344700 !ruby/object:Gem::Requirement
128
128
  none: false
129
129
  requirements:
130
130
  - - ! '>='
@@ -132,10 +132,10 @@ dependencies:
132
132
  version: '0'
133
133
  type: :development
134
134
  prerelease: false
135
- version_requirements: *20163780
135
+ version_requirements: *16344700
136
136
  - !ruby/object:Gem::Dependency
137
137
  name: rails_admin
138
- requirement: &20162420 !ruby/object:Gem::Requirement
138
+ requirement: &16342700 !ruby/object:Gem::Requirement
139
139
  none: false
140
140
  requirements:
141
141
  - - ! '>='
@@ -143,10 +143,10 @@ dependencies:
143
143
  version: '0'
144
144
  type: :runtime
145
145
  prerelease: false
146
- version_requirements: *20162420
146
+ version_requirements: *16342700
147
147
  - !ruby/object:Gem::Dependency
148
148
  name: devise
149
- requirement: &20161360 !ruby/object:Gem::Requirement
149
+ requirement: &16341220 !ruby/object:Gem::Requirement
150
150
  none: false
151
151
  requirements:
152
152
  - - ! '>='
@@ -154,10 +154,10 @@ dependencies:
154
154
  version: '0'
155
155
  type: :runtime
156
156
  prerelease: false
157
- version_requirements: *20161360
157
+ version_requirements: *16341220
158
158
  - !ruby/object:Gem::Dependency
159
159
  name: activemerchant
160
- requirement: &20947240 !ruby/object:Gem::Requirement
160
+ requirement: &16340040 !ruby/object:Gem::Requirement
161
161
  none: false
162
162
  requirements:
163
163
  - - ! '>='
@@ -165,10 +165,10 @@ dependencies:
165
165
  version: '0'
166
166
  type: :runtime
167
167
  prerelease: false
168
- version_requirements: *20947240
168
+ version_requirements: *16340040
169
169
  - !ruby/object:Gem::Dependency
170
170
  name: countries
171
- requirement: &20945640 !ruby/object:Gem::Requirement
171
+ requirement: &16339480 !ruby/object:Gem::Requirement
172
172
  none: false
173
173
  requirements:
174
174
  - - ! '>='
@@ -176,10 +176,10 @@ dependencies:
176
176
  version: '0'
177
177
  type: :runtime
178
178
  prerelease: false
179
- version_requirements: *20945640
179
+ version_requirements: *16339480
180
180
  - !ruby/object:Gem::Dependency
181
181
  name: rspec
182
- requirement: &20944600 !ruby/object:Gem::Requirement
182
+ requirement: &16338940 !ruby/object:Gem::Requirement
183
183
  none: false
184
184
  requirements:
185
185
  - - ! '>='
@@ -187,10 +187,10 @@ dependencies:
187
187
  version: '0'
188
188
  type: :development
189
189
  prerelease: false
190
- version_requirements: *20944600
190
+ version_requirements: *16338940
191
191
  - !ruby/object:Gem::Dependency
192
192
  name: rspec-rails
193
- requirement: &20943180 !ruby/object:Gem::Requirement
193
+ requirement: &16338380 !ruby/object:Gem::Requirement
194
194
  none: false
195
195
  requirements:
196
196
  - - ! '>='
@@ -198,10 +198,10 @@ dependencies:
198
198
  version: '0'
199
199
  type: :development
200
200
  prerelease: false
201
- version_requirements: *20943180
201
+ version_requirements: *16338380
202
202
  - !ruby/object:Gem::Dependency
203
203
  name: diff-lcs
204
- requirement: &20942020 !ruby/object:Gem::Requirement
204
+ requirement: &16337680 !ruby/object:Gem::Requirement
205
205
  none: false
206
206
  requirements:
207
207
  - - ! '>='
@@ -209,10 +209,10 @@ dependencies:
209
209
  version: '0'
210
210
  type: :development
211
211
  prerelease: false
212
- version_requirements: *20942020
212
+ version_requirements: *16337680
213
213
  - !ruby/object:Gem::Dependency
214
214
  name: factory_girl
215
- requirement: &20940720 !ruby/object:Gem::Requirement
215
+ requirement: &16336980 !ruby/object:Gem::Requirement
216
216
  none: false
217
217
  requirements:
218
218
  - - ! '>='
@@ -220,10 +220,10 @@ dependencies:
220
220
  version: '0'
221
221
  type: :development
222
222
  prerelease: false
223
- version_requirements: *20940720
223
+ version_requirements: *16336980
224
224
  - !ruby/object:Gem::Dependency
225
225
  name: shoulda
226
- requirement: &20939980 !ruby/object:Gem::Requirement
226
+ requirement: &16352220 !ruby/object:Gem::Requirement
227
227
  none: false
228
228
  requirements:
229
229
  - - ! '>='
@@ -231,7 +231,7 @@ dependencies:
231
231
  version: '0'
232
232
  type: :development
233
233
  prerelease: false
234
- version_requirements: *20939980
234
+ version_requirements: *16352220
235
235
  description: Mountable ecommerce
236
236
  email: steph@endpoint.com
237
237
  executables: []
@@ -320,6 +320,7 @@ files:
320
320
  - db/migrate/20120716195806_order_debugging.rb
321
321
  - db/migrate/20120717022155_create_order_notes.rb
322
322
  - db/migrate/20120718142841_modify_credits.rb
323
+ - db/migrate/20120815205207_add_to_be_cancelled_to_orders.rb
323
324
  - lib/acts_as_changer.rb
324
325
  - lib/acts_as_orderer.rb
325
326
  - lib/acts_as_variant.rb
@@ -400,7 +401,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
400
401
  version: '0'
401
402
  segments:
402
403
  - 0
403
- hash: 2520099593681375365
404
+ hash: -1745694921164564524
404
405
  required_rubygems_version: !ruby/object:Gem::Requirement
405
406
  none: false
406
407
  requirements: