stall 0.2.0 → 0.3.1

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 (140) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +60 -23
  3. data/app/assets/javascripts/para/stall.coffee +1 -0
  4. data/app/assets/javascripts/para/stall/inputs/variant-select.coffee +62 -0
  5. data/app/assets/javascripts/para/stall/inputs/variants-matrix.coffee +12 -0
  6. data/app/assets/javascripts/para/stall/inputs/variants-matrix/helpers.coffee +40 -0
  7. data/app/assets/javascripts/para/stall/inputs/variants-matrix/input.coffee +133 -0
  8. data/app/assets/javascripts/para/stall/inputs/variants-matrix/nested-fields.coffee +38 -0
  9. data/app/assets/javascripts/para/stall/inputs/variants-matrix/properties_select.coffee +45 -0
  10. data/app/assets/javascripts/para/stall/inputs/variants-matrix/variant.coffee +59 -0
  11. data/app/assets/javascripts/stall.coffee +1 -0
  12. data/app/assets/javascripts/stall/add-to-cart-form.coffee +53 -28
  13. data/app/assets/javascripts/stall/cart-form.coffee +7 -2
  14. data/app/assets/stylesheets/para/stall.sass +28 -0
  15. data/app/controllers/para/stall/admin/carts_controller.rb +27 -0
  16. data/app/controllers/stall/cart_credits_controller.rb +27 -0
  17. data/app/controllers/stall/carts_controller.rb +1 -1
  18. data/app/controllers/stall/checkout/steps_controller.rb +22 -12
  19. data/app/controllers/stall/checkouts_controller.rb +1 -0
  20. data/app/controllers/stall/line_items_controller.rb +1 -0
  21. data/app/controllers/stall/payments_controller.rb +16 -1
  22. data/app/helpers/stall/credit_notes_helper.rb +25 -0
  23. data/app/helpers/stall/customers_helper.rb +3 -1
  24. data/app/models/billing_address.rb +2 -0
  25. data/app/models/cart_credit_note_adjustment.rb +3 -0
  26. data/app/models/credit_note.rb +3 -0
  27. data/app/models/credit_note_adjustment.rb +3 -0
  28. data/app/models/credit_note_usage.rb +3 -0
  29. data/app/models/product.rb +3 -0
  30. data/app/models/product_category.rb +3 -0
  31. data/app/models/product_detail.rb +3 -0
  32. data/app/models/property.rb +3 -0
  33. data/app/models/property_value.rb +3 -0
  34. data/app/models/shipping_address.rb +2 -0
  35. data/app/models/stall/models/address.rb +2 -2
  36. data/app/models/stall/models/cart.rb +2 -15
  37. data/app/models/stall/models/cart_credit_note_adjustment.rb +11 -0
  38. data/app/models/stall/models/credit_note.rb +50 -0
  39. data/app/models/stall/models/credit_note_adjustment.rb +13 -0
  40. data/app/models/stall/models/credit_note_usage.rb +16 -0
  41. data/app/models/stall/models/customer.rb +20 -8
  42. data/app/models/stall/models/line_item.rb +9 -0
  43. data/app/models/stall/models/product.rb +45 -0
  44. data/app/models/stall/models/product_category.rb +31 -0
  45. data/app/models/stall/models/product_detail.rb +17 -0
  46. data/app/models/stall/models/product_list.rb +9 -45
  47. data/app/models/stall/models/property.rb +20 -0
  48. data/app/models/stall/models/property_value.rb +23 -0
  49. data/app/models/stall/models/variant.rb +34 -0
  50. data/app/models/stall/models/variant_property_value.rb +18 -0
  51. data/app/models/variant.rb +3 -0
  52. data/app/models/variant_property_value.rb +3 -0
  53. data/app/services/stall/cart_credit_note_creation_service.rb +40 -0
  54. data/app/services/stall/cart_payment_validation_service.rb +28 -0
  55. data/app/services/stall/cart_update_service.rb +17 -6
  56. data/app/services/stall/credit_usage_service.rb +102 -0
  57. data/app/services/stall/payment_notification_service.rb +4 -8
  58. data/app/services/stall/product_list_staleness_handling_service.rb +33 -0
  59. data/app/views/admin/addresses/_fields.html.haml +9 -0
  60. data/app/views/admin/carts/_filters.html.haml +17 -0
  61. data/app/views/admin/carts/_form.html.haml +43 -0
  62. data/app/views/admin/carts/_table.html.haml +17 -0
  63. data/app/views/admin/customers/_fields.html.haml +1 -0
  64. data/app/views/admin/line_items/_fields.html.haml +15 -0
  65. data/app/views/admin/products/_table.html.haml +12 -0
  66. data/app/views/admin/properties/_form.html.haml +6 -0
  67. data/app/views/admin/properties/_table.html.haml +8 -0
  68. data/app/views/admin/property_values/_fields.html.haml +1 -0
  69. data/app/views/admin/shipments/_fields.html.haml +7 -0
  70. data/app/views/checkout/steps/_informations.html.haml +3 -1
  71. data/app/views/checkout/steps/_payment.html.haml +2 -0
  72. data/app/views/checkout/steps/_payment_return.html.haml +0 -1
  73. data/app/views/para/admin/resources/_variant_row.html.haml +24 -0
  74. data/app/views/para/stall/inputs/_variant_select.html.haml +14 -0
  75. data/app/views/para/stall/inputs/_variants_matrix.html.haml +41 -0
  76. data/app/views/stall/addresses/_fields.html.haml +6 -12
  77. data/app/views/stall/carts/_cart.html.haml +45 -37
  78. data/app/views/stall/carts/_widget.html.haml +28 -0
  79. data/app/views/stall/carts/show.html.haml +2 -0
  80. data/app/views/stall/checkout/steps/_navigation.html.haml +13 -0
  81. data/app/views/stall/credit_note_adjustments/_form.html.haml +28 -0
  82. data/app/views/stall/line_items/_added.html.haml +2 -2
  83. data/app/views/stall/line_items/_form.html.haml +1 -1
  84. data/app/views/stall/payments/manual_payment_gateway/_form.html.haml +10 -0
  85. data/app/views/stall/shared/mailers/_cart.html.haml +1 -1
  86. data/config/locales/stall.fr.yml +82 -2
  87. data/db/migrate/20161129101956_add_type_to_stall_address_ownerships.rb +52 -0
  88. data/db/migrate/20161202080218_add_reference_to_product_lists.rb +17 -0
  89. data/db/migrate/20170118103916_create_credit_notes.rb +17 -0
  90. data/db/migrate/20170118144047_create_credit_note_adjustments.rb +13 -0
  91. data/db/migrate/20170123123115_create_stall_product_categories.rb +12 -0
  92. data/db/migrate/20170123123326_create_stall_products.rb +17 -0
  93. data/db/migrate/20170123125030_create_stall_variants.rb +13 -0
  94. data/db/migrate/20170123131748_create_stall_product_category_hierarchies.rb +16 -0
  95. data/db/migrate/20170123143704_create_stall_product_details.rb +14 -0
  96. data/db/migrate/20170125152622_convert_all_money_fields_to_decimal_to_use_infinite_precision.rb +27 -0
  97. data/db/migrate/20170131162537_add_data_to_stall_adjustments.rb +5 -0
  98. data/db/migrate/20170202165514_create_stall_properties.rb +9 -0
  99. data/db/migrate/20170202165516_create_stall_property_values.rb +13 -0
  100. data/db/migrate/20170202165518_create_stall_variant_property_values.rb +13 -0
  101. data/lib/generators/stall/install/templates/initializer.rb +21 -0
  102. data/lib/generators/stall/view/view_generator.rb +41 -19
  103. data/lib/para/stall.rb +32 -0
  104. data/lib/para/stall/inputs.rb +13 -0
  105. data/lib/para/stall/inputs/variant_input_helper.rb +34 -0
  106. data/lib/para/stall/inputs/variant_select_input.rb +79 -0
  107. data/lib/para/stall/inputs/variants_matrix_input.rb +72 -0
  108. data/lib/para/stall/routes.rb +11 -0
  109. data/lib/para/stall/variants_property_config.rb +78 -0
  110. data/lib/stall.rb +10 -0
  111. data/lib/stall/addressable.rb +11 -59
  112. data/lib/stall/addresses.rb +1 -0
  113. data/lib/stall/addresses/copier_base.rb +3 -1
  114. data/lib/stall/addresses/copy.rb +10 -0
  115. data/lib/stall/addresses/copy_source_to_target.rb +10 -24
  116. data/lib/stall/addresses/prefill_target_from_source.rb +8 -16
  117. data/lib/stall/adjustable.rb +20 -0
  118. data/lib/stall/archived_paid_cart_helper.rb +36 -0
  119. data/lib/stall/cart_helper.rb +15 -7
  120. data/lib/stall/checkout/informations_checkout_step.rb +47 -50
  121. data/lib/stall/checkout/payment_return_checkout_step.rb +4 -1
  122. data/lib/stall/checkout/step.rb +24 -3
  123. data/lib/stall/checkout/step_form.rb +11 -5
  124. data/lib/stall/checkout/wizard.rb +7 -6
  125. data/lib/stall/config.rb +9 -0
  126. data/lib/stall/default_currency_manager.rb +27 -0
  127. data/lib/stall/engine.rb +14 -3
  128. data/lib/stall/payments.rb +2 -0
  129. data/lib/stall/payments/gateway_request.rb +15 -0
  130. data/lib/stall/payments/gateway_response.rb +33 -0
  131. data/lib/stall/payments/manual_payment_gateway.rb +86 -0
  132. data/lib/stall/priceable.rb +4 -0
  133. data/lib/stall/reference_manager.rb +17 -0
  134. data/lib/stall/routes.rb +1 -0
  135. data/lib/stall/shippable.rb +18 -0
  136. data/lib/stall/total_prices_manager.rb +40 -0
  137. data/lib/stall/version.rb +1 -1
  138. metadata +120 -5
  139. data/app/models/address_ownership.rb +0 -3
  140. data/app/models/stall/models/address_ownership.rb +0 -26
