stall 0.2.0 → 0.3.1

Sign up to get free protection for your applications and to get access to all the features.
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