erp_commerce 4.0.0 → 4.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (49) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +0 -1
  3. data/app/models/accepted_credit_card.rb +10 -0
  4. data/app/models/bank_account.rb +13 -0
  5. data/app/models/bank_account_type.rb +9 -0
  6. data/app/models/credit_card.rb +54 -19
  7. data/app/models/credit_card_account.rb +31 -9
  8. data/app/models/credit_card_account_party_role.rb +17 -0
  9. data/app/models/credit_card_account_purpose.rb +24 -0
  10. data/app/models/extensions/financial_txn.rb +62 -1
  11. data/app/models/extensions/order_txn.rb +48 -0
  12. data/app/models/extensions/party.rb +26 -13
  13. data/app/models/extensions/simple_product_offer.rb +3 -0
  14. data/app/models/payment.rb +21 -0
  15. data/app/models/payment_gateway.rb +12 -0
  16. data/app/models/payment_gateway_action.rb +12 -0
  17. data/app/models/pricing_plan.rb +29 -1
  18. data/db/data_migrations/20150125202814_add_payment_transaction_types.rb +14 -0
  19. data/db/migrate/20100823174238_erp_commerce_base.rb +196 -192
  20. data/db/migrate/20160310163057_add_created_by_updated_by_to_erp_commerce.rb +35 -0
  21. data/lib/erp_commerce.rb +1 -2
  22. data/lib/erp_commerce/config.rb +2 -3
  23. data/lib/erp_commerce/engine.rb +1 -5
  24. data/lib/erp_commerce/extensions/active_record/acts_as_priceable.rb +1 -2
  25. data/lib/erp_commerce/version.rb +1 -1
  26. metadata +12 -32
  27. data/app/mailers/checkout_mailer.rb +0 -9
  28. data/app/views/checkout_mailer/email_confirmation.html.erb +0 -15
  29. data/app/widgets/orders/base.rb +0 -36
  30. data/app/widgets/orders/javascript/orders.js +0 -12
  31. data/app/widgets/orders/views/index.html.erb +0 -63
  32. data/app/widgets/product_catalog/base.rb +0 -52
  33. data/app/widgets/product_catalog/javascript/product_catalog.js +0 -64
  34. data/app/widgets/product_catalog/views/add_to_cart.html.erb +0 -10
  35. data/app/widgets/product_catalog/views/index.html.erb +0 -69
  36. data/app/widgets/product_catalog/views/show.html.erb +0 -23
  37. data/app/widgets/shopping_cart/base.rb +0 -175
  38. data/app/widgets/shopping_cart/javascript/shopping_cart.js +0 -110
  39. data/app/widgets/shopping_cart/views/cart_items.html.erb +0 -83
  40. data/app/widgets/shopping_cart/views/confirmation.html.erb +0 -11
  41. data/app/widgets/shopping_cart/views/demographics.html.erb +0 -142
  42. data/app/widgets/shopping_cart/views/login.html.erb +0 -1
  43. data/app/widgets/shopping_cart/views/payment.html.erb +0 -81
  44. data/app/widgets/shopping_cart/views/price_summary.html.erb +0 -4
  45. data/lib/erp_commerce/active_merchant_wrappers.rb +0 -3
  46. data/lib/erp_commerce/active_merchant_wrappers/authorize_net_wrapper.rb +0 -66
  47. data/lib/erp_commerce/active_merchant_wrappers/brain_tree_gateway_wrapper.rb +0 -68
  48. data/lib/erp_commerce/active_merchant_wrappers/credit_card_validation.rb +0 -34
  49. data/lib/erp_commerce/order_helper.rb +0 -245
