effective_orders 1.8.1 → 2.0.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.
Files changed (115) hide show
  1. checksums.yaml +4 -4
  2. data/MIT-LICENSE +1 -1
  3. data/README.md +150 -60
  4. data/Rakefile +0 -3
  5. data/active_admin/effective_orders.rb +14 -9
  6. data/app/assets/javascripts/effective_orders.js +2 -0
  7. data/app/assets/javascripts/effective_orders/{stripe_charges.js.coffee → providers/stripe_charges.js.coffee} +1 -1
  8. data/app/assets/javascripts/effective_orders/{stripe_subscriptions.js.coffee → providers/stripe_subscriptions.js.coffee} +1 -1
  9. data/app/assets/stylesheets/effective_orders/_order.scss +9 -3
  10. data/app/controllers/admin/orders_controller.rb +87 -3
  11. data/app/controllers/concerns/acts_as_active_admin_controller.rb +2 -1
  12. data/app/controllers/effective/carts_controller.rb +4 -2
  13. data/app/controllers/effective/orders_controller.rb +101 -60
  14. data/app/controllers/effective/providers/app_checkout.rb +10 -2
  15. data/app/controllers/effective/providers/ccbill.rb +34 -0
  16. data/app/controllers/effective/providers/cheque.rb +30 -0
  17. data/app/controllers/effective/providers/moneris.rb +7 -7
  18. data/app/controllers/effective/providers/paypal.rb +7 -5
  19. data/app/controllers/effective/providers/pretend.rb +22 -0
  20. data/app/controllers/effective/providers/stripe.rb +26 -24
  21. data/app/controllers/effective/webhooks_controller.rb +1 -1
  22. data/app/helpers/effective_carts_helper.rb +59 -29
  23. data/app/helpers/effective_ccbill_helper.rb +25 -0
  24. data/app/helpers/effective_orders_helper.rb +50 -41
  25. data/app/helpers/effective_paypal_helper.rb +11 -11
  26. data/app/mailers/effective/orders_mailer.rb +95 -20
  27. data/app/models/concerns/acts_as_purchasable.rb +14 -22
  28. data/app/models/effective/cart.rb +9 -15
  29. data/app/models/effective/cart_item.rb +15 -13
  30. data/app/models/effective/customer.rb +9 -9
  31. data/app/models/effective/datatables/order_items.rb +14 -8
  32. data/app/models/effective/datatables/orders.rb +56 -69
  33. data/app/models/effective/order.rb +250 -139
  34. data/app/models/effective/order_item.rb +23 -16
  35. data/app/models/effective/product.rb +23 -0
  36. data/app/models/effective/providers/ccbill_postback.rb +85 -0
  37. data/app/models/effective/{stripe_charge.rb → providers/stripe_charge.rb} +1 -1
  38. data/app/models/effective/subscription.rb +16 -12
  39. data/app/models/effective/tax_rate_calculator.rb +45 -0
  40. data/app/views/admin/customers/index.html.haml +2 -5
  41. data/app/views/admin/order_items/index.html.haml +2 -5
  42. data/app/views/admin/orders/_actions.html.haml +2 -0
  43. data/app/views/admin/orders/_form.html.haml +28 -0
  44. data/app/views/admin/orders/_order_item_fields.html.haml +9 -0
  45. data/app/views/admin/orders/index.html.haml +9 -5
  46. data/app/views/admin/orders/new.html.haml +3 -0
  47. data/app/views/effective/carts/_cart.html.haml +3 -12
  48. data/app/views/effective/carts/_cart_actions.html.haml +4 -0
  49. data/app/views/effective/carts/show.html.haml +10 -12
  50. data/app/views/effective/orders/_checkout_step1.html.haml +46 -0
  51. data/app/views/effective/orders/_checkout_step2.html.haml +33 -0
  52. data/app/views/effective/orders/_order.html.haml +2 -0
  53. data/app/views/effective/orders/_order_actions.html.haml +10 -5
  54. data/app/views/effective/orders/_order_footer.html.haml +1 -0
  55. data/app/views/effective/orders/_order_items.html.haml +11 -9
  56. data/app/views/effective/orders/_order_note.html.haml +8 -0
  57. data/app/views/effective/orders/_order_note_fields.html.haml +5 -0
  58. data/app/views/effective/orders/_order_shipping.html.haml +4 -4
  59. data/app/views/effective/orders/_order_user_fields.html.haml +1 -0
  60. data/app/views/effective/orders/_orders_table.html.haml +27 -0
  61. data/app/views/effective/orders/ccbill/_form.html.haml +24 -0
  62. data/app/views/effective/orders/checkout_step1.html.haml +3 -0
  63. data/app/views/effective/orders/checkout_step2.html.haml +3 -0
  64. data/app/views/effective/orders/cheque/_form.html.haml +2 -0
  65. data/app/views/effective/orders/cheque/pay_by_cheque.html.haml +9 -0
  66. data/app/views/effective/orders/declined.html.haml +4 -2
  67. data/app/views/effective/orders/my_purchases.html.haml +1 -1
  68. data/app/views/effective/orders/my_sales.html.haml +1 -1
  69. data/app/views/effective/orders/purchased.html.haml +3 -2
  70. data/app/views/effective/orders/show.html.haml +1 -1
  71. data/app/views/effective/orders/stripe/_form.html.haml +5 -5
  72. data/app/views/effective/orders_mailer/order_error.html.haml +11 -0
  73. data/app/views/effective/orders_mailer/payment_request_to_buyer.html.haml +13 -0
  74. data/app/views/effective/orders_mailer/pending_order_invoice_to_buyer.html.haml +13 -0
  75. data/app/views/layouts/effective_orders_mailer_layout.html.haml +7 -7
  76. data/config/routes.rb +39 -24
  77. data/db/migrate/01_create_effective_orders.rb.erb +20 -1
  78. data/db/upgrade/03_upgrade_effective_orders_from1x.rb.erb +95 -0
  79. data/lib/effective_orders.rb +67 -9
  80. data/lib/effective_orders/app_checkout_service.rb +1 -2
  81. data/lib/effective_orders/engine.rb +46 -14
  82. data/lib/effective_orders/version.rb +1 -1
  83. data/lib/generators/effective_orders/install_generator.rb +1 -0
  84. data/lib/generators/effective_orders/upgrade_from03x_generator.rb +1 -0
  85. data/lib/generators/effective_orders/upgrade_from1x_generator.rb +31 -0
  86. data/lib/generators/templates/effective_orders.rb +131 -66
  87. data/lib/generators/templates/effective_orders_mailer_preview.rb +28 -13
  88. data/spec/controllers/admin/orders_controller_spec.rb +242 -0
  89. data/spec/controllers/ccbill_orders_controller_spec.rb +103 -0
  90. data/spec/controllers/moneris_orders_controller_spec.rb +23 -23
  91. data/spec/controllers/orders_controller_spec.rb +167 -79
  92. data/spec/controllers/stripe_orders_controller_spec.rb +7 -7
  93. data/spec/dummy/app/models/product.rb +0 -8
  94. data/spec/dummy/app/models/product_with_float_price.rb +0 -8
  95. data/spec/dummy/app/models/user.rb +2 -19
  96. data/spec/dummy/config/application.rb +2 -1
  97. data/spec/dummy/config/environments/test.rb +1 -0
  98. data/spec/dummy/config/initializers/effective_orders.rb +109 -64
  99. data/spec/dummy/db/schema.rb +15 -2
  100. data/spec/dummy/db/test.sqlite3 +0 -0
  101. data/spec/dummy/log/test.log +0 -258
  102. data/spec/models/acts_as_purchasable_spec.rb +8 -6
  103. data/spec/models/factories_spec.rb +7 -1
  104. data/spec/models/order_item_spec.rb +1 -1
  105. data/spec/models/order_spec.rb +165 -46
  106. data/spec/models/stripe_charge_spec.rb +5 -5
  107. data/spec/spec_helper.rb +2 -0
  108. data/spec/support/factories.rb +49 -33
  109. metadata +47 -64
  110. data/app/views/effective/orders/_checkout_step_1.html.haml +0 -43
  111. data/app/views/effective/orders/_checkout_step_2.html.haml +0 -25
  112. data/app/views/effective/orders/_my_purchases.html.haml +0 -17
  113. data/app/views/effective/orders/checkout.html.haml +0 -3
  114. data/app/views/effective/orders/new.html.haml +0 -4
  115. data/spec/dummy/log/development.log +0 -82