@@ -3,6 +3,8 @@ module Stall
3
3
  extend ActiveSupport::Autoload
4
4
 
5
5
  autoload :Gateway
6
+ autoload :GatewayRequest
7
+ autoload :GatewayResponse
6
8
  autoload :Config
7
9
  autoload :UrlsConfig
8
10
  autoload :FakeGatewayPaymentNotification
@@ -0,0 +1,15 @@
1
+ module Stall
2
+ module Payments
3
+ class GatewayRequest
4
+ attr_reader :cart
5
+
6
+ def initialize(cart)
7
+ @cart = cart
8
+ end
9
+
10
+ def payment_form_partial_path
11
+ nil
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,33 @@
1
+ module Stall
2
+ module Payments
3
+ class GatewayResponse
4
+ attr_reader :request
5
+
6
+ def initialize(request)
7
+ @request = request
8
+ end
9
+
10
+ def rendering_options
11
+ { nothing: true }
12
+ end
13
+
14
+ def success?
15
+ false
16
+ end
17
+
18
+ def valid?
19
+ false
20
+ end
21
+
22
+ def process
23
+ valid? && success?
24
+ end
25
+
26
+ def cart
27
+ fail NotImplementedError, 'Stall::Payments::GatewayResponse ' \
28
+ 'subclasses should override the #cart method to allow the default ' \
29
+ 'payment processing.'
30
+ end
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,86 @@
1
+ require 'digest'
2
+
3
+ module Stall
4
+ module Payments
5
+ class ManualPaymentGateway < Gateway
6
+ register :manual_payment
7
+
8
+ def self.request(cart)
9
+ Request.new(cart)
10
+ end
11
+
12
+ def self.response(_request)
13
+ Response.new(_request)
14
+ end
15
+
16
+ # Request and Response common helper to calculate a checksum for the
17
+ # given token, reference and timestamp arguments with the Rails secret
18
+ # key base as the secret salt
19
+ #
20
+ module ChecksumCalculator
21
+ def calculate_checksum_for(*arguments)
22
+ arguments << Rails.application.secrets.secret_key_base
23
+ Digest::SHA256.hexdigest(arguments.map(&:to_s).join('|'))
24
+ end
25
+ end
26
+
27
+ class Request < Stall::Payments::GatewayRequest
28
+ include ChecksumCalculator
29
+
30
+ delegate :token, :reference, to: :cart
31
+
32
+ def payment_form_partial_path
33
+ 'stall/payments/manual_payment_gateway/form'
34
+ end
35
+
36
+ def timestamp
37
+ @timestamp ||= (Time.now.to_f * 1000).round.to_s
38
+ end
39
+
40
+ def checksum
41
+ calculate_checksum_for(token, reference, timestamp)
42
+ end
43
+ end
44
+
45
+ class Response < Stall::Payments::GatewayResponse
46
+ include ChecksumCalculator
47
+
48
+ def rendering_options
49
+ redirect_location =
50
+ Stall::Payments::UrlsConfig.new(cart).payment_success_return_url
51
+
52
+ { redirect_location: redirect_location }
53
+ end
54
+
55
+ def success?
56
+ true
57
+ end
58
+
59
+ # To allow manual payment method we verify that the provided checksum
60
+ # corresponds to the one we can calculate with the provided params in
61
+ # the form.
62
+ #
63
+ # This avoids forging a request with `manual_payment` in the URL for
64
+ # a cart which was not set to use this method, thus allowing people
65
+ # to validate orders without paying them.
66
+ #
67
+ def valid?
68
+ calculated_checksum = calculate_checksum_for(
69
+ cart_params[:token], cart_params[:reference], cart_params[:timestamp]
70
+ )
71
+ provided_checksum = cart_params[:checksum]
72
+
73
+ calculated_checksum == provided_checksum
74
+ end
75
+
76
+ def cart
77
+ @cart ||= ProductList.find_by_token(request.params[:cart][:token])
78
+ end
79
+
80
+ def cart_params
81
+ @cart_params ||= request.params[:cart]
82
+ end
83
+ end
84
+ end
85
+ end
86
+ end
@@ -3,5 +3,9 @@ module Stall
3
3
  def vat