@@ -0,0 +1,3 @@
1
+ SimpleProductOffer.class_eval do
2
+ acts_as_priceable
3
+ end
@@ -1,3 +1,19 @@
1
+ #### Table Definition ###########################
2
+ # create_table :payments do |t|
3
+ #
4
+ # t.column :success, :boolean
5
+ # t.column :reference_number, :string
6
+ # t.column :financial_txn_id, :integer
7
+ # t.column :current_state, :string
8
+ # t.column :authorization_code, :string
9
+ # t.string :external_identifier
10
+ #
11
+ # t.timestamps
12
+ # end
13
+ #
14
+ # add_index :payments, :financial_txn_id
15
+ #################################################
16
+
1
17
  class Payment < ActiveRecord::Base
2
18
  attr_protected :created_at, :updated_at
3
19
 
@@ -14,6 +30,7 @@ class Payment < ActiveRecord::Base
14
30
  aasm_state :declined
15
31
  aasm_state :authorized
16
32
  aasm_state :captured
33
+ aasm_state :refunded
17
34
  aasm_state :authorization_reversed
18
35
  aasm_state :canceled
19
36
  aasm_state :returned
@@ -46,4 +63,8 @@ class Payment < ActiveRecord::Base
46
63
  transitions :to => :returned, :from => [:pending, :captured]
47
64
  end
48
65
 
66
+ aasm_event :refund do
67
+ transitions :to => :refunded, :from => [:captured]
68
+ end
69
+
49
70
  end
@@ -1,3 +1,15 @@
1
+ ### Table Definition ###############################
2
+ # create_table :payment_gateways do |t|
3
+ #
4
+ # t.column :params, :string
5
+ # t.column :payment_gateway_action_id, :integer
6
+ # t.column :payment_id, :integer
7
+ # t.column :response, :string
8
+ #
9
+ # t.timestamps
10
+ # end
11
+ ####################################################
12
+
1
13
  class PaymentGateway < ActiveRecord::Base
2
14
  attr_protected :created_at, :updated_at
3
15
 
@@ -1,3 +1,15 @@
1
+ #### Table Definition ###########################
2
+ # create_table :payment_gateway_actions do |t|
3
+ #
4
+ # t.column :internal_identifier, :string
5
+ # t.column :description, :string
6
+ #
7
+ # t.timestamps
8
+ # end
9
+ #
10
+ # add_index :payment_gateway_actions, :internal_identifier
11
+ #################################################
12
+
1
13
  class PaymentGatewayAction < ActiveRecord::Base
2
14
  attr_protected :created_at, :updated_at
3
15
  end
@@ -1,3 +1,31 @@
1
+ #### Table Definition ####################################
2
+ # create_table :pricing_plans do |t|
3
+ #
4
+ # t.string :description
5
+ # t.string :comments
6
+ #
7
+ # t.string :internal_identifier
8
+ #
9
+ # t.string :external_identifier
10
+ # t.string :external_id_source
11
+ #
12
+ # t.date :from_date
13
+ # t.date :thru_date
14
+ #
15
+ # #this is here as a placeholder for an 'interpreter' or 'rule' pattern
16
+ # t.string :matching_rules
17
+ # #this is here as a placeholder for an 'interpreter' or 'rule' pattern
18
+ # t.string :pricing_calculation
19
+ #
20
+ # #support for simple assignment of a single money amount
21
+ # t.boolean :is_simple_amount
22
+ # t.integer :currency_id
23
+ # t.decimal :money_amount, :precision => 8, :scale => 2
24
+ #
25
+ # t.timestamps
26
+ # end
27
+ #########################################################
28
+
1
29
  class PricingPlan < ActiveRecord::Base
2
30
  attr_protected :created_at, :updated_at
3
31
 
@@ -22,7 +50,7 @@ class PricingPlan < ActiveRecord::Base
22
50
  rule_ctx[:price] = price
23
51
  eval(self.pricing_calculation)
24
52
 
25
- #finanlly if this is not a simple amount and has no pricing calcuation use the price components associated to this plan
53
+ #finanlly if this is not a simple amount and has no pricing calculation use the price components associated to this plan
26
54
  else
27
55
  self.pricing_plan_components.each do |pricing_plan_component|