@@ -1,28 +1,28 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  # # Attributes
4
- describe Effective::StripeCharge do
4
+ describe Effective::Providers::StripeCharge do
5
5
  let(:order) { FactoryGirl.create(:order_with_subscription) }
6
- let(:charge) { Effective::StripeCharge.new(order) }
6
+ let(:charge) { Effective::Providers::StripeCharge.new(order) }
7
7
 
8
8
  before { StripeMock.start }
9
9
  after { StripeMock.stop }
10
10
 
11
11
  it 'can be initialized with an order' do
12
- charge = Effective::StripeCharge.new(order)
12
+ charge = Effective::Providers::StripeCharge.new(order)
13
13
  charge.order.should eq order
14
14
  charge.effective_order_id.should eq order.to_param
15
15
  end
16
16
 
17
17
  it 'can be initialized without an order' do
18
- charge = Effective::StripeCharge.new(:token => 'tok_123', :effective_order_id => 3)
18
+ charge = Effective::Providers::StripeCharge.new(:token => 'tok_123', :effective_order_id => 3)
19
19
  charge.token.should eq 'tok_123'
20
20
  charge.effective_order_id.should eq 3
21
21
  charge.order.nil?.should eq true
22
22
  end
23
23
 
24
24
  it 'performs validations' do
