stall 0.1.1 → 0.1.2
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.
- checksums.yaml +4 -4
- data/README.md +45 -0
- data/app/assets/javascripts/stall.coffee +2 -0
- data/app/assets/javascripts/stall/cart-form.coffee +23 -0
- data/app/controllers/stall/application_controller.rb +10 -2
- data/app/controllers/stall/carts_controller.rb +31 -10
- data/app/controllers/stall/checkout/steps_controller.rb +36 -4
- data/app/controllers/stall/checkouts_controller.rb +12 -3
- data/app/controllers/stall/line_items_controller.rb +3 -3
- data/app/controllers/stall/payments_controller.rb +5 -3
- data/app/helpers/stall/add_to_cart_helper.rb +1 -1
- data/app/helpers/stall/checkout_helper.rb +22 -2
- data/app/helpers/stall/payments_helper.rb +8 -0
- data/app/mailers/stall/admin_mailer.rb +11 -0
- data/app/mailers/stall/base_mailer.rb +17 -0
- data/app/mailers/stall/customer_mailer.rb +13 -0
- data/app/models/address.rb +3 -0
- data/app/models/address_ownership.rb +3 -0
- data/app/models/adjustment.rb +3 -0
- data/app/models/cart.rb +3 -0
- data/app/models/customer.rb +3 -0
- data/app/models/line_item.rb +3 -0
- data/app/models/payment.rb +3 -0
- data/app/models/payment_method.rb +3 -0
- data/app/models/product_list.rb +3 -0
- data/app/models/shipment.rb +3 -0
- data/app/models/shipping_method.rb +3 -0
- data/app/models/stall/models.rb +4 -0
- data/app/models/stall/models/address.rb +45 -0
- data/app/models/stall/models/address_ownership.rb +26 -0
- data/app/models/stall/models/adjustment.rb +49 -0
- data/app/models/stall/models/cart.rb +37 -0
- data/app/models/stall/models/customer.rb +18 -0
- data/app/models/stall/models/line_item.rb +57 -0
- data/app/models/stall/models/payment.rb +33 -0
- data/app/models/stall/models/payment_method.rb +18 -0
- data/app/models/stall/models/product_list.rb +147 -0
- data/app/models/stall/models/shipment.rb +29 -0
- data/app/models/stall/models/shipping_method.rb +16 -0
- data/app/services/stall/add_to_cart_service.rb +11 -1
- data/app/services/stall/cart_update_service.rb +26 -0
- data/app/services/stall/payment_notification_service.rb +23 -9
- data/app/services/stall/shipping_fee_calculator_service.rb +13 -2
- data/app/views/checkout/steps/_informations.html.haml +3 -3
- data/app/views/checkout/steps/_payment.html.haml +25 -4
- data/app/views/checkout/steps/_payment_method.html.haml +1 -3
- data/app/views/checkout/steps/_payment_return.html.haml +6 -0
- data/app/views/checkout/steps/_shipping_method.html.haml +1 -1
- data/app/views/stall/admin_mailer/order_paid_email.html.haml +4 -0
- data/app/views/stall/carts/show.html.haml +36 -8
- data/app/views/stall/customer_mailer/order_paid_email.html.haml +8 -0
- data/app/views/stall/line_items/_added.html.haml +1 -1
- data/app/views/stall/shared/mailers/_address.html.haml +18 -0
- data/app/views/stall/shared/mailers/_cart.html.haml +114 -0
- data/config/locales/stall.fr.yml +90 -8
- data/db/migrate/20160304134849_change_all_json_columns_to_jsonb.rb +18 -0
- data/db/migrate/20160307142924_add_state_to_stall_addresses.rb +5 -0
- data/db/migrate/20160308142713_create_adjustments.rb +16 -0
- data/db/migrate/20160309165136_add_identifier_to_stall_product_lists.rb +5 -0
- data/db/migrate/20160316114649_add_data_to_stall_shipments.rb +5 -0
- data/db/migrate/20160317141632_add_state_to_stall_shipments.rb +5 -0
- data/db/migrate/20160629102943_add_active_to_stall_shipping_methods.rb +11 -0
- data/db/migrate/20160629104617_add_active_to_stall_payment_methods.rb +11 -0
- data/db/migrate/20160705110151_add_locale_to_stall_customers.rb +5 -0
- data/lib/generators/stall/checkout/step/templates/step.html.haml.erb +1 -1
- data/lib/generators/stall/checkout/step/templates/step.rb.erb +10 -2
- data/lib/generators/stall/checkout/wizard/templates/wizard.rb.erb +1 -1
- data/lib/generators/stall/install/templates/initializer.rb +85 -1
- data/lib/generators/stall/model/model_generator.rb +27 -0
- data/lib/generators/stall/service/service_generator.rb +39 -0
- data/lib/generators/stall/service/templates/service.rb.erb +16 -0
- data/lib/generators/stall/shipping/calculator/calculator_generator.rb +17 -0
- data/lib/generators/stall/shipping/calculator/templates/calculator.rb.erb +29 -0
- data/lib/stall.rb +4 -0
- data/lib/stall/addressable.rb +28 -2
- data/lib/stall/cart_helper.rb +84 -0
- data/lib/stall/carts_cleaner.rb +46 -0
- data/lib/stall/checkout.rb +2 -0
- data/lib/stall/checkout/informations_checkout_step.rb +3 -5
- data/lib/stall/checkout/payment_checkout_step.rb +3 -0
- data/lib/stall/checkout/payment_return_checkout_step.rb +11 -0
- data/lib/stall/checkout/shipping_method_checkout_step.rb +2 -1
- data/lib/stall/checkout/step.rb +47 -11
- data/lib/stall/checkout/step_form.rb +71 -0
- data/lib/stall/checkout/wizard.rb +15 -5
- data/lib/stall/config.rb +51 -0
- data/lib/stall/engine.rb +24 -2
- data/lib/stall/payable.rb +26 -0
- data/lib/stall/payments.rb +7 -3
- data/lib/stall/payments/config.rb +37 -0
- data/lib/stall/payments/fake_gateway_payment_notification.rb +34 -0
- data/lib/stall/payments/gateway.rb +19 -12
- data/lib/stall/payments/urls_config.rb +40 -0
- data/lib/stall/priceable.rb +7 -0
- data/lib/stall/rails/currency_helper.rb +1 -1
- data/lib/stall/routes.rb +17 -4
- data/lib/stall/sellable.rb +1 -2
- data/lib/stall/shipping.rb +3 -1
- data/lib/stall/shipping/calculator.rb +36 -3
- data/lib/stall/shipping/config.rb +17 -3
- data/lib/stall/shipping/country_weight_table_calculator.rb +1 -1
- data/lib/stall/shipping/free_shipping_calculator.rb +1 -1
- data/lib/stall/utils.rb +2 -2
- data/lib/stall/utils/config_dsl.rb +5 -1
- data/lib/stall/version.rb +1 -1
- data/lib/tasks/stall_tasks.rake +11 -0
- metadata +73 -15
- data/app/assets/javascripts/stall/application.js +0 -13
- data/app/assets/javascripts/stall/carts.js +0 -2
- data/app/helpers/stall/cart_helper.rb +0 -28
- data/app/models/stall/address.rb +0 -5
- data/app/models/stall/address_ownership.rb +0 -8
- data/app/models/stall/cart.rb +0 -31
- data/app/models/stall/customer.rb +0 -8
- data/app/models/stall/line_item.rb +0 -49
- data/app/models/stall/payment.rb +0 -14
- data/app/models/stall/payment_method.rb +0 -7
- data/app/models/stall/product_list.rb +0 -68
- data/app/models/stall/shipment.rb +0 -15
- data/app/models/stall/shipping_method.rb +0 -5
data/app/models/stall/payment.rb
DELETED
@@ -1,14 +0,0 @@
|
|
1
|
-
module Stall
|
2
|
-
class Payment < ActiveRecord::Base
|
3
|
-
store_accessor :data, :transaction_id
|
4
|
-
|
5
|
-
belongs_to :payment_method
|
6
|
-
belongs_to :cart
|
7
|
-
|
8
|
-
validates :cart, :payment_method, presence: true
|
9
|
-
|
10
|
-
def pay!
|
11
|
-
update_attributes!(paid_at: Time.now)
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|
@@ -1,68 +0,0 @@
|
|
1
|
-
module Stall
|
2
|
-
class ProductList < ActiveRecord::Base
|
3
|
-
has_secure_token
|
4
|
-
|
5
|
-
has_many :line_items, dependent: :destroy
|
6
|
-
accepts_nested_attributes_for :line_items
|
7
|
-
|
8
|
-
belongs_to :customer, class_name: 'Stall::Customer'
|
9
|
-
accepts_nested_attributes_for :customer
|
10
|
-
|
11
|
-
validates :type, presence: true
|
12
|
-
|
13
|
-
after_initialize :ensure_currency
|
14
|
-
after_initialize :ensure_state
|
15
|
-
|
16
|
-
def state
|
17
|
-
read_attribute(:state).try(:to_sym)
|
18
|
-
end
|
19
|
-
|
20
|
-
def reset_state!
|
21
|
-
update_column(:state, wizard.steps.first)
|
22
|
-
end
|
23
|
-
|
24
|
-
def to_param
|
25
|
-
token
|
26
|
-
end
|
27
|
-
|
28
|
-
def total_price
|
29
|
-
line_items.map(&:price).sum
|
30
|
-
end
|
31
|
-
|
32
|
-
def total_eot_price
|
33
|
-
line_items.map(&:eot_price).sum
|
34
|
-
end
|
35
|
-
|
36
|
-
def total_vat
|
37
|
-
line_items.map(&:vat).sum
|
38
|
-
end
|
39
|
-
|
40
|
-
def total_quantity
|
41
|
-
line_items.map(&:quantity).sum
|
42
|
-
end
|
43
|
-
|
44
|
-
def wizard
|
45
|
-
@wizard ||= begin
|
46
|
-
wizard_name = Stall.config.default_checkout_wizard
|
47
|
-
|
48
|
-
if (wizard = Stall::Utils.try_load_constant(wizard_name))
|
49
|
-
wizard
|
50
|
-
else
|
51
|
-
raise Stall::Checkout::WizardNotFoundError.new,
|
52
|
-
"The checkout wizard #{ wizard_name } was not found. You must generate it " +
|
53
|
-
"with `rails g stall:wizard #{ wizard_name.underscore.gsub('_checkout_wizard', '') }`"
|
54
|
-
end
|
55
|
-
end
|
56
|
-
end
|
57
|
-
|
58
|
-
private
|
59
|
-
|
60
|
-
def ensure_currency
|
61
|
-
self.currency ||= Money.default_currency
|
62
|
-
end
|
63
|
-
|
64
|
-
def ensure_state
|
65
|
-
self.state ||= wizard.steps.first
|
66
|
-
end
|
67
|
-
end
|
68
|
-
end
|
@@ -1,15 +0,0 @@
|
|
1
|
-
module Stall
|
2
|
-
class Shipment < ActiveRecord::Base
|
3
|
-
belongs_to :cart
|
4
|
-
belongs_to :shipping_method
|
5
|
-
|
6
|
-
monetize :eot_price_cents, :price_cents,
|
7
|
-
with_model_currency: :currency, allow_nil: true
|
8
|
-
|
9
|
-
validates :cart, :shipping_method, presence: true
|
10
|
-
|
11
|
-
def currency
|
12
|
-
cart.try(:currency) || Money.default_currency
|
13
|
-
end
|
14
|
-
end
|
15
|
-
end
|