28
56
  price_component = pricing_plan_component.get_price_component(rule_ctx)
@@ -0,0 +1,14 @@
1
+ class AddPaymentTransactionTypes
2
+
3
+ def self.up
4
+ payment_transactions = BizTxnType.find_or_create('payment_transaction', 'Payment Transaction')
5
+ BizTxnType.find_or_create('credit_card', 'Credit Card', payment_transactions)
6
+ BizTxnType.find_or_create('cash', 'Cash', payment_transactions)
7
+ BizTxnType.find_or_create('pay_pal', 'PayPal', payment_transactions)
8
+ end
9
+
10
+ def self.down
11
+ BizTxnType.iid('payment_transaction').destroy
12
+ end
13
+
14
+ end
@@ -2,49 +2,49 @@ class ErpCommerceBase < ActiveRecord::Migration
2
2
  def self.up
3
3
  #fees
4
4
  unless table_exists?(:fees)
5
- create_table :fees do |t|
6
- t.references :fee_record, :polymorphic => true
7
- t.references :money
8
- t.references :fee_type
9
- t.string :description
10
- t.datetime :start_date
11
- t.datetime :end_date
12
- t.string :external_identifier
13
- t.string :external_id_source
14
-
15
- t.timestamps
16
- end
17
-
18
- add_index :fees, [:fee_record_id, :fee_record_type], :name => 'fee_record_idx'
19
- add_index :fees, :fee_type_id
20
- add_index :fees, :money_id
21
- end
22
-
5
+ create_table :fees do |t|
6
+ t.references :fee_record, :polymorphic => true
7
+ t.references :money
8
+ t.references :fee_type
9
+ t.string :description
10
+ t.datetime :start_date
11
+ t.datetime :end_date
12
+ t.string :external_identifier
13
+ t.string :external_id_source
14
+
15
+ t.timestamps
16
+ end
17
+
18
+ add_index :fees, [:fee_record_id, :fee_record_type], :name => 'fee_record_idx'
19
+ add_index :fees, :fee_type_id
20
+ add_index :fees, :money_id
21
+ end
22
+
23
23
  unless table_exists?(:fee_types)
24
- create_table :fee_types do |t|
25
- t.string :internal_identifier
26
- t.string :description
27
- t.string :comments
28
- t.string :external_identifier
29
- t.string :external_id_source
30
-
31
- #these columns are required to support the behavior of the plugin 'awesome_nested_set'
32
- t.integer :parent_id
33
- t.integer :lft
34
- t.integer :rgt
35
-
36
- t.timestamps
37
- end
38
- end
39
-
24
+ create_table :fee_types do |t|
25
+ t.string :internal_identifier
26
+ t.string :description
27
+ t.string :comments
28
+ t.string :external_identifier
29
+ t.string :external_id_source
30
+
31
+ #these columns are required to support the behavior of the plugin 'awesome_nested_set'
32
+ t.integer :parent_id
33
+ t.integer :lft
34
+ t.integer :rgt
35
+
36
+ t.timestamps
37
+ end
38
+ end
39
+
40
40
  #pricing tables
41
41
  unless table_exists?(:price_component_types)
42
42
  create_table :price_component_types do |t|
43
43
 
44
- t.string :description
45
- t.string :internal_identifier
46
- t.string :external_identifier
47
- t.string :external_id_source
44
+ t.string :description
45
+ t.string :internal_identifier
46
+ t.string :external_identifier
47
+ t.string :external_id_source
48
48
 
49
49
  t.timestamps
50
50
  end
@@ -53,21 +53,21 @@ class ErpCommerceBase < ActiveRecord::Migration
53
53
  unless table_exists?(:pricing_plans)
54
54
  create_table :pricing_plans do |t|
55
55
 
56
- t.string :description
57
- t.string :comments
56
+ t.string :description
57
+ t.string :comments
58
58
 
59
- t.string :internal_identifier
59
+ t.string :internal_identifier
60
60
 