25
- charge = Effective::StripeCharge.new()
25
+ charge = Effective::Providers::StripeCharge.new()
26
26
  charge.valid?.should eq false
27
27
  charge.errors[:token].present?.should eq true
28
28
  charge.errors[:effective_order_id].present?.should eq true
data/spec/spec_helper.rb CHANGED
@@ -6,6 +6,7 @@ require 'rspec/rails'
6
6
  require 'factory_girl_rails'
7
7
  require 'stripe_mock'
8
8
  require 'pry'
9
+ require 'shoulda-matchers'
9
10
 
10
11
  # Requires supporting ruby files with custom matchers and macros, etc,
11
12
  # in spec/support/ and its subdirectories.
@@ -15,6 +16,7 @@ RSpec.configure do |config|
15
16
  config.fixture_path = "#{::Rails.root}/spec/fixtures"
16
17
 
17
18
  config.include Devise::TestHelpers, :type => :controller
19
+ config.include Shoulda::Matchers::ActiveModel, :type => :model
18
20
 
19
21
  Rails.logger.level = 4 # Output only minimal stuff to test.log
20
22
 
@@ -1,14 +1,14 @@
1
1
  require 'factory_girl'
2
2
 
3
3
  FactoryGirl.define do
4
- factory :address, :class => Effective::Address do
4
+ factory :address, class: Effective::Address do
5
5
  category 'billing'
6
6
  full_name 'Peter Pan'
7
7
  sequence(:address1) { |n| "1234#{n} Fake Street" }
8
- city 'San Antonio'
9
- state_code 'TX'
10
- country_code 'US'
11
- postal_code '92387'
8
+ city 'A canadian city'
9
+ state_code ['AB', 'BC', 'MB', 'NB', 'NL', 'NT', 'NS', 'ON', 'PE', 'QC', 'SK', 'YT', 'NU'].sample
10
+ country_code 'CA'
11
+ postal_code 'T5T2T1'
12
12
  end
13
13
 