4
4
  price - eot_price
5
5
  end
6
+
7
+ def vat_coefficient
8
+ (1 + (vat_rate / 100.0))
9
+ end
6
10
  end
7
11
  end
@@ -0,0 +1,17 @@
1
+ module Stall
2
+ module ReferenceManager
3
+ extend ActiveSupport::Concern
4
+
5
+ included do
6
+ after_save :ensure_reference, on: :create
7
+ end
8
+
9
+ def ensure_reference
10
+ unless reference.present?
11
+ reference = [Time.now.strftime('%Y%m%d'), ('%05d' % id)].join('-')
12
+ self.reference = reference
13
+ save(validate: false) unless new_record?
14
+ end
15
+ end
16
+ end
17
+ end
@@ -11,6 +11,7 @@ module Stall
11
11
  scope mount_location, module: :stall do
12
12
  resources :carts do
13
13
  resources :line_items
14
+ resource :credit, controller: 'cart_credits', only: [:update, :destroy]
14
15
  end
15
16
 
16
17
  get 'checkout/:cart_key' => 'checkouts#show', as: :checkout
@@ -0,0 +1,18 @@
1
+ module Stall
2
+ module Shippable
3
+ extend ActiveSupport::Concern
4
+
5
+ included do
6
+ has_one :shipment, dependent: :destroy, inverse_of: :cart
7
+ accepts_nested_attributes_for :shipment
8
+ end
9
+
10
+ private
11
+
12
+ def items
13
+ super.tap do |items|
14
+ items << shipment if shipment
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,40 @@
1
+ # The TotalPricesManager module allows hadling total prices and VAT totals and
2
+ # managing negative total prices, thus generating a remainder and allowing it
3
+ # to be converted to a credit note later.
4
+ #
5
+ module Stall
6
+ module TotalPricesManager
7
+ extend ActiveSupport::Concern
8
+
9
+ [:price, :eot_price, :vat].each do |method_name|
10
+ define_method(:"original_total_#{ method_name }") do # def original_total_price
11
+ ensure_money(items.map(&method_name).sum) # ensure_money(items.map(&:price).sum)
12
+ end # end
13
+
14
+ define_method(:"total_#{ method_name }") do # def total_price
15
+ original_total = send(:"original_total_#{ method_name }") # original_total = original_total_price
16
+ [original_total, Money.new(0, currency)].max # [original_total, 0].max
17
+ end # end
18
+ end
19
+
20
+ # Returns the balance between the actual total price and the zero-floored
21
+ # total price displayed to the users.
22
+ #
23
+ # This allows for calculating credit notes amount when an order is paid
24
+ # with a negative remainder
25
+ #
26
+ def remainder
27
+ total_price - original_total_price
28
+ end
29
+
30
+ def remainder?
31
+ Stall.config.convert_cart_remainder_to_credit_note && remainder.to_d > 0
32
+ end
33
+
34
+ private
35
+
36
+ def ensure_money(price)
37
+ (Money === price) ? price : Money.new(price, currency)
38
+ end
39
+ end
40
+ end
@@ -1,3 +1,3 @@
1
1
  module Stall