61
- t.string :external_identifier
62
- t.string :external_id_source
61
+ t.string :external_identifier
62
+ t.string :external_id_source
63
63
 
64
- t.date :from_date
65
- t.date :thru_date
64
+ t.date :from_date
65
+ t.date :thru_date
66
66
 
67
67
  #this is here as a placeholder for an 'interpreter' or 'rule' pattern
68
- t.string :matching_rules
68
+ t.string :matching_rules
69
69
  #this is here as a placeholder for an 'interpreter' or 'rule' pattern
70
- t.string :pricing_calculation
70
+ t.string :pricing_calculation
71
71
 
72
72
  #support for simple assignment of a single money amount
73
73
  t.boolean :is_simple_amount
@@ -82,18 +82,18 @@ class ErpCommerceBase < ActiveRecord::Migration
82
82
  create_table :pricing_plan_components do |t|
83
83
 
84
84
  t.integer :price_component_type_id
85
- t.string :description
86
- t.string :comments
85
+ t.string :description
86
+ t.string :comments
87
87
 
88
- t.string :internal_identifier
89
- t.string :external_identifier
90
- t.string :external_id_source
88
+ t.string :internal_identifier
89
+ t.string :external_identifier
90
+ t.string :external_id_source
91
91
 
92
92
 
93
93
  #this is here as a placeholder for an 'interpreter' or 'rule' pattern
94
- t.string :matching_rules
94
+ t.string :matching_rules
95
95
  #this is here as a placeholder for an 'interpreter' or 'rule' pattern
96
- t.string :pricing_calculation
96
+ t.string :pricing_calculation
97
97
 
98
98
  #support for simple assignment of a single money amount
99
99
  t.boolean :is_simple_amount
@@ -109,8 +109,8 @@ class ErpCommerceBase < ActiveRecord::Migration
109
109
  unless table_exists?(:valid_price_plan_components)
110
110
  create_table :valid_price_plan_components do |t|
111
111
 
112
- t.references :pricing_plan
113
- t.references :pricing_plan_component
112
+ t.references :pricing_plan
113
+ t.references :pricing_plan_component
114
114
 
115
115
  t.timestamps
116
116
 
@@ -122,54 +122,54 @@ class ErpCommerceBase < ActiveRecord::Migration
122
122
  unless table_exists?(:pricing_plan_assignments)
123
123
  create_table :pricing_plan_assignments do |t|
124
124
 
125
- t.references :pricing_plan
125
+ t.references :pricing_plan
126
126
 
127
127
  #support a polymorhic interface to the thing we want to price
128
- t.integer :priceable_item_id
129
- t.string :priceable_item_type
128
+ t.integer :priceable_item_id
129
+ t.string :priceable_item_type
130
130
 
131
- t.integer :priority
131
+ t.integer :priority
132
132
 
133
133
  t.timestamps
134
134
 
135
135
  end
136
136
  add_index :pricing_plan_assignments, :pricing_plan_id
137
- add_index :pricing_plan_assignments, [:priceable_item_id,:priceable_item_type], :name => 'priceable_item_idx'
137
+ add_index :pricing_plan_assignments, [:priceable_item_id, :priceable_item_type], :name => 'priceable_item_idx'
138
138
  end
139
-
139
+
140
140
  unless table_exists?(:prices)
141
141
  create_table :prices do |t|
142
-
143
- t.string :description
144
-
142
+
143
+ t.string :description
144
+
145
145
  #support a polymorhic interface to the thing that HAS BEEN priced
146
- t.integer :priced_item_id
147
- t.string :priced_item_type
148
-
146
+ t.integer :priced_item_id
147
+ t.string :priced_item_type
148
+
149
149
  #refer to the pricing plan by which this price was calculated
150
- t.references :pricing_plan
151
-
152
- t.references :money
153
-
150
+ t.references :pricing_plan
151
+
152
+ t.references :money
153
+
154
154
  t.timestamps