14
14
  factory :product do # This only exists in the dummy/ app
@@ -33,15 +33,15 @@ FactoryGirl.define do
33
33
  after(:build) { |user| user.skip_confirmation! if user.respond_to?(:skip_confirmation!) }
34
34
  end
35
35
 
36
- factory :customer, :class => Effective::Customer do
36
+ factory :customer, class: Effective::Customer do
37
37
  association :user
38
38
  end
39
39
 
40
- factory :subscription, :class => Effective::Subscription do
40
+ factory :subscription, class: Effective::Subscription do
41
41
  association :customer
42
42
 
43
43
  before(:create) do |subscription|
44
- stripe_plan = Stripe::Plan.create(:id => "stripe_plan_#{subscription.object_id}", :name => 'Stripe Plan', :amount => 1000, :currency => 'USD', :interval => 'month')
44
+ stripe_plan = Stripe::Plan.create(id: "stripe_plan_#{subscription.object_id}", name: 'Stripe Plan', amount: 1000, currency: 'USD', interval: 'month')
45
45
  stripe_coupon = FactoryGirl.create(:stripe_coupon)
46
46
 
47
47
  subscription.stripe_plan_id = stripe_plan.id
@@ -49,73 +49,89 @@ FactoryGirl.define do
49
49
  end
50
50
  end
51
51
 
52
- factory :cart, :class => Effective::Cart do
52
+ factory :cart, class: Effective::Cart do
53
53
  association :user
54
54
 
55
55
  before(:create) do |cart|
56
- 3.times { cart.cart_items << FactoryGirl.create(:cart_item, :cart => cart) }
56
+ 3.times { cart.cart_items << FactoryGirl.create(:cart_item, cart: cart) }
57
57
  end
58
58
  end
59
59
 
60
- factory :cart_item, :class => Effective::CartItem do
61
- association :purchasable, :factory => :product
62
- association :cart, :factory => :cart
60
+ factory :cart_item, class: Effective::CartItem do
61
+ association :purchasable, factory: :product
62
+ association :cart, factory: :cart
63
63
 
64
64
  quantity 1
65
65
  end
66
66
 
67
- factory :cart_with_subscription, :class => Effective::Cart do
67
+ factory :cart_with_subscription, class: Effective::Cart do
68
68
  association :user
69
69
 
70
70
  before(:create) do |cart|
71
- cart.cart_items << FactoryGirl.create(:cart_item, :cart => cart)
72
- cart.cart_items << FactoryGirl.create(:cart_item, :cart => cart, :purchasable => FactoryGirl.create(:subscription))
71
+ cart.cart_items << FactoryGirl.create(:cart_item, cart: cart)
72
+ cart.cart_items << FactoryGirl.create(:cart_item, cart: cart, purchasable: FactoryGirl.create(:subscription))
73
73
  end
74
74
  end
75
75
 
76
- factory :order, :class => Effective::Order do
76
+ factory :cart_with_items, class: Effective::Cart do
77
+ association :user
78
+
79
+ before(:create) do |cart|
80
+ 3.times { cart.cart_items << FactoryGirl.create(:cart_item, cart: cart) }
81
+ end
82
+ end
83
+
84
+ factory :order, class: Effective::Order do
77
85
  association :user
78
86
 
79
87
  before(:create) do |order|
80
- order.billing_address = FactoryGirl.build(:address, :addressable => order)
81
- order.shipping_address = FactoryGirl.build(:address, :addressable => order)
88
+ order.billing_address = FactoryGirl.build(:address, addressable: order)
89
+ order.shipping_address = FactoryGirl.build(:address, addressable: order)
82
90
 
83
- 3.times { order.order_items << FactoryGirl.create(:order_item, :order => order) }
91
+ 3.times { order.order_items << FactoryGirl.create(:order_item, order: order) }
84
92
  end
85
93
  end
86
94
 
87
- factory :order_with_subscription, :class => Effective::Order do
95
+ factory :order_with_subscription, class: Effective::Order do
88
96
  association :user