2
- VERSION = "0.2.0"
2
+ VERSION = "0.3.1"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: stall
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - vala
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-11-28 00:00:00.000000000 Z
11
+ date: 2017-02-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -170,6 +170,34 @@ dependencies:
170
170
  - - "~>"
171
171
  - !ruby/object:Gem::Version
172
172
  version: '1.0'
173
+ - !ruby/object:Gem::Dependency
174
+ name: deep_merge
175
+ requirement: !ruby/object:Gem::Requirement
176
+ requirements:
177
+ - - "~>"
178
+ - !ruby/object:Gem::Version
179
+ version: '1.1'
180
+ type: :runtime
181
+ prerelease: false
182
+ version_requirements: !ruby/object:Gem::Requirement
183
+ requirements:
184
+ - - "~>"
185
+ - !ruby/object:Gem::Version
186
+ version: '1.1'
187
+ - !ruby/object:Gem::Dependency
188
+ name: para
189
+ requirement: !ruby/object:Gem::Requirement
190
+ requirements:
191
+ - - ">="
192
+ - !ruby/object:Gem::Version
193
+ version: '0'
194
+ type: :runtime
195
+ prerelease: false
196
+ version_requirements: !ruby/object:Gem::Requirement
197
+ requirements:
198
+ - - ">="
199
+ - !ruby/object:Gem::Version
200
+ version: '0'
173
201
  - !ruby/object:Gem::Dependency