155
155
 
156
156
  end
157
157
  add_index :prices, :money_id
158
158
  add_index :prices, :pricing_plan_id
159
- add_index :prices, [:priced_item_id,:priced_item_type], :name => 'priced_item_idx'
159
+ add_index :prices, [:priced_item_id, :priced_item_type], :name => 'priced_item_idx'
160
160
  end
161
161
 
162
162
  unless table_exists?(:price_components)
163
163
  create_table :price_components do |t|
164
164
 
165
- t.string :description
166
- t.references :pricing_plan_component
167
- t.references :price
168
- t.references :money
165
+ t.string :description
166
+ t.references :pricing_plan_component
167
+ t.references :price
168
+ t.references :money
169
169
 
170
170
  #polymorphic relationship
171
171
  t.integer :priced_component_id
172
- t.string :priced_component_type
172
+ t.string :priced_component_type
173
173
 
174
174
  t.timestamps
175
175
 
@@ -177,33 +177,33 @@ class ErpCommerceBase < ActiveRecord::Migration
177
177
  add_index :price_components, :money_id
178
178
  add_index :price_components, :pricing_plan_component_id
179
179
  add_index :price_components, :price_id
180
- add_index :price_components, [:priced_component_id,:priced_component_type], :name => 'priced_component_idx'
180
+ add_index :price_components, [:priced_component_id, :priced_component_type], :name => 'priced_component_idx'
181
181
  end
182
-
182
+
183
183
  #payment tables
184
184
  unless table_exists?(:payments)
185
185
  create_table :payments do |t|
186
186
 
187
- t.column :success, :boolean
188
- t.column :reference_number, :string
189
- t.column :financial_txn_id, :integer
190
- t.column :current_state, :string
191
- t.column :authorization_code, :string
187
+ t.column :success, :boolean
188
+ t.column :reference_number, :string
189
+ t.column :financial_txn_id, :integer
190
+ t.column :current_state, :string
191
+ t.column :authorization_code, :string
192
192
  t.string :external_identifier
193
-
193
+
194
194
  t.timestamps
195
195
  end
196
-
196
+
197
197
  add_index :payments, :financial_txn_id
198
198
  end
199
199
 
200
200
  unless table_exists?(:payment_gateways)
201
201
  create_table :payment_gateways do |t|
202
202
 
203
- t.column :params, :string
204
- t.column :payment_gateway_action_id, :integer
205
- t.column :payment_id, :integer
206
- t.column :response, :string
203
+ t.column :params, :string
204
+ t.column :payment_gateway_action_id, :integer
205
+ t.column :payment_id, :integer
206
+ t.column :response, :string
207
207
 
208
208
  t.timestamps
209
209
  end
@@ -213,48 +213,50 @@ class ErpCommerceBase < ActiveRecord::Migration
213
213
  create_table :payment_gateway_actions do |t|
214
214
 
215
215
  t.column :internal_identifier, :string
216
- t.column :description, :string
216
+ t.column :description, :string
217
217
 
218
218
  t.timestamps
219
219
  end
220
+
221
+ add_index :payment_gateway_actions, :internal_identifier
220
222
  end
221
223
 
222
- add_index :payment_gateway_actions, :internal_identifier
223
-
224
224
  #tables
225
225
  unless table_exists?(:credit_cards)
226
226
  create_table :credit_cards do |t|
227
227
 
228
- t.column :crypted_private_card_number, :string
229
- t.column :expiration_month, :integer
230
- t.column :expiration_year, :integer
228
+ t.column :crypted_private_card_number, :string
229
+ t.column :crypted_private_cvc, :string
230
+ t.column :expiration_month, :integer
231
+ t.column :expiration_year, :integer
231
232
 
232
- t.column :description, :string
233
- t.column :first_name_on_card, :string
234
- t.column :last_name_on_card, :string
235
- t.column :card_type, :string
233
+ t.column :description, :string
234
+ t.column :name_on_card, :string
235
+ t.column :card_type, :string
236
236
 