89
97
 
90
98
  before(:create) do |order|
91
- order.billing_address = FactoryGirl.build(:address, :addressable => order)
92
- order.shipping_address = FactoryGirl.build(:address, :addressable => order)
99
+ order.billing_address = FactoryGirl.build(:address, addressable: order)
100
+ order.shipping_address = FactoryGirl.build(:address, addressable: order)
93
101
 
94
- order.order_items << FactoryGirl.create(:order_item, :order => order)
95
- order.order_items << FactoryGirl.create(:order_item, :purchasable => FactoryGirl.create(:subscription), :order => order)
102
+ order.order_items << FactoryGirl.create(:order_item, order: order)
103
+ order.order_items << FactoryGirl.create(:order_item, purchasable: FactoryGirl.create(:subscription), order: order)
96
104
  end
97
105
  end
98
106
 
99
- factory :order_item, :class => Effective::OrderItem do
100
- association :purchasable, :factory => :product
101
- association :order, :factory => :order
107
+ factory :order_item, class: Effective::OrderItem do
108
+ association :purchasable, factory: :product
109
+ association :order, factory: :order
102
110
 
103
111
  sequence(:title) { |n| "Order Item #{n}" }
104
112
  quantity 1
105
113
  price 1000
106
114
  tax_exempt false
107
- tax_rate 0.05
108
115
  end
109
116
 
110
- factory :purchased_order, :parent => :order do
111
- after(:create) { |order| order.purchase!('by a test') }
117
+ factory :purchased_order, parent: :order do
118
+ payment_provider 'admin'
119
+ payment_card 'unknown'
120
+
121
+ after(:create) { |order| order.purchase! }
112
122
  end
113
123
 
114
- factory :declined_order, :parent => :order do
124
+ factory :declined_order, parent: :order do
125
+ payment_provider 'admin'
126
+
115
127
  after(:create) { |order| order.decline! }
116
128
  end
117
129
 
118
- factory :stripe_coupon, :class => Stripe::Coupon do
130
+ factory :pending_order, parent: :order do
131
+ purchase_state 'pending'
132
+ end
133
+
134
+ factory :stripe_coupon, class: Stripe::Coupon do
119
135
  to_create {|c| c.save}
120
136
  duration 'once'
121
137
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: effective_orders
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.8.1
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Code and Effect
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-01-20 00:00:00.000000000 Z
11
+ date: 2016-03-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -39,7 +39,7 @@ dependencies:
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
- name: devise
42
+ name: jquery-rails
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - ">="
@@ -53,7 +53,7 @@ dependencies:
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
- name: haml-rails
56
+ name: devise
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - ">="
@@ -67,7 +67,7 @@ dependencies:
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
- name: sass-rails
70
+ name: haml-rails
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - ">="
@@ -81,7 +81,7 @@ dependencies:
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
83
  - !ruby/object:Gem::Dependency
84
- name: migrant
84
+ name: sass-rails
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - ">="
@@ -114,28 +114,14 @@ dependencies:
114
114
  requirements:
115
115
  - - ">="
116
116
  - !ruby/object:Gem::Version
117
- version: 1.3.6
118
- type: :runtime
119
- prerelease: false
120
- version_requirements: !ruby/object:Gem::Requirement
121
- requirements:
122
- - - ">="
123
- - !ruby/object:Gem::Version
124
- version: 1.3.6
125
- - !ruby/object:Gem::Dependency
126
- name: effective_obfuscation
127
- requirement: !ruby/object:Gem::Requirement
128
- requirements:
129
- - - ">="
130
- - !ruby/object:Gem::Version
131
- version: 1.0.2
117
+ version: 1.4.0
132
118
  type: :runtime
133
119
  prerelease: false
134
120
  version_requirements: !ruby/object:Gem::Requirement
135
121
  requirements:
136
122
  - - ">="
137
123
  - !ruby/object:Gem::Version
