piggybak 0.4.30 → 0.4.31

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