237
- t.column :postal_address_id, :integer
238
- t.column :credit_card_account_purpose_id, :integer
239
- t.column :credit_card_token, :string
237
+ t.column :postal_address_id, :integer
238
+ t.column :credit_card_token, :string
240
239
 
241
240
  t.timestamps
242
241
  end
243
242
  end
244
-
243
+
245
244
  unless table_exists?(:credit_card_accounts)
246
245
  create_table :credit_card_accounts do |t|
246
+ t.references :credit_card_account_purpose
247
247
 
248
248
  t.timestamps
249
249
  end
250
+
251
+ add_index :credit_card_accounts, :credit_card_account_purpose_id, :name => 'credit_card_acct_purpose_idx'
250
252
  end
251
-
253
+
252
254
  unless table_exists?(:credit_card_account_party_roles)
253
255
  create_table :credit_card_account_party_roles do |t|
254
256
  t.column :credit_card_account_id, :integer
255
- t.column :role_type_id, :integer
256
- t.column :party_id, :integer
257
- t.column :credit_card_id, :integer
257
+ t.column :role_type_id, :integer
258
+ t.column :party_id, :integer
259
+ t.column :credit_card_id, :integer
258
260
 
259
261
  t.timestamps
260
262
  end
@@ -264,33 +266,33 @@ class ErpCommerceBase < ActiveRecord::Migration
264
266
  add_index :credit_card_account_party_roles, :party_id
265
267
  add_index :credit_card_account_party_roles, :credit_card_id
266
268
  end
267
-
269
+
268
270
  unless table_exists?(:credit_card_account_purposes)
269
271
  create_table :credit_card_account_purposes do |t|
270
272
 
271
- t.column :parent_id, :integer
272
- t.column :lft, :integer
273
- t.column :rgt, :integer
273
+ t.column :parent_id, :integer
274
+ t.column :lft, :integer
275
+ t.column :rgt, :integer
274
276
 
275
277
  #custom columns go here
276
278
 
277
- t.column :description, :string
278
- t.column :comments, :string
279
+ t.column :description, :string
280
+ t.column :comments, :string
279
281
 
280
- t.column :internal_identifier, :string
281
- t.column :external_identifier, :string
282
- t.column :external_id_source, :string
282
+ t.column :internal_identifier, :string
283
+ t.column :external_identifier, :string
284
+ t.column :external_id_source, :string
283
285
 
284
286
  t.timestamps
285
287
  end
286
288
  end
287
-
289
+
288
290
  unless table_exists?(:accepted_credit_cards)
289
291
  create_table :accepted_credit_cards do |t|
290
-
292
+
291
293
  t.references :organization
292
294
  t.string :card_type
293
-
295
+
294
296
  t.timestamps
295
297
  end
296
298
  end
@@ -317,125 +319,127 @@ class ErpCommerceBase < ActiveRecord::Migration
317
319
  add_index :bank_accounts, :bank_account_type_id, :name => 'bank_accounts_account_type_idx'
318
320
  end
319
321
  #end tables
320
-
322
+
321
323
  #columns
322
- unless columns(:order_txns).collect {|c| c.name}.include?('payment_gateway_txn_id')
324
+ unless columns(:order_txns).collect { |c| c.name }.include?('payment_gateway_txn_id')
323
325
  add_column :order_txns, :payment_gateway_txn_id, :string
324
326
  end
325
-
326
- unless columns(:order_txns).collect {|c| c.name}.include?('credit_card_id')
327
+
328
+ unless columns(:order_txns).collect { |c| c.name }.include?('credit_card_id')
327
329
  add_column :order_txns, :credit_card_id, :integer
328
330
  end
329
-
330
- unless columns(:order_txns).collect {|c| c.name}.include?('bill_to_first_name')
331
+
332
+ unless columns(:order_txns).collect { |c| c.name }.include?('bill_to_first_name')
331
333
  add_column :order_txns, :bill_to_first_name, :string