174
202
  name: rspec-rails
175
203
  requirement: !ruby/object:Gem::Requirement
@@ -292,14 +320,25 @@ files:
292
320
  - MIT-LICENSE
293
321
  - README.md
294
322
  - Rakefile
323
+ - app/assets/javascripts/para/stall.coffee
324
+ - app/assets/javascripts/para/stall/inputs/variant-select.coffee
325
+ - app/assets/javascripts/para/stall/inputs/variants-matrix.coffee
326
+ - app/assets/javascripts/para/stall/inputs/variants-matrix/helpers.coffee
327
+ - app/assets/javascripts/para/stall/inputs/variants-matrix/input.coffee
328
+ - app/assets/javascripts/para/stall/inputs/variants-matrix/nested-fields.coffee
329
+ - app/assets/javascripts/para/stall/inputs/variants-matrix/properties_select.coffee
330
+ - app/assets/javascripts/para/stall/inputs/variants-matrix/variant.coffee
295
331
  - app/assets/javascripts/stall.coffee
296
332
  - app/assets/javascripts/stall/add-to-cart-form.coffee
297
333
  - app/assets/javascripts/stall/addresses-fields.coffee
298
334
  - app/assets/javascripts/stall/cart-form.coffee
299
335
  - app/assets/javascripts/stall/remote-sign-in-form.coffee