138
- version: 1.0.2
124
+ version: 1.4.0
139
125
  - !ruby/object:Gem::Dependency
140
126
  name: stripe-ruby-mock
141
127
  requirement: !ruby/object:Gem::Requirement
@@ -207,47 +193,19 @@ dependencies:
207
193
  - !ruby/object:Gem::Version
208
194
  version: '0'
209
195
  - !ruby/object:Gem::Dependency
210
- name: guard
211
- requirement: !ruby/object:Gem::Requirement
212
- requirements:
213
- - - ">="
214
- - !ruby/object:Gem::Version
215
- version: '0'
216
- type: :development
217
- prerelease: false
218
- version_requirements: !ruby/object:Gem::Requirement
219
- requirements:
220
- - - ">="
221
- - !ruby/object:Gem::Version
222
- version: '0'
223
- - !ruby/object:Gem::Dependency
224
- name: guard-rspec
225
- requirement: !ruby/object:Gem::Requirement
226
- requirements:
227
- - - ">="
228
- - !ruby/object:Gem::Version
229
- version: '0'
230
- type: :development
231
- prerelease: false
232
- version_requirements: !ruby/object:Gem::Requirement
233
- requirements:
234
- - - ">="
235
- - !ruby/object:Gem::Version
236
- version: '0'
237
- - !ruby/object:Gem::Dependency
238
- name: guard-livereload
196
+ name: effective_obfuscation
239
197
  requirement: !ruby/object:Gem::Requirement
240
198
  requirements:
241
199
  - - ">="
242
200
  - !ruby/object:Gem::Version
243
- version: '0'
201
+ version: 1.0.2
244
202
  type: :development
245
203
  prerelease: false
246
204
  version_requirements: !ruby/object:Gem::Requirement
247
205
  requirements:
248
206
  - - ">="
249
207
  - !ruby/object:Gem::Version
250
- version: '0'
208
+ version: 1.0.2
251
209
  - !ruby/object:Gem::Dependency
252
210
  name: pry
253
211
  requirement: !ruby/object:Gem::Requirement
@@ -305,9 +263,9 @@ files:
305
263
  - active_admin/effective_orders.rb
306
264
  - app/assets/images/effective_orders/stripe_connect.png
307
265
  - app/assets/javascripts/effective_orders.js
266
+ - app/assets/javascripts/effective_orders/providers/stripe_charges.js.coffee
267
+ - app/assets/javascripts/effective_orders/providers/stripe_subscriptions.js.coffee
308
268
  - app/assets/javascripts/effective_orders/shipping_address_toggle.js.coffee
309
- - app/assets/javascripts/effective_orders/stripe_charges.js.coffee
310
- - app/assets/javascripts/effective_orders/stripe_subscriptions.js.coffee
311
269
  - app/assets/stylesheets/effective_orders.scss
312
270
  - app/assets/stylesheets/effective_orders/_order.scss
313
271
  - app/controllers/admin/customers_controller.rb
@@ -317,13 +275,17 @@ files:
317
275
  - app/controllers/effective/carts_controller.rb
318
276
  - app/controllers/effective/orders_controller.rb
319
277
  - app/controllers/effective/providers/app_checkout.rb
278
+ - app/controllers/effective/providers/ccbill.rb
279
+ - app/controllers/effective/providers/cheque.rb
320
280
  - app/controllers/effective/providers/moneris.rb
321
281
  - app/controllers/effective/providers/paypal.rb
282
+ - app/controllers/effective/providers/pretend.rb
322
283
  - app/controllers/effective/providers/stripe.rb
323
284
  - app/controllers/effective/providers/stripe_connect.rb
324
285
  - app/controllers/effective/subscriptions_controller.rb
325
286
  - app/controllers/effective/webhooks_controller.rb
326
287
  - app/helpers/effective_carts_helper.rb
288
+ - app/helpers/effective_ccbill_helper.rb
327
289
  - app/helpers/effective_orders_helper.rb