332
334
  end
333
-
334
- unless columns(:order_txns).collect {|c| c.name}.include?('bill_to_last_name')
335
+
336
+ unless columns(:order_txns).collect { |c| c.name }.include?('bill_to_last_name')
335
337
  add_column :order_txns, :bill_to_last_name, :string
336
- end
337
-
338
- unless columns(:order_txns).collect {|c| c.name}.include?('bill_to_address_line_1')
338
+ end
339
+
340
+ unless columns(:order_txns).collect { |c| c.name }.include?('bill_to_address_line_1')
339
341
  add_column :order_txns, :bill_to_address_line_1, :string
340
342
  end
341
343
 
342
- unless columns(:order_txns).collect {|c| c.name}.include?('bill_to_address_line_2')
344
+ unless columns(:order_txns).collect { |c| c.name }.include?('bill_to_address_line_2')
343
345
  add_column :order_txns, :bill_to_address_line_2, :string
344
346
  end
345
-
346
- unless columns(:order_txns).collect {|c| c.name}.include?('bill_to_city')
347
+
348
+ unless columns(:order_txns).collect { |c| c.name }.include?('bill_to_city')
347
349
  add_column :order_txns, :bill_to_city, :string
348
- end
349
-
350
- unless columns(:order_txns).collect {|c| c.name}.include?('bill_to_state')
350
+ end
351
+
352
+ unless columns(:order_txns).collect { |c| c.name }.include?('bill_to_state')
351
353
  add_column :order_txns, :bill_to_state, :string
352
354
  end
353
-
354
- unless columns(:order_txns).collect {|c| c.name}.include?('bill_to_postal_code')
355
+
356
+ unless columns(:order_txns).collect { |c| c.name }.include?('bill_to_postal_code')
355
357
  add_column :order_txns, :bill_to_postal_code, :string
356
- end
357
-
358
- unless columns(:order_txns).collect {|c| c.name}.include?('bill_to_country')
358
+ end
359
+
360
+ unless columns(:order_txns).collect { |c| c.name }.include?('bill_to_country')
359
361
  add_column :order_txns, :bill_to_country, :string
360
362
  end
361
-
362
- unless columns(:order_txns).collect {|c| c.name}.include?('bill_to_country_name')
363
- rename_column :order_txns, :bill_to_country, :bill_to_country_name
364
- rename_column :order_txns, :ship_to_country, :ship_to_country_name
363
+
364
+ unless columns(:order_txns).collect { |c| c.name }.include?('bill_to_country_name')
365
+ rename_column :order_txns, :bill_to_country, :bill_to_country_name
366
+ rename_column :order_txns, :ship_to_country, :ship_to_country_name
365
367
  add_column :order_txns, :bill_to_country, :string
366
368
  add_column :order_txns, :ship_to_country, :string
367
369
  end
368
- #end
370
+
371
+ add_column :product_types, :available_on_web, :boolean unless column_exists?(:product_types, :available_on_web)
372
+ add_index :product_types, :available_on_web unless index_exists?(:product_types, :available_on_web)
369
373
  end
370
374
 
371
375
  def self.down
372
-
373
- if columns(:order_txns).collect {|c| c.name}.include?('payment_gateway_txn_id')
376
+
377
+ if columns(:order_txns).collect { |c| c.name }.include?('payment_gateway_txn_id')
374
378
  remove_column :order_txns, :payment_gateway_txn_id
375
379
  end
376
-
377
- if columns(:order_txns).collect {|c| c.name}.include?('credit_card_id')
380
+
381
+ if columns(:order_txns).collect { |c| c.name }.include?('credit_card_id')
378
382
  remove_column :order_txns, :credit_card_id, :integer
379
383
  end