336
+ - app/assets/stylesheets/para/stall.sass
300
337
  - app/assets/stylesheets/stall/application.css
301
338
  - app/assets/stylesheets/stall/carts.css
339
+ - app/controllers/para/stall/admin/carts_controller.rb
302
340
  - app/controllers/stall/application_controller.rb
341
+ - app/controllers/stall/cart_credits_controller.rb
303
342
  - app/controllers/stall/carts_controller.rb
304
343
  - app/controllers/stall/checkout/steps_controller.rb
305
344
  - app/controllers/stall/checkouts_controller.rb
@@ -308,51 +347,95 @@ files:
308
347
  - app/helpers/stall/add_to_cart_helper.rb
309
348
  - app/helpers/stall/application_helper.rb
310
349
  - app/helpers/stall/checkout_helper.rb
350
+ - app/helpers/stall/credit_notes_helper.rb
311
351
  - app/helpers/stall/customers_helper.rb
312
352
  - app/helpers/stall/payments_helper.rb
313
353
  - app/mailers/stall/admin_mailer.rb
314
354
  - app/mailers/stall/base_mailer.rb
315
355
  - app/mailers/stall/customer_mailer.rb
316
356
  - app/models/address.rb
317
- - app/models/address_ownership.rb
318
357
  - app/models/adjustment.rb
358
+ - app/models/billing_address.rb
319
359
  - app/models/cart.rb
360
+ - app/models/cart_credit_note_adjustment.rb
361
+ - app/models/credit_note.rb
362
+ - app/models/credit_note_adjustment.rb
363
+ - app/models/credit_note_usage.rb
320
364
  - app/models/customer.rb
321
365
  - app/models/line_item.rb
322
366
  - app/models/payment.rb
323
367
  - app/models/payment_method.rb
368
+ - app/models/product.rb
369
+ - app/models/product_category.rb
370
+ - app/models/product_detail.rb
324
371
  - app/models/product_list.rb
372
+ - app/models/property.rb
373
+ - app/models/property_value.rb
325
374
  - app/models/shipment.rb
375
+ - app/models/shipping_address.rb
326
376
  - app/models/shipping_method.rb
327
377
  - app/models/stall/models.rb
328
378
  - app/models/stall/models/address.rb
329
- - app/models/stall/models/address_ownership.rb
330
379
  - app/models/stall/models/adjustment.rb
331
380
  - app/models/stall/models/cart.rb
381
+ - app/models/stall/models/cart_credit_note_adjustment.rb
382
+ - app/models/stall/models/credit_note.rb
383
+ - app/models/stall/models/credit_note_adjustment.rb
384
+ - app/models/stall/models/credit_note_usage.rb
332
385
  - app/models/stall/models/customer.rb
333
386
  - app/models/stall/models/line_item.rb
334
387
  - app/models/stall/models/payment.rb
335
388
  - app/models/stall/models/payment_method.rb
389
+ - app/models/stall/models/product.rb
390
+ - app/models/stall/models/product_category.rb
391
+ - app/models/stall/models/product_detail.rb
336
392
  - app/models/stall/models/product_list.rb
393
+ - app/models/stall/models/property.rb
394
+ - app/models/stall/models/property_value.rb
337
395
  - app/models/stall/models/shipment.rb
338
396
  - app/models/stall/models/shipping_method.rb
397
+ - app/models/stall/models/variant.rb
398
+ - app/models/stall/models/variant_property_value.rb
399
+ - app/models/variant.rb
400
+ - app/models/variant_property_value.rb
339
401
  - app/services/stall/add_to_cart_service.rb
340
402
  - app/services/stall/base_service.rb
403
+ - app/services/stall/cart_credit_note_creation_service.rb
404
+ - app/services/stall/cart_payment_validation_service.rb
341
405
  - app/services/stall/cart_update_service.rb