328
290
  - app/helpers/effective_paypal_helper.rb
329
291
  - app/helpers/effective_stripe_helper.rb
@@ -338,8 +300,11 @@ files:
338
300
  - app/models/effective/datatables/orders.rb
339
301
  - app/models/effective/order.rb
340
302
  - app/models/effective/order_item.rb
341
- - app/models/effective/stripe_charge.rb
303
+ - app/models/effective/product.rb
304
+ - app/models/effective/providers/ccbill_postback.rb
305
+ - app/models/effective/providers/stripe_charge.rb
342
306
  - app/models/effective/subscription.rb
307
+ - app/models/effective/tax_rate_calculator.rb
343
308
  - app/models/inputs/price_field.rb
344
309
  - app/models/inputs/price_form_input.rb
345
310
  - app/models/inputs/price_formtastic_input.rb
@@ -349,36 +314,50 @@ files:
349
314
  - app/views/admin/customers/_actions.html.haml
350
315
  - app/views/admin/customers/index.html.haml
351
316
  - app/views/admin/order_items/index.html.haml
317
+ - app/views/admin/orders/_actions.html.haml
318
+ - app/views/admin/orders/_form.html.haml
319
+ - app/views/admin/orders/_order_item_fields.html.haml
352
320
  - app/views/admin/orders/index.html.haml
321
+ - app/views/admin/orders/new.html.haml
353
322
  - app/views/admin/orders/show.html.haml
354
323
  - app/views/effective/carts/_cart.html.haml
324
+ - app/views/effective/carts/_cart_actions.html.haml
355
325
  - app/views/effective/carts/show.html.haml
356
- - app/views/effective/orders/_checkout_step_1.html.haml
357
- - app/views/effective/orders/_checkout_step_2.html.haml
358
- - app/views/effective/orders/_my_purchases.html.haml
326
+ - app/views/effective/orders/_checkout_step1.html.haml
327
+ - app/views/effective/orders/_checkout_step2.html.haml
359
328
  - app/views/effective/orders/_order.html.haml
360
329
  - app/views/effective/orders/_order_actions.html.haml
330
+ - app/views/effective/orders/_order_footer.html.haml
361
331
  - app/views/effective/orders/_order_header.html.haml
362
332
  - app/views/effective/orders/_order_items.html.haml
333
+ - app/views/effective/orders/_order_note.html.haml
334
+ - app/views/effective/orders/_order_note_fields.html.haml
363
335
  - app/views/effective/orders/_order_payment_details.html.haml
364
336
  - app/views/effective/orders/_order_shipping.html.haml
365
337
  - app/views/effective/orders/_order_user_fields.html.haml
338
+ - app/views/effective/orders/_orders_table.html.haml
366
339
  - app/views/effective/orders/app_checkout/_form.html.haml
367
- - app/views/effective/orders/checkout.html.haml
340
+ - app/views/effective/orders/ccbill/_form.html.haml
341
+ - app/views/effective/orders/checkout_step1.html.haml
342
+ - app/views/effective/orders/checkout_step2.html.haml
343
+ - app/views/effective/orders/cheque/_form.html.haml
344
+ - app/views/effective/orders/cheque/pay_by_cheque.html.haml
368
345
  - app/views/effective/orders/declined.html.haml
369
346
  - app/views/effective/orders/moneris/_form.html.haml
370
347
  - app/views/effective/orders/my_purchases.html.haml
371
348
  - app/views/effective/orders/my_sales.html.haml
372
- - app/views/effective/orders/new.html.haml
373
349
  - app/views/effective/orders/paypal/_form.html.haml
374
350
  - app/views/effective/orders/pretend/_form.html.haml
375
351
  - app/views/effective/orders/purchased.html.haml
376
352
  - app/views/effective/orders/show.html.haml
377
353
  - app/views/effective/orders/stripe/_form.html.haml
378
354
  - app/views/effective/orders/stripe/_subscription_fields.html.haml