380
-
381
- if columns(:order_txns).collect {|c| c.name}.include?('bill_to_first_name')
384
+
385
+ if columns(:order_txns).collect { |c| c.name }.include?('bill_to_first_name')
382
386
  remove_column :order_txns, :bill_to_first_name, :string
383
387
  end
384
-
385
- if columns(:order_txns).collect {|c| c.name}.include?('bill_to_last_name')
388
+
389
+ if columns(:order_txns).collect { |c| c.name }.include?('bill_to_last_name')
386
390
  remove_column :order_txns, :bill_to_last_name, :string
387
- end
388
-
389
- if columns(:order_txns).collect {|c| c.name}.include?('bill_to_address')
391
+ end
392
+
393
+ if columns(:order_txns).collect { |c| c.name }.include?('bill_to_address')
390
394
  remove_column :order_txns, :bill_to_address, :string
391
395
  end
392
-
393
- if columns(:order_txns).collect {|c| c.name}.include?('bill_to_city')
396
+
397
+ if columns(:order_txns).collect { |c| c.name }.include?('bill_to_city')
394
398
  remove_column :order_txns, :bill_to_city, :string
395
- end
396
-
397
- if columns(:order_txns).collect {|c| c.name}.include?('bill_to_state')
399
+ end
400
+
401
+ if columns(:order_txns).collect { |c| c.name }.include?('bill_to_state')
398
402
  remove_column :order_txns, :bill_to_state, :string
399
403
  end
400
-
401
- if columns(:order_txns).collect {|c| c.name}.include?('bill_to_postal_code')
404
+
405
+ if columns(:order_txns).collect { |c| c.name }.include?('bill_to_postal_code')
402
406
  remove_column :order_txns, :bill_to_postal_code, :string
403
- end
404
-
405
- if columns(:order_txns).collect {|c| c.name}.include?('bill_to_country')
407
+ end
408
+
409
+ if columns(:order_txns).collect { |c| c.name }.include?('bill_to_country')
406
410
  remove_column :order_txns, :bill_to_country, :string
407
411
  end
408
-
409
- if columns(:order_txns).collect {|c| c.name}.include?('bill_to_country_name')
410
- remove_column :order_txns, :bill_to_country, :bill_to_country_name
411
- remove_column :order_txns, :ship_to_country, :ship_to_country_name
412
+
413
+ if columns(:order_txns).collect { |c| c.name }.include?('bill_to_country_name')
414
+ remove_column :order_txns, :bill_to_country, :bill_to_country_name
415
+ remove_column :order_txns, :ship_to_country, :ship_to_country_name
412
416
  end
413
-
417
+
414
418
  #tables
415
419
  drop_tables = [
416
- :bank_account_types,
417
- :bank_accounts,
418
- :credit_cards,
419
- :credit_card_accounts,
420
- :credit_card_account_party_roles,
421
- :credit_card_account_purposes,
422
- :payments,
423
- :payment_gateways,
424
- :payment_gateway_actions,
425
- :pricing_plans,
426
- :pricing_plan_components,
427
- :valid_price_plan_components,
428
- :pricing_plan_assignments,
429
- :prices,
430
- :price_components,
431
- :price_component_types,
432
- :fees,:fee_types
420
+ :bank_account_types,
421
+ :bank_accounts,
422
+ :credit_cards,
423
+ :credit_card_accounts,
424
+ :credit_card_account_party_roles,
425
+ :credit_card_account_purposes,
426
+ :payments,
427
+ :payment_gateways,
428
+ :payment_gateway_actions,
429
+ :pricing_plans,
430
+ :pricing_plan_components,
431
+ :valid_price_plan_components,
432
+ :pricing_plan_assignments,
433
+ :prices,
434
+ :price_components,
435
+ :price_component_types,
436
+ :fees, :fee_types
433
437
  ]
434
438
  drop_tables.each do |table|
435
439
  if table_exists?(table)
436
440
  drop_table table
437
441
  end
438
442
  end
439
-
443
+
440
444
  end
441
445
  end