406
+ - app/services/stall/credit_usage_service.rb
342
407
  - app/services/stall/payment_notification_service.rb
408
+ - app/services/stall/product_list_staleness_handling_service.rb
343
409
  - app/services/stall/shipping_fee_calculator_service.rb
410
+ - app/views/admin/addresses/_fields.html.haml
411
+ - app/views/admin/carts/_filters.html.haml
412
+ - app/views/admin/carts/_form.html.haml
413
+ - app/views/admin/carts/_table.html.haml
414
+ - app/views/admin/customers/_fields.html.haml
415
+ - app/views/admin/line_items/_fields.html.haml
416
+ - app/views/admin/products/_table.html.haml
417
+ - app/views/admin/properties/_form.html.haml
418
+ - app/views/admin/properties/_table.html.haml
419
+ - app/views/admin/property_values/_fields.html.haml
420
+ - app/views/admin/shipments/_fields.html.haml
344
421
  - app/views/checkout/steps/_informations.html.haml
345
422
  - app/views/checkout/steps/_payment.html.haml
346
423
  - app/views/checkout/steps/_payment_method.html.haml
347
424
  - app/views/checkout/steps/_payment_return.html.haml
348
425
  - app/views/checkout/steps/_shipping_method.html.haml
349
426
  - app/views/layouts/stall/application.html.erb
427
+ - app/views/para/admin/resources/_variant_row.html.haml
428
+ - app/views/para/stall/inputs/_variant_select.html.haml
429
+ - app/views/para/stall/inputs/_variants_matrix.html.haml
350
430
  - app/views/stall/addresses/_fields.html.haml
351
431
  - app/views/stall/addresses/_nested_fields.html.haml
352
432
  - app/views/stall/admin_mailer/order_paid_email.html.haml
353
433
  - app/views/stall/carts/_cart.html.haml
434
+ - app/views/stall/carts/_widget.html.haml
354
435
  - app/views/stall/carts/show.html.haml
436
+ - app/views/stall/checkout/steps/_navigation.html.haml
355
437
  - app/views/stall/checkout/steps/show.html.haml
438
+ - app/views/stall/credit_note_adjustments/_form.html.haml
356
439
  - app/views/stall/customer_mailer/order_paid_email.html.haml
357
440
  - app/views/stall/customers/_fields.html.haml
358
441
  - app/views/stall/customers/_sign_in.html.haml
@@ -360,6 +443,7 @@ files:
360
443
  - app/views/stall/line_items/_added.html.haml
361
444
  - app/views/stall/line_items/_form.html.haml
362
445
  - app/views/stall/payments/_fields.html.haml
446
+ - app/views/stall/payments/manual_payment_gateway/_form.html.haml
363
447
  - app/views/stall/shared/mailers/_address.html.haml
364
448
  - app/views/stall/shared/mailers/_cart.html.haml
365
449
  - app/views/stall/shipments/_fields.html.haml
@@ -384,6 +468,20 @@ files:
384
468
  - db/migrate/20160629102943_add_active_to_stall_shipping_methods.rb
385
469
  - db/migrate/20160629104617_add_active_to_stall_payment_methods.rb
386
470
  - db/migrate/20160705110151_add_locale_to_stall_customers.rb
471
+ - db/migrate/20161129101956_add_type_to_stall_address_ownerships.rb
472
+ - db/migrate/20161202080218_add_reference_to_product_lists.rb
473
+ - db/migrate/20170118103916_create_credit_notes.rb
474
+ - db/migrate/20170118144047_create_credit_note_adjustments.rb
475
+ - db/migrate/20170123123115_create_stall_product_categories.rb
476
+ - db/migrate/20170123123326_create_stall_products.rb
477
+ - db/migrate/20170123125030_create_stall_variants.rb
478
+ - db/migrate/20170123131748_create_stall_product_category_hierarchies.rb
479
+ - db/migrate/20170123143704_create_stall_product_details.rb
480
+ - db/migrate/20170125152622_convert_all_money_fields_to_decimal_to_use_infinite_precision.rb
481
+ - db/migrate/20170131162537_add_data_to_stall_adjustments.rb
482
+ - db/migrate/20170202165514_create_stall_properties.rb
483
+ - db/migrate/20170202165516_create_stall_property_values.rb
484
+ - db/migrate/20170202165518_create_stall_variant_property_values.rb
387
485
  - lib/generators/stall/checkout/step/step_generator.rb