355
+ - app/views/effective/orders_mailer/order_error.html.haml
379
356
  - app/views/effective/orders_mailer/order_receipt_to_admin.html.haml
380
357
  - app/views/effective/orders_mailer/order_receipt_to_buyer.html.haml
381
358
  - app/views/effective/orders_mailer/order_receipt_to_seller.html.haml
359
+ - app/views/effective/orders_mailer/payment_request_to_buyer.html.haml
360
+ - app/views/effective/orders_mailer/pending_order_invoice_to_buyer.html.haml
382
361
  - app/views/effective/subscriptions/index.html.haml
383
362
  - app/views/effective/subscriptions/new.html.haml
384
363
  - app/views/effective/subscriptions/show.html.haml
@@ -386,6 +365,7 @@ files:
386
365
  - config/routes.rb
387
366
  - db/migrate/01_create_effective_orders.rb.erb
388
367
  - db/upgrade/02_upgrade_effective_orders_from03x.rb.erb
368
+ - db/upgrade/03_upgrade_effective_orders_from1x.rb.erb
389
369
  - db/upgrade/upgrade_price_column_on_table.rb.erb
390
370
  - lib/effective_orders.rb
391
371
  - lib/effective_orders/app_checkout_service.rb
@@ -393,11 +373,14 @@ files:
393
373
  - lib/effective_orders/version.rb
394
374
  - lib/generators/effective_orders/install_generator.rb
395
375
  - lib/generators/effective_orders/upgrade_from03x_generator.rb
376
+ - lib/generators/effective_orders/upgrade_from1x_generator.rb
396
377
  - lib/generators/effective_orders/upgrade_price_column_generator.rb
397
378
  - lib/generators/templates/README
398
379
  - lib/generators/templates/effective_orders.rb
399
380
  - lib/generators/templates/effective_orders_mailer_preview.rb
381
+ - spec/controllers/admin/orders_controller_spec.rb
400
382
  - spec/controllers/carts_controller_spec.rb
383
+ - spec/controllers/ccbill_orders_controller_spec.rb
401
384
  - spec/controllers/moneris_orders_controller_spec.rb
402
385
  - spec/controllers/orders_controller_spec.rb
403
386
  - spec/controllers/stripe_orders_controller_spec.rb
@@ -439,7 +422,6 @@ files:
439
422
  - spec/dummy/config/secrets.yml
440
423
  - spec/dummy/db/schema.rb
441
424
  - spec/dummy/db/test.sqlite3
442
- - spec/dummy/log/development.log
443
425
  - spec/dummy/log/test.log
444
426
  - spec/dummy/public/404.html
445
427
  - spec/dummy/public/422.html
@@ -476,13 +458,15 @@ required_rubygems_version: !ruby/object:Gem::Requirement
476
458
  version: '0'
477
459
  requirements: []
478
460
  rubyforge_project:
479
- rubygems_version: 2.5.0
461
+ rubygems_version: 2.4.6
480
462
  signing_key:
481
463
  specification_version: 4
482
464
  summary: Quickly build an online store with carts, orders, automatic email receipts
483
465
  and payment collection via Stripe, StripeConnect, PayPal and Moneris.
484
466
  test_files:
467
+ - spec/controllers/admin/orders_controller_spec.rb
485
468
  - spec/controllers/carts_controller_spec.rb
469
+ - spec/controllers/ccbill_orders_controller_spec.rb
486
470
  - spec/controllers/moneris_orders_controller_spec.rb
487
471
  - spec/controllers/orders_controller_spec.rb
488
472
  - spec/controllers/stripe_orders_controller_spec.rb
@@ -522,7 +506,6 @@ test_files:
522
506
  - spec/dummy/config.ru
523
507
  - spec/dummy/db/schema.rb
524
508
  - spec/dummy/db/test.sqlite3
525
- - spec/dummy/log/development.log
526
509
  - spec/dummy/log/test.log
527
510
  - spec/dummy/public/404.html
528
511
  - spec/dummy/public/422.html