solidus_subscriptions-alpha 0.0.3 → 0.0.4
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/LICENSE +26 -26
- data/README.md +130 -130
- data/Rakefile +28 -28
- data/app/assets/javascripts/spree/backend/solidus_subscriptions.js +1 -1
- data/app/assets/javascripts/spree/frontend/solidus_subscriptions.js +1 -1
- data/app/assets/stylesheets/spree/backend/solidus_subscriptions.css +4 -4
- data/app/assets/stylesheets/spree/frontend/solidus_subscriptions.css +4 -4
- data/app/controllers/solidus_subscriptions/api/v1/line_items_controller.rb +35 -35
- data/app/controllers/solidus_subscriptions/api/v1/subscriptions_controller.rb +44 -44
- data/app/controllers/spree/admin/subscriptions_controller.rb +66 -66
- data/app/decorators/spree/controllers/api/line_items/create_subscription_line_items.rb +28 -28
- data/app/decorators/spree/controllers/orders/create_subscription_line_items.rb +33 -33
- data/app/decorators/spree/line_items/subscription_line_items_association.rb +22 -22
- data/app/decorators/spree/orders/after_create.rb +15 -15
- data/app/decorators/spree/orders/finalize_creates_subscriptions.rb +19 -19
- data/app/decorators/spree/orders/subscription_line_items_association.rb +15 -15
- data/app/decorators/spree/products/subscribable_decorator.rb +11 -11
- data/app/decorators/spree/users/have_many_subscriptions.rb +18 -18
- data/app/decorators/spree/variant_pretty_name.rb +13 -13
- data/app/jobs/solidus_subscriptions/process_installments_job.rb +22 -22
- data/app/models/solidus_subscriptions/checkout.rb +141 -141
- data/app/models/solidus_subscriptions/dispatcher.rb +32 -32
- data/app/models/solidus_subscriptions/failure_dispatcher.rb +19 -19
- data/app/models/solidus_subscriptions/installment.rb +126 -126
- data/app/models/solidus_subscriptions/installment_detail.rb +23 -23
- data/app/models/solidus_subscriptions/interval.rb +24 -24
- data/app/models/solidus_subscriptions/line_item.rb +98 -98
- data/app/models/solidus_subscriptions/line_item_builder.rb +44 -44
- data/app/models/solidus_subscriptions/order_builder.rb +40 -40
- data/app/models/solidus_subscriptions/out_of_stock_dispatcher.rb +19 -19
- data/app/models/solidus_subscriptions/payment_failed_dispatcher.rb +23 -23
- data/app/models/solidus_subscriptions/subscription.rb +217 -217
- data/app/models/solidus_subscriptions/subscription_generator.rb +60 -60
- data/app/models/solidus_subscriptions/subscription_line_item_builder.rb +21 -21
- data/app/models/solidus_subscriptions/subscription_order_promotion_rule.rb +25 -25
- data/app/models/solidus_subscriptions/subscription_promotion_rule.rb +38 -38
- data/app/models/solidus_subscriptions/success_dispatcher.rb +16 -16
- data/app/models/solidus_subscriptions/unsubscribable_error.rb +17 -17
- data/app/models/solidus_subscriptions/user_mismatch_error.rb +15 -15
- data/app/overrides/views/admin_subscribable_checkbox.rb +13 -13
- data/app/overrides/views/admin_subscriptions_menu_link.rb +8 -8
- data/app/overrides/views/subscription_line_item_fields.rb +6 -6
- data/app/views/spree/admin/products/_subscribable_checkbox.html.erb +8 -8
- data/app/views/spree/admin/promotions/rules/_subscription_order_promotion_rule.html.erb +0 -0
- data/app/views/spree/admin/promotions/rules/_subscription_promotion_rule.html.erb +0 -0
- data/app/views/spree/admin/shared/_no_objects_found.html.erb +4 -4
- data/app/views/spree/admin/shared/_subscription_tab.html.erb +3 -3
- data/app/views/spree/admin/solidus_subscriptions/subscriptions/_subscription.html.erb +66 -66
- data/app/views/spree/admin/subscriptions/_form.html.erb +81 -81
- data/app/views/spree/admin/subscriptions/_legacy_form.html.erb +81 -81
- data/app/views/spree/admin/subscriptions/_legacy_sidebar.html.erb +28 -28
- data/app/views/spree/admin/subscriptions/edit.html.erb +21 -21
- data/app/views/spree/admin/subscriptions/index.html.erb +119 -119
- data/app/views/spree/admin/subscriptions/new.html.erb +9 -9
- data/app/views/spree/admin/variants/_subscribable_checkbox.html.erb +6 -6
- data/app/views/spree/frontend/products/_subscription_line_item_fields.html.erb +30 -30
- data/config/locales/en.yml +91 -91
- data/config/routes.rb +25 -25
- data/db/migrate/20160825164850_create_solidus_subscriptions_subscriptions.rb +11 -11
- data/db/migrate/20160825173548_create_solidus_subscriptions_line_items.rb +17 -17
- data/db/migrate/20160825202248_create_solidus_subscriptions_installments.rb +23 -23
- data/db/migrate/20160825211202_create_solidus_subscriptions_installment_details.rb +22 -22
- data/db/migrate/20160825214240_add_subscribable_to_spree_variants.rb +5 -5
- data/db/migrate/20160829201653_change_subscription_line_items_installments_to_max_installments.rb +5 -5
- data/db/migrate/20160902220242_remove_state_from_solidus_susbscriptions_installment_details.rb +5 -5
- data/db/migrate/20160902220604_add_successful_to_solidus_subscriptions_installment_details.rb +5 -5
- data/db/migrate/20160902221218_add_message_to_solidus_subscriptions_installment_details.rb +5 -5
- data/db/migrate/20160922164101_add_interval_length_and_units_to_subscription_line_items.rb +8 -8
- data/db/migrate/20161006191003_add_skip_count_to_solidus_subscriptions_subscriptions.rb +5 -5
- data/db/migrate/20161006191127_add_successive_skip_count_to_solidus_subscriptions_subscriptions.rb +5 -5
- data/db/migrate/20161014212649_allow_spree_line_item_id_to_be_null.rb +5 -5
- data/db/migrate/20161017155749_add_order_id_to_solidus_subscriptions_installment_details.rb +6 -6
- data/db/migrate/20161017175509_remove_order_id_from_solidus_subscriptions_installments.rb +6 -6
- data/db/migrate/20161017201944_add_subscription_order_to_spree_orders.rb +5 -5
- data/db/migrate/20161221155142_add_store_to_solidus_subscriptions_subscriptions.rb +6 -6
- data/db/migrate/20161223152905_add_address_id_to_solidus_subscriptions_subscriptions.rb +7 -7
- data/db/migrate/20170106224713_change_line_item_max_installments_to_end_date.rb +6 -6
- data/db/migrate/20170111224458_change_subscription_actionable_date_to_datetime.rb +5 -5
- data/db/migrate/20170111232801_change_inteval_actionable_date_to_datetime.rb +5 -5
- data/db/migrate/20170112012407_add_config_options_to_subscriptions.rb +7 -7
- data/lib/generators/solidus_subscriptions/install/install_generator.rb +30 -30
- data/lib/solidus_subscriptions.rb +6 -6
- data/lib/solidus_subscriptions/ability.rb +19 -19
- data/lib/solidus_subscriptions/config.rb +97 -97
- data/lib/solidus_subscriptions/engine.rb +56 -56
- data/lib/solidus_subscriptions/permitted_attributes.rb +36 -36
- data/lib/solidus_subscriptions/processor.rb +108 -108
- data/lib/solidus_subscriptions/testing_support/factories.rb +5 -5
- data/lib/solidus_subscriptions/testing_support/factories/installment_detail_factory.rb +7 -7
- data/lib/solidus_subscriptions/testing_support/factories/installment_factory.rb +21 -21
- data/lib/solidus_subscriptions/testing_support/factories/line_item_factory.rb +18 -18
- data/lib/solidus_subscriptions/testing_support/factories/spree/line_item_factory.rb +17 -17
- data/lib/solidus_subscriptions/testing_support/factories/spree/order_factory.rb +18 -18
- data/lib/solidus_subscriptions/testing_support/factories/spree_modification_factory.rb +8 -8
- data/lib/solidus_subscriptions/testing_support/factories/subscription_factory.rb +43 -43
- data/lib/solidus_subscriptions/version.rb +3 -3
- data/lib/tasks/process_subscriptions.rake +6 -6
- metadata +3 -3
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
<% content_for(:page_title) { t('.title') } %>
|
|
2
|
-
|
|
3
|
-
<% content_for :page_actions do %>
|
|
4
|
-
<li><%= button_link_to t('.back'), admin_subscriptions_path %></li>
|
|
5
|
-
<% end %>
|
|
6
|
-
|
|
7
|
-
<%= form_for @subscription, url: spree.admin_subscriptions_url, class: "row" do |f| %>
|
|
8
|
-
<%= render "form", f: f, new: true %>
|
|
9
|
-
<% end %>
|
|
1
|
+
<% content_for(:page_title) { t('.title') } %>
|
|
2
|
+
|
|
3
|
+
<% content_for :page_actions do %>
|
|
4
|
+
<li><%= button_link_to t('.back'), admin_subscriptions_path %></li>
|
|
5
|
+
<% end %>
|
|
6
|
+
|
|
7
|
+
<%= form_for @subscription, url: spree.admin_subscriptions_url, class: "row" do |f| %>
|
|
8
|
+
<%= render "form", f: f, new: true %>
|
|
9
|
+
<% end %>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
<div class="field four columns checkbox" data-hook="subscribable">
|
|
2
|
-
<%= f.label :subscribable do %>
|
|
3
|
-
<%= f.check_box :subscribable %>
|
|
4
|
-
<%= Spree::Variant.human_attribute_name(:subscribable) %>
|
|
5
|
-
<% end %>
|
|
6
|
-
</div>
|
|
1
|
+
<div class="field four columns checkbox" data-hook="subscribable">
|
|
2
|
+
<%= f.label :subscribable do %>
|
|
3
|
+
<%= f.check_box :subscribable %>
|
|
4
|
+
<%= Spree::Variant.human_attribute_name(:subscribable) %>
|
|
5
|
+
<% end %>
|
|
6
|
+
</div>
|
|
@@ -1,30 +1,30 @@
|
|
|
1
|
-
<%= content_tag :h3, t('.subscription_fields') %>
|
|
2
|
-
<%= fields_for :'subscription_line_item', SolidusSubscriptions::LineItem.new do |ff| %>
|
|
3
|
-
<div>
|
|
4
|
-
<%= ff.label :quantity, t('.quantity') %>
|
|
5
|
-
<%= ff.number_field :quantity %>
|
|
6
|
-
<%= ff.label :quantity, t('.quantity_suffix') %>
|
|
7
|
-
</div>
|
|
8
|
-
|
|
9
|
-
<div>
|
|
10
|
-
<%= ff.label :interval_length, t('.interval_length') %>
|
|
11
|
-
<%= ff.number_field :interval_length %>
|
|
12
|
-
|
|
13
|
-
<%= ff.collection_radio_buttons :interval_units, SolidusSubscriptions::LineItem.interval_units.to_a, :first, :first %>
|
|
14
|
-
</div>
|
|
15
|
-
|
|
16
|
-
<%= ff.hidden_field :subscribable_id %>
|
|
17
|
-
<% end %>
|
|
18
|
-
|
|
19
|
-
<script>
|
|
20
|
-
document.addEventListener("DOMContentLoaded", function(e) {
|
|
21
|
-
var cartForm = document.querySelector('#cart-form form');
|
|
22
|
-
cartForm.addEventListener('submit', function(e) {
|
|
23
|
-
var quantityInput = e.target.querySelector('[name*="quantity"]');
|
|
24
|
-
var subscriptionQuantityInput = e.target.querySelector('[name*="subscribable_id"]');
|
|
25
|
-
|
|
26
|
-
subscriptionQuantityInput.value = quantityInput.value;
|
|
27
|
-
return true;
|
|
28
|
-
});
|
|
29
|
-
});
|
|
30
|
-
</script>
|
|
1
|
+
<%= content_tag :h3, t('.subscription_fields') %>
|
|
2
|
+
<%= fields_for :'subscription_line_item', SolidusSubscriptions::LineItem.new do |ff| %>
|
|
3
|
+
<div>
|
|
4
|
+
<%= ff.label :quantity, t('.quantity') %>
|
|
5
|
+
<%= ff.number_field :quantity %>
|
|
6
|
+
<%= ff.label :quantity, t('.quantity_suffix') %>
|
|
7
|
+
</div>
|
|
8
|
+
|
|
9
|
+
<div>
|
|
10
|
+
<%= ff.label :interval_length, t('.interval_length') %>
|
|
11
|
+
<%= ff.number_field :interval_length %>
|
|
12
|
+
|
|
13
|
+
<%= ff.collection_radio_buttons :interval_units, SolidusSubscriptions::LineItem.interval_units.to_a, :first, :first %>
|
|
14
|
+
</div>
|
|
15
|
+
|
|
16
|
+
<%= ff.hidden_field :subscribable_id %>
|
|
17
|
+
<% end %>
|
|
18
|
+
|
|
19
|
+
<script>
|
|
20
|
+
document.addEventListener("DOMContentLoaded", function(e) {
|
|
21
|
+
var cartForm = document.querySelector('#cart-form form');
|
|
22
|
+
cartForm.addEventListener('submit', function(e) {
|
|
23
|
+
var quantityInput = e.target.querySelector('[name*="quantity"]');
|
|
24
|
+
var subscriptionQuantityInput = e.target.querySelector('[name*="subscribable_id"]');
|
|
25
|
+
|
|
26
|
+
subscriptionQuantityInput.value = quantityInput.value;
|
|
27
|
+
return true;
|
|
28
|
+
});
|
|
29
|
+
});
|
|
30
|
+
</script>
|
data/config/locales/en.yml
CHANGED
|
@@ -1,91 +1,91 @@
|
|
|
1
|
-
# Sample localization file for English. Add more files in this directory for other locales.
|
|
2
|
-
# See https://github.com/svenfuchs/rails-i18n/tree/master/rails%2Flocale for starting points.
|
|
3
|
-
|
|
4
|
-
en:
|
|
5
|
-
time:
|
|
6
|
-
formats:
|
|
7
|
-
human:
|
|
8
|
-
solidus_subscriptions:
|
|
9
|
-
subscription:
|
|
10
|
-
actionable_date: "Actionable Date"
|
|
11
|
-
installment_details:
|
|
12
|
-
out_of_stock: >
|
|
13
|
-
This installment could not be processed because of insufficient
|
|
14
|
-
stock.
|
|
15
|
-
success: This installment has been processed successfully!
|
|
16
|
-
failed: This installment could not be processed
|
|
17
|
-
payment_failed: The payment for this installment failed
|
|
18
|
-
|
|
19
|
-
spree:
|
|
20
|
-
new_subscription: New Subscription
|
|
21
|
-
admin:
|
|
22
|
-
solidus_subscriptions:
|
|
23
|
-
subscriptions:
|
|
24
|
-
subscription:
|
|
25
|
-
cancel: Cancel
|
|
26
|
-
cancel_alert: "Are you sure you want to cancel this subscription?"
|
|
27
|
-
activate: Activate
|
|
28
|
-
skip: Skip One
|
|
29
|
-
|
|
30
|
-
subscriptions:
|
|
31
|
-
successfully_canceled: Subsciption Canceled!
|
|
32
|
-
successfully_activated: Subsciption Activated!
|
|
33
|
-
successfully_skipped: Subsciption delayed until %{date}
|
|
34
|
-
index:
|
|
35
|
-
new_subscription: New Subscription
|
|
36
|
-
edit:
|
|
37
|
-
back: Back to Subscriptions List
|
|
38
|
-
title: Edit a Susbcription
|
|
39
|
-
customer: Customer
|
|
40
|
-
status: Status
|
|
41
|
-
fulfillment_status: Fulfillment Status
|
|
42
|
-
revenue: Revenue
|
|
43
|
-
interval: Interval
|
|
44
|
-
new:
|
|
45
|
-
back: Back to Subscriptions List
|
|
46
|
-
title: Create a Susbcription
|
|
47
|
-
form:
|
|
48
|
-
subscription: Subscription
|
|
49
|
-
subscription_line_item: Subscription Line Item
|
|
50
|
-
tab:
|
|
51
|
-
subscriptions: Subscriptions
|
|
52
|
-
promotion_rule_types:
|
|
53
|
-
subscription_promotion_rule:
|
|
54
|
-
name: Subscription
|
|
55
|
-
description: Order contains a subscription
|
|
56
|
-
subscription_order_promotion_rule:
|
|
57
|
-
name: Subscription Order
|
|
58
|
-
description: Order fulfills a subscription
|
|
59
|
-
|
|
60
|
-
products:
|
|
61
|
-
cart_form:
|
|
62
|
-
quantity: I want
|
|
63
|
-
quantity_suffix: items
|
|
64
|
-
interval_length: every
|
|
65
|
-
subscription_fields: Subscription Settings
|
|
66
|
-
|
|
67
|
-
activerecord:
|
|
68
|
-
attributes:
|
|
69
|
-
solidus_subscriptions/line_item/interval_units:
|
|
70
|
-
day: Days
|
|
71
|
-
week: Weeks
|
|
72
|
-
month: Months
|
|
73
|
-
year: Years
|
|
74
|
-
solidus_subscriptions/subscription/processing_state:
|
|
75
|
-
pending: new
|
|
76
|
-
success: success
|
|
77
|
-
failed: failure
|
|
78
|
-
|
|
79
|
-
errors:
|
|
80
|
-
models:
|
|
81
|
-
solidus_subscriptions/subscription:
|
|
82
|
-
attributes:
|
|
83
|
-
successive_skip_count:
|
|
84
|
-
exceeded: >
|
|
85
|
-
This subscription has exceeded the maximum configured successive
|
|
86
|
-
skip limit. It can be skipped again after the next time it is
|
|
87
|
-
processed.
|
|
88
|
-
skip_count:
|
|
89
|
-
exceeded: >
|
|
90
|
-
This subscription has exceeded the maximum configured skip
|
|
91
|
-
limit. It can no longer be skipped.
|
|
1
|
+
# Sample localization file for English. Add more files in this directory for other locales.
|
|
2
|
+
# See https://github.com/svenfuchs/rails-i18n/tree/master/rails%2Flocale for starting points.
|
|
3
|
+
|
|
4
|
+
en:
|
|
5
|
+
time:
|
|
6
|
+
formats:
|
|
7
|
+
human:
|
|
8
|
+
solidus_subscriptions:
|
|
9
|
+
subscription:
|
|
10
|
+
actionable_date: "Actionable Date"
|
|
11
|
+
installment_details:
|
|
12
|
+
out_of_stock: >
|
|
13
|
+
This installment could not be processed because of insufficient
|
|
14
|
+
stock.
|
|
15
|
+
success: This installment has been processed successfully!
|
|
16
|
+
failed: This installment could not be processed
|
|
17
|
+
payment_failed: The payment for this installment failed
|
|
18
|
+
|
|
19
|
+
spree:
|
|
20
|
+
new_subscription: New Subscription
|
|
21
|
+
admin:
|
|
22
|
+
solidus_subscriptions:
|
|
23
|
+
subscriptions:
|
|
24
|
+
subscription:
|
|
25
|
+
cancel: Cancel
|
|
26
|
+
cancel_alert: "Are you sure you want to cancel this subscription?"
|
|
27
|
+
activate: Activate
|
|
28
|
+
skip: Skip One
|
|
29
|
+
|
|
30
|
+
subscriptions:
|
|
31
|
+
successfully_canceled: Subsciption Canceled!
|
|
32
|
+
successfully_activated: Subsciption Activated!
|
|
33
|
+
successfully_skipped: Subsciption delayed until %{date}
|
|
34
|
+
index:
|
|
35
|
+
new_subscription: New Subscription
|
|
36
|
+
edit:
|
|
37
|
+
back: Back to Subscriptions List
|
|
38
|
+
title: Edit a Susbcription
|
|
39
|
+
customer: Customer
|
|
40
|
+
status: Status
|
|
41
|
+
fulfillment_status: Fulfillment Status
|
|
42
|
+
revenue: Revenue
|
|
43
|
+
interval: Interval
|
|
44
|
+
new:
|
|
45
|
+
back: Back to Subscriptions List
|
|
46
|
+
title: Create a Susbcription
|
|
47
|
+
form:
|
|
48
|
+
subscription: Subscription
|
|
49
|
+
subscription_line_item: Subscription Line Item
|
|
50
|
+
tab:
|
|
51
|
+
subscriptions: Subscriptions
|
|
52
|
+
promotion_rule_types:
|
|
53
|
+
subscription_promotion_rule:
|
|
54
|
+
name: Subscription
|
|
55
|
+
description: Order contains a subscription
|
|
56
|
+
subscription_order_promotion_rule:
|
|
57
|
+
name: Subscription Order
|
|
58
|
+
description: Order fulfills a subscription
|
|
59
|
+
|
|
60
|
+
products:
|
|
61
|
+
cart_form:
|
|
62
|
+
quantity: I want
|
|
63
|
+
quantity_suffix: items
|
|
64
|
+
interval_length: every
|
|
65
|
+
subscription_fields: Subscription Settings
|
|
66
|
+
|
|
67
|
+
activerecord:
|
|
68
|
+
attributes:
|
|
69
|
+
solidus_subscriptions/line_item/interval_units:
|
|
70
|
+
day: Days
|
|
71
|
+
week: Weeks
|
|
72
|
+
month: Months
|
|
73
|
+
year: Years
|
|
74
|
+
solidus_subscriptions/subscription/processing_state:
|
|
75
|
+
pending: new
|
|
76
|
+
success: success
|
|
77
|
+
failed: failure
|
|
78
|
+
|
|
79
|
+
errors:
|
|
80
|
+
models:
|
|
81
|
+
solidus_subscriptions/subscription:
|
|
82
|
+
attributes:
|
|
83
|
+
successive_skip_count:
|
|
84
|
+
exceeded: >
|
|
85
|
+
This subscription has exceeded the maximum configured successive
|
|
86
|
+
skip limit. It can be skipped again after the next time it is
|
|
87
|
+
processed.
|
|
88
|
+
skip_count:
|
|
89
|
+
exceeded: >
|
|
90
|
+
This subscription has exceeded the maximum configured skip
|
|
91
|
+
limit. It can no longer be skipped.
|
data/config/routes.rb
CHANGED
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
SolidusSubscriptions::Engine.routes.draw do
|
|
2
|
-
namespace :api do
|
|
3
|
-
namespace :v1 do
|
|
4
|
-
resources :line_items, only: [:update, :destroy]
|
|
5
|
-
resources :subscriptions, only: [:update] do
|
|
6
|
-
member do
|
|
7
|
-
post :cancel
|
|
8
|
-
post :skip
|
|
9
|
-
end
|
|
10
|
-
end
|
|
11
|
-
end
|
|
12
|
-
end
|
|
13
|
-
end
|
|
14
|
-
|
|
15
|
-
Spree::Core::Engine.routes.draw do
|
|
16
|
-
mount SolidusSubscriptions::Engine, at: '/subscriptions'
|
|
17
|
-
|
|
18
|
-
namespace :admin do
|
|
19
|
-
resources :subscriptions, only: [:index, :new, :create, :edit, :update] do
|
|
20
|
-
delete :cancel, on: :member
|
|
21
|
-
post :activate, on: :member
|
|
22
|
-
post :skip, on: :member
|
|
23
|
-
end
|
|
24
|
-
end
|
|
25
|
-
end
|
|
1
|
+
SolidusSubscriptions::Engine.routes.draw do
|
|
2
|
+
namespace :api do
|
|
3
|
+
namespace :v1 do
|
|
4
|
+
resources :line_items, only: [:update, :destroy]
|
|
5
|
+
resources :subscriptions, only: [:update] do
|
|
6
|
+
member do
|
|
7
|
+
post :cancel
|
|
8
|
+
post :skip
|
|
9
|
+
end
|
|
10
|
+
end
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
Spree::Core::Engine.routes.draw do
|
|
16
|
+
mount SolidusSubscriptions::Engine, at: '/subscriptions'
|
|
17
|
+
|
|
18
|
+
namespace :admin do
|
|
19
|
+
resources :subscriptions, only: [:index, :new, :create, :edit, :update] do
|
|
20
|
+
delete :cancel, on: :member
|
|
21
|
+
post :activate, on: :member
|
|
22
|
+
post :skip, on: :member
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
class CreateSolidusSubscriptionsSubscriptions < SolidusSupport::Migration[4.2]
|
|
2
|
-
def change
|
|
3
|
-
create_table :solidus_subscriptions_subscriptions do |t|
|
|
4
|
-
t.date :actionable_date
|
|
5
|
-
t.string :state
|
|
6
|
-
t.integer :user_id, index: true
|
|
7
|
-
|
|
8
|
-
t.timestamps null: false
|
|
9
|
-
end
|
|
10
|
-
end
|
|
11
|
-
end
|
|
1
|
+
class CreateSolidusSubscriptionsSubscriptions < SolidusSupport::Migration[4.2]
|
|
2
|
+
def change
|
|
3
|
+
create_table :solidus_subscriptions_subscriptions do |t|
|
|
4
|
+
t.date :actionable_date
|
|
5
|
+
t.string :state
|
|
6
|
+
t.integer :user_id, index: true
|
|
7
|
+
|
|
8
|
+
t.timestamps null: false
|
|
9
|
+
end
|
|
10
|
+
end
|
|
11
|
+
end
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
class CreateSolidusSubscriptionsLineItems < SolidusSupport::Migration[4.2]
|
|
2
|
-
def change
|
|
3
|
-
create_table :solidus_subscriptions_line_items do |t|
|
|
4
|
-
t.references :spree_line_item, index: true, foreign_key: true, null: false
|
|
5
|
-
t.references :subscription, index: true
|
|
6
|
-
t.integer :quantity, null: false
|
|
7
|
-
t.integer :interval, null: false
|
|
8
|
-
t.integer :installments
|
|
9
|
-
t.integer :subscribable_id, index: true, null: false
|
|
10
|
-
|
|
11
|
-
t.timestamps null: false
|
|
12
|
-
end
|
|
13
|
-
|
|
14
|
-
add_index :solidus_subscriptions_line_items, :subscription_id, name: :index_line_items_on_subscription_id
|
|
15
|
-
add_foreign_key :solidus_subscriptions_line_items, :solidus_subscriptions_subscriptions, column: :subscription_id
|
|
16
|
-
end
|
|
17
|
-
end
|
|
1
|
+
class CreateSolidusSubscriptionsLineItems < SolidusSupport::Migration[4.2]
|
|
2
|
+
def change
|
|
3
|
+
create_table :solidus_subscriptions_line_items do |t|
|
|
4
|
+
t.references :spree_line_item, index: true, foreign_key: true, null: false
|
|
5
|
+
t.references :subscription, index: true
|
|
6
|
+
t.integer :quantity, null: false
|
|
7
|
+
t.integer :interval, null: false
|
|
8
|
+
t.integer :installments
|
|
9
|
+
t.integer :subscribable_id, index: true, null: false
|
|
10
|
+
|
|
11
|
+
t.timestamps null: false
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
add_index :solidus_subscriptions_line_items, :subscription_id, name: :index_line_items_on_subscription_id
|
|
15
|
+
add_foreign_key :solidus_subscriptions_line_items, :solidus_subscriptions_subscriptions, column: :subscription_id
|
|
16
|
+
end
|
|
17
|
+
end
|
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
class CreateSolidusSubscriptionsInstallments < SolidusSupport::Migration[4.2]
|
|
2
|
-
def change
|
|
3
|
-
create_table :solidus_subscriptions_installments do |t|
|
|
4
|
-
t.references :subscription, index: true, null: false
|
|
5
|
-
t.references :order, index: true
|
|
6
|
-
t.date :actionable_date
|
|
7
|
-
|
|
8
|
-
t.timestamps null: false
|
|
9
|
-
end
|
|
10
|
-
|
|
11
|
-
add_foreign_key(
|
|
12
|
-
:solidus_subscriptions_installments,
|
|
13
|
-
:solidus_subscriptions_subscriptions,
|
|
14
|
-
column: :subscription_id
|
|
15
|
-
)
|
|
16
|
-
|
|
17
|
-
add_foreign_key(
|
|
18
|
-
:solidus_subscriptions_installments,
|
|
19
|
-
:spree_orders,
|
|
20
|
-
column: :order_id
|
|
21
|
-
)
|
|
22
|
-
end
|
|
23
|
-
end
|
|
1
|
+
class CreateSolidusSubscriptionsInstallments < SolidusSupport::Migration[4.2]
|
|
2
|
+
def change
|
|
3
|
+
create_table :solidus_subscriptions_installments do |t|
|
|
4
|
+
t.references :subscription, index: true, null: false
|
|
5
|
+
t.references :order, index: true
|
|
6
|
+
t.date :actionable_date
|
|
7
|
+
|
|
8
|
+
t.timestamps null: false
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
add_foreign_key(
|
|
12
|
+
:solidus_subscriptions_installments,
|
|
13
|
+
:solidus_subscriptions_subscriptions,
|
|
14
|
+
column: :subscription_id
|
|
15
|
+
)
|
|
16
|
+
|
|
17
|
+
add_foreign_key(
|
|
18
|
+
:solidus_subscriptions_installments,
|
|
19
|
+
:spree_orders,
|
|
20
|
+
column: :order_id
|
|
21
|
+
)
|
|
22
|
+
end
|
|
23
|
+
end
|
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
class CreateSolidusSubscriptionsInstallmentDetails < SolidusSupport::Migration[4.2]
|
|
2
|
-
def change
|
|
3
|
-
create_table :solidus_subscriptions_installment_details do |t|
|
|
4
|
-
t.references :installment, null: false
|
|
5
|
-
t.string :state, null: false
|
|
6
|
-
|
|
7
|
-
t.timestamps null: false
|
|
8
|
-
end
|
|
9
|
-
|
|
10
|
-
add_index(
|
|
11
|
-
:solidus_subscriptions_installment_details,
|
|
12
|
-
:installment_id,
|
|
13
|
-
name: :index_installment_details_on_installment_id
|
|
14
|
-
)
|
|
15
|
-
|
|
16
|
-
add_foreign_key(
|
|
17
|
-
:solidus_subscriptions_installment_details,
|
|
18
|
-
:solidus_subscriptions_installments,
|
|
19
|
-
column: :installment_id
|
|
20
|
-
)
|
|
21
|
-
end
|
|
22
|
-
end
|
|
1
|
+
class CreateSolidusSubscriptionsInstallmentDetails < SolidusSupport::Migration[4.2]
|
|
2
|
+
def change
|
|
3
|
+
create_table :solidus_subscriptions_installment_details do |t|
|
|
4
|
+
t.references :installment, null: false
|
|
5
|
+
t.string :state, null: false
|
|
6
|
+
|
|
7
|
+
t.timestamps null: false
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
add_index(
|
|
11
|
+
:solidus_subscriptions_installment_details,
|
|
12
|
+
:installment_id,
|
|
13
|
+
name: :index_installment_details_on_installment_id
|
|
14
|
+
)
|
|
15
|
+
|
|
16
|
+
add_foreign_key(
|
|
17
|
+
:solidus_subscriptions_installment_details,
|
|
18
|
+
:solidus_subscriptions_installments,
|
|
19
|
+
column: :installment_id
|
|
20
|
+
)
|
|
21
|
+
end
|
|
22
|
+
end
|