388
486
  - lib/generators/stall/checkout/step/templates/step.html.haml.erb
389
487
  - lib/generators/stall/checkout/step/templates/step.rb.erb
@@ -397,12 +495,22 @@ files:
397
495
  - lib/generators/stall/shipping/calculator/calculator_generator.rb
398
496
  - lib/generators/stall/shipping/calculator/templates/calculator.rb.erb
399
497
  - lib/generators/stall/view/view_generator.rb
498
+ - lib/para/stall.rb
499
+ - lib/para/stall/inputs.rb
500
+ - lib/para/stall/inputs/variant_input_helper.rb
501
+ - lib/para/stall/inputs/variant_select_input.rb
502
+ - lib/para/stall/inputs/variants_matrix_input.rb
503
+ - lib/para/stall/routes.rb
504
+ - lib/para/stall/variants_property_config.rb
400
505
  - lib/stall.rb
401
506
  - lib/stall/addressable.rb
402
507
  - lib/stall/addresses.rb
403
508
  - lib/stall/addresses/copier_base.rb
509
+ - lib/stall/addresses/copy.rb
404
510
  - lib/stall/addresses/copy_source_to_target.rb
405
511
  - lib/stall/addresses/prefill_target_from_source.rb
512
+ - lib/stall/adjustable.rb
513
+ - lib/stall/archived_paid_cart_helper.rb
406
514
  - lib/stall/cart_helper.rb
407
515
  - lib/stall/carts_cleaner.rb
408
516
  - lib/stall/checkout.rb
@@ -413,23 +521,30 @@ files:
413
521
  - lib/stall/checkout/step_form.rb
414
522
  - lib/stall/checkout/wizard.rb
415
523
  - lib/stall/config.rb
524
+ - lib/stall/default_currency_manager.rb
416
525
  - lib/stall/engine.rb
417
526
  - lib/stall/payable.rb
418
527
  - lib/stall/payments.rb
419
528
  - lib/stall/payments/config.rb
420
529
  - lib/stall/payments/fake_gateway_payment_notification.rb
421
530
  - lib/stall/payments/gateway.rb
531
+ - lib/stall/payments/gateway_request.rb
532
+ - lib/stall/payments/gateway_response.rb
533
+ - lib/stall/payments/manual_payment_gateway.rb
422
534
  - lib/stall/payments/urls_config.rb
423
535
  - lib/stall/priceable.rb
424
536
  - lib/stall/rails/currency_helper.rb
425
537
  - lib/stall/rails/routing_mapper.rb
538
+ - lib/stall/reference_manager.rb
426
539
  - lib/stall/routes.rb
427
540
  - lib/stall/sellable.rb
541
+ - lib/stall/shippable.rb
428
542
  - lib/stall/shipping.rb
429
543
  - lib/stall/shipping/calculator.rb
430
544
  - lib/stall/shipping/config.rb
431
545
  - lib/stall/shipping/country_weight_table_calculator.rb
432
546
  - lib/stall/shipping/free_shipping_calculator.rb
547
+ - lib/stall/total_prices_manager.rb
433
548
  - lib/stall/utils.rb
434
549
  - lib/stall/utils/config_dsl.rb
435
550
  - lib/stall/version.rb
@@ -454,7 +569,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
454
569
  version: '0'
455
570
  requirements: []
456
571
  rubyforge_project:
457
- rubygems_version: 2.5.1
572
+ rubygems_version: 2.6.8
458
573
  signing_key:
459
574
  specification_version: 4
460
575
  summary: Rails e-commerce framework