solidus_subscription_boxes 0.0.2 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/assets/javascripts/solidus_subscription_boxes/subscription_selection.js +43 -7
- data/app/assets/stylesheets/solidus_subscription_boxes/application.css +2 -0
- data/app/assets/stylesheets/solidus_subscription_boxes/subscription_box.css.scss +36 -0
- data/app/controllers/solidus_subscription_boxes/subscription_boxes_controller.rb +2 -2
- data/app/decorators/solidus_subscriptions/models/checkout/update_preference_decorator.rb +15 -0
- data/app/decorators/spree/controllers/api/v1/subscriptions/meal_preference_decorator.rb +21 -0
- data/app/decorators/spree/controllers/users/set_box_preference_decorator.rb +30 -0
- data/app/decorators/spree/products/boxable_decorator.rb +11 -0
- data/app/helpers/solidus_subscription_boxes/application_helper.rb +7 -0
- data/app/models/solidus_subscription_boxes/subscription_period.rb +7 -2
- data/app/models/solidus_subscription_boxes/subscription_periods_variant.rb +1 -1
- data/app/overrides/views/admin_boxable_checkbox.rb +6 -0
- data/app/views/solidus_subscription_boxes/subscription_boxes/_box_variants.html.erb +13 -0
- data/app/views/solidus_subscription_boxes/subscription_boxes/_manage.html.erb +34 -0
- data/app/views/solidus_subscription_boxes/subscription_boxes/get_started.html.erb +44 -0
- data/app/views/spree/admin/products/_boxable_checkbox.html.erb +8 -0
- data/app/views/spree/admin/variants/_boxable_checkbox.html.erb +8 -0
- data/config/routes.rb +2 -1
- data/db/migrate/20170919054537_add_boxable_to_spree_variants.rb +5 -0
- data/db/migrate/20170919063437_add_boxable_variant_id_to_solidus_subscription_boxes_subscription_periods.rb +5 -0
- data/lib/solidus_subscription_boxes/version.rb +1 -1
- metadata +16 -108
- data/app/views/solidus_subscription_boxes/subscription_boxes/get_started.html.slim +0 -41
- data/test/dummy/README.rdoc +0 -28
- data/test/dummy/Rakefile +0 -6
- data/test/dummy/app/assets/config/manifest.js +0 -5
- data/test/dummy/app/assets/javascripts/application.js +0 -13
- data/test/dummy/app/assets/javascripts/cable.js +0 -13
- data/test/dummy/app/assets/stylesheets/application.css +0 -15
- data/test/dummy/app/channels/application_cable/channel.rb +0 -4
- data/test/dummy/app/channels/application_cable/connection.rb +0 -4
- data/test/dummy/app/controllers/application_controller.rb +0 -5
- data/test/dummy/app/helpers/application_helper.rb +0 -2
- data/test/dummy/app/jobs/application_job.rb +0 -2
- data/test/dummy/app/mailers/application_mailer.rb +0 -4
- data/test/dummy/app/models/application_record.rb +0 -3
- data/test/dummy/app/views/layouts/application.html.erb +0 -14
- data/test/dummy/app/views/layouts/mailer.html.erb +0 -13
- data/test/dummy/app/views/layouts/mailer.text.erb +0 -1
- data/test/dummy/bin/bundle +0 -3
- data/test/dummy/bin/rails +0 -4
- data/test/dummy/bin/rake +0 -4
- data/test/dummy/bin/setup +0 -29
- data/test/dummy/bin/update +0 -29
- data/test/dummy/bin/yarn +0 -11
- data/test/dummy/config.ru +0 -4
- data/test/dummy/config/application.rb +0 -29
- data/test/dummy/config/boot.rb +0 -5
- data/test/dummy/config/cable.yml +0 -10
- data/test/dummy/config/database.yml +0 -25
- data/test/dummy/config/environment.rb +0 -5
- data/test/dummy/config/environments/development.rb +0 -41
- data/test/dummy/config/environments/production.rb +0 -79
- data/test/dummy/config/environments/test.rb +0 -42
- data/test/dummy/config/initializers/application_controller_renderer.rb +0 -8
- data/test/dummy/config/initializers/assets.rb +0 -11
- data/test/dummy/config/initializers/backtrace_silencers.rb +0 -7
- data/test/dummy/config/initializers/cookies_serializer.rb +0 -3
- data/test/dummy/config/initializers/filter_parameter_logging.rb +0 -4
- data/test/dummy/config/initializers/inflections.rb +0 -16
- data/test/dummy/config/initializers/mime_types.rb +0 -4
- data/test/dummy/config/initializers/session_store.rb +0 -3
- data/test/dummy/config/initializers/wrap_parameters.rb +0 -14
- data/test/dummy/config/locales/en.yml +0 -23
- data/test/dummy/config/puma.rb +0 -56
- data/test/dummy/config/routes.rb +0 -3
- data/test/dummy/config/secrets.yml +0 -22
- data/test/dummy/config/spring.rb +0 -6
- data/test/dummy/package.json +0 -5
- data/test/dummy/public/404.html +0 -67
- data/test/dummy/public/422.html +0 -67
- data/test/dummy/public/500.html +0 -66
- data/test/dummy/public/apple-touch-icon-precomposed.png +0 -0
- data/test/dummy/public/apple-touch-icon.png +0 -0
- data/test/dummy/public/favicon.ico +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 19d70a2f190a741ce51914cc242c60656f13fdf0
|
4
|
+
data.tar.gz: e2838ccaa1bb385fb93f4345a211e4fd2420142a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: af355b4a5280c981971007a90ed0cf2e13500bfa8454514e3e241f1fd08f0848e49c9e0616092519793f40430c8af8ffde7abce34478bc23b2a9d9f968d280a5
|
7
|
+
data.tar.gz: 4340de2b00ad8f8a05aebdaad9c4aee83f1db6eaddae42442f070ad82b68a304a7d8a6371281403e7d9505bd202fb869c7beed52810cfa3b44425f681ae40260
|
@@ -1,18 +1,54 @@
|
|
1
1
|
// Meal Selection Page
|
2
|
+
function subscriptionFormatDate(date) {
|
3
|
+
var monthNames = [
|
4
|
+
"January", "February", "March",
|
5
|
+
"April", "May", "June", "July",
|
6
|
+
"August", "September", "October",
|
7
|
+
"November", "December"
|
8
|
+
];
|
9
|
+
|
10
|
+
var day = date.getDate();
|
11
|
+
var monthIndex = date.getMonth();
|
12
|
+
|
13
|
+
return monthNames[monthIndex] + ' ' + day;
|
14
|
+
}
|
15
|
+
|
16
|
+
|
2
17
|
$('.meal-selection').click( function(event) {
|
3
|
-
if( $('.
|
4
|
-
|
18
|
+
if( $('body.get_started').length > 0 ) {
|
19
|
+
var submitButtonText = "Subscribe Now";
|
20
|
+
} else {
|
21
|
+
var submitButtonText = "Update My Order";
|
22
|
+
}
|
23
|
+
|
24
|
+
if( $('.meal-selection input:checked').length > 3 ) {
|
25
|
+
alert("Please only pick 3 meals");
|
5
26
|
event.target.checked = false;
|
6
27
|
event.preventDefault();
|
7
28
|
}
|
8
29
|
|
9
|
-
if( $('.meal-selection input:checked').length == 3) {
|
10
|
-
$('input[type=submit]').removeAttr('disabled');
|
11
|
-
$('input[type=submit]').attr("value",
|
30
|
+
if( $('.meal-selection input:checked').length == 3 ) {
|
31
|
+
$('input[type=submit].meal-update').removeAttr('disabled');
|
32
|
+
$('input[type=submit].meal-update').attr("value",submitButtonText);
|
12
33
|
} else {
|
13
|
-
$('input[type=submit]').attr("disabled","disabled");
|
14
|
-
$('input[type=submit]').attr("value","Choose " + (3 - $('.meal-selection input:checked').length).toString() + " More");
|
34
|
+
$('input[type=submit].meal-update').attr("disabled","disabled");
|
35
|
+
$('input[type=submit].meal-update').attr("value","Choose " + (3 - $('.meal-selection input:checked').length).toString() + " More");
|
15
36
|
}
|
16
37
|
|
17
38
|
$('.number_more_meals').text(3 - $('.meal-selection input:checked').length);
|
18
39
|
});
|
40
|
+
|
41
|
+
$(document).ajaxSuccess(function( event, xhr, settings ) {
|
42
|
+
if( settings.url.match(/\/api\/v1\/subscriptions\/\d*\/skip/) ) {
|
43
|
+
var actionableDate = new Date(Date.parse(xhr.responseJSON.actionable_date));
|
44
|
+
$('.actionable-date-update').text(subscriptionFormatDate(actionableDate));
|
45
|
+
}
|
46
|
+
if( settings.url.match(/\/api\/v1\/subscriptions\/\d*\/cancel/) ) {
|
47
|
+
$('.manage-subscription').remove();
|
48
|
+
}
|
49
|
+
if( settings.url.match(/\/api\/v1\/subscriptions\/\d*$/)) {
|
50
|
+
alert("You've updated your subscription.")
|
51
|
+
}
|
52
|
+
});
|
53
|
+
|
54
|
+
|
@@ -0,0 +1,36 @@
|
|
1
|
+
$color-disabled: #283428;
|
2
|
+
|
3
|
+
.meal img {
|
4
|
+
width: 100%;
|
5
|
+
}
|
6
|
+
.row-centered {
|
7
|
+
text-align: center;
|
8
|
+
-webkit-justify-content: center; /* Safari */
|
9
|
+
justify-content: center;
|
10
|
+
}
|
11
|
+
.col-centered {
|
12
|
+
display: inline-block;
|
13
|
+
float: none;
|
14
|
+
/* reset the text-align */
|
15
|
+
text-align: left;
|
16
|
+
/* inline-block space fix */
|
17
|
+
margin-right: -4px;
|
18
|
+
}
|
19
|
+
.flash.notice {
|
20
|
+
background-color: green;
|
21
|
+
}
|
22
|
+
.flash.success {
|
23
|
+
background-color: green;
|
24
|
+
}
|
25
|
+
.meal-selector .meal-selection, {
|
26
|
+
.image {
|
27
|
+
border: 4px transparent solid;
|
28
|
+
cursor: pointer;
|
29
|
+
&:hover {
|
30
|
+
border: 4px $color-disabled solid;
|
31
|
+
}
|
32
|
+
}
|
33
|
+
input:checked + .image {
|
34
|
+
border: 4px green solid;
|
35
|
+
}
|
36
|
+
}
|
@@ -1,6 +1,6 @@
|
|
1
1
|
class SolidusSubscriptionBoxes::SubscriptionBoxesController < Spree::StoreController
|
2
2
|
def get_started
|
3
|
-
|
4
|
-
@
|
3
|
+
@variant = Spree::Product.find_by_slug(params[:product_id]).master
|
4
|
+
@box_variants = SolidusSubscriptionBoxes::SubscriptionPeriod.where(boxable_variant_id: @variant.id).current.variants
|
5
5
|
end
|
6
6
|
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
module SolidusSubscriptions
|
2
|
+
module Models
|
3
|
+
module Checkout
|
4
|
+
module UpdatePreferenceDecorator
|
5
|
+
def order
|
6
|
+
byebug
|
7
|
+
order = super
|
8
|
+
order.box_preference = subscription.box_preference unless order.box_preference.present?
|
9
|
+
end
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
SolidusSubscriptions::Checkout.prepend(SolidusSubscriptions::Models::Checkout::UpdatePreferenceDecorator)
|
@@ -0,0 +1,21 @@
|
|
1
|
+
module Spree
|
2
|
+
module Controllers
|
3
|
+
module Api
|
4
|
+
module V1
|
5
|
+
module Subscriptions
|
6
|
+
module MealPreferenceDecorator
|
7
|
+
def subscription_params
|
8
|
+
params.require(:subscription).permit(
|
9
|
+
line_items_attributes: line_item_attributes,
|
10
|
+
shipping_address_attributes: Spree::PermittedAttributes.address_attributes,
|
11
|
+
box_preference_attributes: {}
|
12
|
+
)
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
SolidusSubscriptions::Api::V1::SubscriptionsController.prepend(Spree::Controllers::Api::V1::Subscriptions::MealPreferenceDecorator)
|
@@ -0,0 +1,30 @@
|
|
1
|
+
module Spree
|
2
|
+
module Controllers
|
3
|
+
module Users
|
4
|
+
module SetBoxPreferenceDecorator
|
5
|
+
def self.prepended(base)
|
6
|
+
base.before_action(
|
7
|
+
:set_box_preferences,
|
8
|
+
only: :show
|
9
|
+
)
|
10
|
+
end
|
11
|
+
|
12
|
+
private
|
13
|
+
def set_box_preferences
|
14
|
+
@user.generate_spree_api_key! unless @user.spree_api_key
|
15
|
+
|
16
|
+
must_change_subscriptions = @user.subscriptions.find_all do |subscription|
|
17
|
+
subscription.box_preference.nil?
|
18
|
+
end
|
19
|
+
|
20
|
+
must_change_subscriptions.each do |subscription|
|
21
|
+
potential_variants = SolidusSubscriptionBoxes::SubscriptionPeriod.period_for_date(subscription.actionable_date).variants
|
22
|
+
subscription.box_preference = SolidusSubscriptionBoxes::BoxPreference.new(preference: potential_variants.sample(3).map(&:id))
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
Spree::UsersController.prepend(Spree::Controllers::Users::SetBoxPreferenceDecorator)
|
@@ -1,10 +1,15 @@
|
|
1
1
|
module SolidusSubscriptionBoxes
|
2
2
|
class SubscriptionPeriod < ApplicationRecord
|
3
|
-
has_many :subscription_periods_variants, class_name: 'SolidusSubscriptionBoxes::SubscriptionPeriodsVariant'
|
3
|
+
has_many :subscription_periods_variants, foreign_key: :solidus_subscription_boxes_subscription_period_id, class_name: 'SolidusSubscriptionBoxes::SubscriptionPeriodsVariant'
|
4
4
|
has_many :variants, through: :subscription_periods_variants, class_name: 'Spree::Variant'
|
5
|
+
belongs_to :boxable_variant, class_name: 'Spree::Variant', foreign_key: 'boxable_variant_id'
|
5
6
|
|
6
7
|
def self.current
|
7
|
-
|
8
|
+
period_for_date(Date.today)
|
9
|
+
end
|
10
|
+
|
11
|
+
def self.period_for_date(date)
|
12
|
+
SubscriptionPeriod.where('start_date <= ?', date).order('start_date desc').last
|
8
13
|
end
|
9
14
|
end
|
10
15
|
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
module SolidusSubscriptionBoxes
|
2
2
|
class SubscriptionPeriodsVariant < ApplicationRecord
|
3
3
|
belongs_to :variant, class_name: 'Spree::Variant', foreign_key: :spree_variant_id
|
4
|
-
belongs_to :subscription_period, class_name: 'SolidusSubscriptionBoxes::SubscriptionPeriod'
|
4
|
+
belongs_to :subscription_period, foreign_key: :solidus_subscription_boxes_subscription_period_id, class_name: 'SolidusSubscriptionBoxes::SubscriptionPeriod'
|
5
5
|
end
|
6
6
|
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
<div class="meal-selector row row-centered">
|
2
|
+
<%- box_variants.each do |variant| %>
|
3
|
+
<div class="col-xs-12 col-md-4 col-centered text-center meal">
|
4
|
+
<label class="meal-selection">
|
5
|
+
<input class="hidden" type="checkbox" name="<%= preference_scope %>" value="<%= variant.id %>" <%= is_checked(preferable, variant) %>>
|
6
|
+
<div class="image">
|
7
|
+
<%= image_tag variant.display_image.attachment.url(:large) %>
|
8
|
+
</div>
|
9
|
+
<h4><%= variant.name %></h4>
|
10
|
+
</label>
|
11
|
+
</div>
|
12
|
+
<% end %>
|
13
|
+
</div>
|
@@ -0,0 +1,34 @@
|
|
1
|
+
<% @user.subscriptions.where(state: 'active').each do |subscription| %>
|
2
|
+
<div class="manage-subscription">
|
3
|
+
<h2>My Next Order (<span class="actionable-date-update"><%= subscription.actionable_date.strftime("%B %d") %></span>)</h2>
|
4
|
+
<%= form_with url: "/api/v1/subscriptions/#{subscription.id}", method: 'put', class: 'menu meal-selector' do |form| %>
|
5
|
+
<%= hidden_field_tag(:token, @user.spree_api_key) %>
|
6
|
+
<%= render partial: 'solidus_subscription_boxes/subscription_boxes/box_variants',
|
7
|
+
locals: {
|
8
|
+
box_variants: SolidusSubscriptionBoxes::SubscriptionPeriod.period_for_date(subscription.actionable_date).variants,
|
9
|
+
preference_scope: "subscription[box_preference_attributes][preference][]",
|
10
|
+
preferable: subscription
|
11
|
+
}
|
12
|
+
%>
|
13
|
+
<div class="row">
|
14
|
+
<div class="col-xs-12 content text-center">
|
15
|
+
<%= form.submit 'Update My Order', class: "btn btn-primary btn-large purchase-link meal-update" %>
|
16
|
+
</div>
|
17
|
+
</div>
|
18
|
+
<% end %>
|
19
|
+
<div class="row">
|
20
|
+
<div class="col-xs-12 col-md-3 col-md-push-3 content text-center">
|
21
|
+
<%= form_with url: "/api/v1/subscriptions/#{subscription.id}/skip", class: 'menu' do |form| %>
|
22
|
+
<%= hidden_field_tag(:token, @user.spree_api_key) %>
|
23
|
+
<%= form.submit 'Skip My Next Order', class: "btn btn-primary btn-large purchase-link" %>
|
24
|
+
<% end %>
|
25
|
+
</div>
|
26
|
+
<div class="col-xs-12 col-md-3 col-md-push-3 content text-center">
|
27
|
+
<%= form_with url: "/api/v1/subscriptions/#{subscription.id}/cancel", class: 'menu' do |form| %>
|
28
|
+
<%= hidden_field_tag(:token, @user.spree_api_key) %>
|
29
|
+
<%= form.submit 'Cancel', class: "btn btn-primary btn-large purchase-link" %>
|
30
|
+
<% end %>
|
31
|
+
</div>
|
32
|
+
</div>
|
33
|
+
</div>
|
34
|
+
<% end %>
|
@@ -0,0 +1,44 @@
|
|
1
|
+
<div class="container-fluid">
|
2
|
+
<section class="how-it-works">
|
3
|
+
<div class="row text-center how-it-works background-grey">
|
4
|
+
<h1>Here's How It Works</h1>
|
5
|
+
<div class="col-xs-12 col-sm-3">
|
6
|
+
<h2 class="statistic">3</h2>
|
7
|
+
<h4>Delicious vegetarian lunches delivered every week</h4>
|
8
|
+
</div>
|
9
|
+
<div class="col-xs-12 col-sm-3 border-right">
|
10
|
+
<h2 class="statistic">Sunday</h2>
|
11
|
+
<h4>Food shows up at your door</h4>
|
12
|
+
</div>
|
13
|
+
<div class="col-xs-12 col-sm-3 border-right">
|
14
|
+
<h2 class="statistic">$36</h2>
|
15
|
+
<h4>Paid Weekly<h4>
|
16
|
+
</div>
|
17
|
+
<div class="col-xs-12 col-sm-3 border-right">
|
18
|
+
<h2 class="statistic">20</h2>
|
19
|
+
<h4>Pounds of greenhouse emissions potentially saved every week</h4>
|
20
|
+
</div>
|
21
|
+
</div>
|
22
|
+
</section>
|
23
|
+
</div>
|
24
|
+
|
25
|
+
<div class="menu">
|
26
|
+
<h1 class="text-center">Select your first three meals</h1>
|
27
|
+
<div>
|
28
|
+
<%= form_for :order, url: '/orders/populate' do |f| %>
|
29
|
+
<%= render partial: 'box_variants', locals: {box_variants: @box_variants, preference_scope: "box_preference_attributes[preference][]", preferable: f.object} %>
|
30
|
+
<div class="row">
|
31
|
+
<div class="col-xs-12 content text-center">
|
32
|
+
<%= hidden_field_tag :variant_id, @variant.id %>
|
33
|
+
<%= hidden_field_tag :quantity, 1 %>
|
34
|
+
<%= hidden_field_tag :'subscription_line_item[quantity]', 1 %>
|
35
|
+
<%= hidden_field_tag :'subscription_line_item[subscribable_id]', 1 %>
|
36
|
+
<%= hidden_field_tag :'subscription_line_item[interval_length]', 1 %>
|
37
|
+
<%= hidden_field_tag :'subscription_line_item[interval_units]', 'week' %>
|
38
|
+
<%= f.submit 'Choose 3 More', onclick: "window.dataLayer.push({event: 'click', clickAction:'selectorPurchase'})", class: "btn btn-primary btn-large purchase-link meal-update", disabled: 'disabled', :'data-disable-with' => 'Submitting...' %>
|
39
|
+
</div>
|
40
|
+
</div>
|
41
|
+
<% end %>
|
42
|
+
</div>
|
43
|
+
</div>
|
44
|
+
|
@@ -0,0 +1,8 @@
|
|
1
|
+
<% if !@product.has_variants? && @product.subscribable then %>
|
2
|
+
<div class="field four columns checkbox" data-hook="boxable">
|
3
|
+
<%= f.label :boxable do %>
|
4
|
+
<%= f.check_box :boxable %>
|
5
|
+
<%= Spree::Product.human_attribute_name(:boxable) %>
|
6
|
+
<% end %>
|
7
|
+
</div>
|
8
|
+
<% end %>
|
data/config/routes.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: solidus_subscription_boxes
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Joel Jackson
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-10-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: solidus
|
@@ -135,10 +135,15 @@ files:
|
|
135
135
|
- app/assets/javascripts/solidus_subscription_boxes/application.js
|
136
136
|
- app/assets/javascripts/solidus_subscription_boxes/subscription_selection.js
|
137
137
|
- app/assets/stylesheets/solidus_subscription_boxes/application.css
|
138
|
+
- app/assets/stylesheets/solidus_subscription_boxes/subscription_box.css.scss
|
138
139
|
- app/controllers/solidus_subscription_boxes/application_controller.rb
|
139
140
|
- app/controllers/solidus_subscription_boxes/subscription_boxes_controller.rb
|
141
|
+
- app/decorators/solidus_subscriptions/models/checkout/update_preference_decorator.rb
|
142
|
+
- app/decorators/spree/controllers/api/v1/subscriptions/meal_preference_decorator.rb
|
140
143
|
- app/decorators/spree/controllers/orders/meal_preference_decorator.rb
|
144
|
+
- app/decorators/spree/controllers/users/set_box_preference_decorator.rb
|
141
145
|
- app/decorators/spree/orders/preference_decorator.rb
|
146
|
+
- app/decorators/spree/products/boxable_decorator.rb
|
142
147
|
- app/helpers/solidus_subscription_boxes/application_helper.rb
|
143
148
|
- app/jobs/solidus_subscription_boxes/application_job.rb
|
144
149
|
- app/mailers/solidus_subscription_boxes/application_mailer.rb
|
@@ -146,68 +151,23 @@ files:
|
|
146
151
|
- app/models/solidus_subscription_boxes/box_preference.rb
|
147
152
|
- app/models/solidus_subscription_boxes/subscription_period.rb
|
148
153
|
- app/models/solidus_subscription_boxes/subscription_periods_variant.rb
|
154
|
+
- app/overrides/views/admin_boxable_checkbox.rb
|
149
155
|
- app/views/layouts/solidus_subscription_boxes/application.html.erb
|
150
|
-
- app/views/solidus_subscription_boxes/subscription_boxes/
|
156
|
+
- app/views/solidus_subscription_boxes/subscription_boxes/_box_variants.html.erb
|
157
|
+
- app/views/solidus_subscription_boxes/subscription_boxes/_manage.html.erb
|
158
|
+
- app/views/solidus_subscription_boxes/subscription_boxes/get_started.html.erb
|
159
|
+
- app/views/spree/admin/products/_boxable_checkbox.html.erb
|
160
|
+
- app/views/spree/admin/variants/_boxable_checkbox.html.erb
|
151
161
|
- config/routes.rb
|
152
162
|
- db/migrate/20170609065436_create_solidus_subscription_boxes_box_preferences.rb
|
153
163
|
- db/migrate/20170906015531_create_solidus_subscription_boxes_subscription_periods.rb
|
154
164
|
- db/migrate/20170906021159_create_solidus_subscription_boxes_subscription_periods_variants.rb
|
165
|
+
- db/migrate/20170919054537_add_boxable_to_spree_variants.rb
|
166
|
+
- db/migrate/20170919063437_add_boxable_variant_id_to_solidus_subscription_boxes_subscription_periods.rb
|
155
167
|
- lib/solidus_subscription_boxes.rb
|
156
168
|
- lib/solidus_subscription_boxes/engine.rb
|
157
169
|
- lib/solidus_subscription_boxes/version.rb
|
158
170
|
- lib/tasks/solidus_subscription_boxes_tasks.rake
|
159
|
-
- test/dummy/README.rdoc
|
160
|
-
- test/dummy/Rakefile
|
161
|
-
- test/dummy/app/assets/config/manifest.js
|
162
|
-
- test/dummy/app/assets/javascripts/application.js
|
163
|
-
- test/dummy/app/assets/javascripts/cable.js
|
164
|
-
- test/dummy/app/assets/stylesheets/application.css
|
165
|
-
- test/dummy/app/channels/application_cable/channel.rb
|
166
|
-
- test/dummy/app/channels/application_cable/connection.rb
|
167
|
-
- test/dummy/app/controllers/application_controller.rb
|
168
|
-
- test/dummy/app/helpers/application_helper.rb
|
169
|
-
- test/dummy/app/jobs/application_job.rb
|
170
|
-
- test/dummy/app/mailers/application_mailer.rb
|
171
|
-
- test/dummy/app/models/application_record.rb
|
172
|
-
- test/dummy/app/views/layouts/application.html.erb
|
173
|
-
- test/dummy/app/views/layouts/mailer.html.erb
|
174
|
-
- test/dummy/app/views/layouts/mailer.text.erb
|
175
|
-
- test/dummy/bin/bundle
|
176
|
-
- test/dummy/bin/rails
|
177
|
-
- test/dummy/bin/rake
|
178
|
-
- test/dummy/bin/setup
|
179
|
-
- test/dummy/bin/update
|
180
|
-
- test/dummy/bin/yarn
|
181
|
-
- test/dummy/config.ru
|
182
|
-
- test/dummy/config/application.rb
|
183
|
-
- test/dummy/config/boot.rb
|
184
|
-
- test/dummy/config/cable.yml
|
185
|
-
- test/dummy/config/database.yml
|
186
|
-
- test/dummy/config/environment.rb
|
187
|
-
- test/dummy/config/environments/development.rb
|
188
|
-
- test/dummy/config/environments/production.rb
|
189
|
-
- test/dummy/config/environments/test.rb
|
190
|
-
- test/dummy/config/initializers/application_controller_renderer.rb
|
191
|
-
- test/dummy/config/initializers/assets.rb
|
192
|
-
- test/dummy/config/initializers/backtrace_silencers.rb
|
193
|
-
- test/dummy/config/initializers/cookies_serializer.rb
|
194
|
-
- test/dummy/config/initializers/filter_parameter_logging.rb
|
195
|
-
- test/dummy/config/initializers/inflections.rb
|
196
|
-
- test/dummy/config/initializers/mime_types.rb
|
197
|
-
- test/dummy/config/initializers/session_store.rb
|
198
|
-
- test/dummy/config/initializers/wrap_parameters.rb
|
199
|
-
- test/dummy/config/locales/en.yml
|
200
|
-
- test/dummy/config/puma.rb
|
201
|
-
- test/dummy/config/routes.rb
|
202
|
-
- test/dummy/config/secrets.yml
|
203
|
-
- test/dummy/config/spring.rb
|
204
|
-
- test/dummy/package.json
|
205
|
-
- test/dummy/public/404.html
|
206
|
-
- test/dummy/public/422.html
|
207
|
-
- test/dummy/public/500.html
|
208
|
-
- test/dummy/public/apple-touch-icon-precomposed.png
|
209
|
-
- test/dummy/public/apple-touch-icon.png
|
210
|
-
- test/dummy/public/favicon.ico
|
211
171
|
- test/integration/navigation_test.rb
|
212
172
|
- test/solidus_subscription_boxes_test.rb
|
213
173
|
- test/test_helper.rb
|
@@ -231,63 +191,11 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
231
191
|
version: '0'
|
232
192
|
requirements: []
|
233
193
|
rubyforge_project:
|
234
|
-
rubygems_version: 2.
|
194
|
+
rubygems_version: 2.6.11
|
235
195
|
signing_key:
|
236
196
|
specification_version: 4
|
237
197
|
summary: Add subscription box support to Solidus
|
238
198
|
test_files:
|
239
|
-
- test/dummy/app/assets/config/manifest.js
|
240
|
-
- test/dummy/app/assets/javascripts/application.js
|
241
|
-
- test/dummy/app/assets/javascripts/cable.js
|
242
|
-
- test/dummy/app/assets/stylesheets/application.css
|
243
|
-
- test/dummy/app/channels/application_cable/channel.rb
|
244
|
-
- test/dummy/app/channels/application_cable/connection.rb
|
245
|
-
- test/dummy/app/controllers/application_controller.rb
|
246
|
-
- test/dummy/app/helpers/application_helper.rb
|
247
|
-
- test/dummy/app/jobs/application_job.rb
|
248
|
-
- test/dummy/app/mailers/application_mailer.rb
|
249
|
-
- test/dummy/app/models/application_record.rb
|
250
|
-
- test/dummy/app/views/layouts/application.html.erb
|
251
|
-
- test/dummy/app/views/layouts/mailer.html.erb
|
252
|
-
- test/dummy/app/views/layouts/mailer.text.erb
|
253
|
-
- test/dummy/bin/bundle
|
254
|
-
- test/dummy/bin/rails
|
255
|
-
- test/dummy/bin/rake
|
256
|
-
- test/dummy/bin/setup
|
257
|
-
- test/dummy/bin/update
|
258
|
-
- test/dummy/bin/yarn
|
259
|
-
- test/dummy/config/application.rb
|
260
|
-
- test/dummy/config/boot.rb
|
261
|
-
- test/dummy/config/cable.yml
|
262
|
-
- test/dummy/config/database.yml
|
263
|
-
- test/dummy/config/environment.rb
|
264
|
-
- test/dummy/config/environments/development.rb
|
265
|
-
- test/dummy/config/environments/production.rb
|
266
|
-
- test/dummy/config/environments/test.rb
|
267
|
-
- test/dummy/config/initializers/application_controller_renderer.rb
|
268
|
-
- test/dummy/config/initializers/assets.rb
|
269
|
-
- test/dummy/config/initializers/backtrace_silencers.rb
|
270
|
-
- test/dummy/config/initializers/cookies_serializer.rb
|
271
|
-
- test/dummy/config/initializers/filter_parameter_logging.rb
|
272
|
-
- test/dummy/config/initializers/inflections.rb
|
273
|
-
- test/dummy/config/initializers/mime_types.rb
|
274
|
-
- test/dummy/config/initializers/session_store.rb
|
275
|
-
- test/dummy/config/initializers/wrap_parameters.rb
|
276
|
-
- test/dummy/config/locales/en.yml
|
277
|
-
- test/dummy/config/puma.rb
|
278
|
-
- test/dummy/config/routes.rb
|
279
|
-
- test/dummy/config/secrets.yml
|
280
|
-
- test/dummy/config/spring.rb
|
281
|
-
- test/dummy/config.ru
|
282
|
-
- test/dummy/package.json
|
283
|
-
- test/dummy/public/404.html
|
284
|
-
- test/dummy/public/422.html
|
285
|
-
- test/dummy/public/500.html
|
286
|
-
- test/dummy/public/apple-touch-icon-precomposed.png
|
287
|
-
- test/dummy/public/apple-touch-icon.png
|
288
|
-
- test/dummy/public/favicon.ico
|
289
|
-
- test/dummy/Rakefile
|
290
|
-
- test/dummy/README.rdoc
|
291
199
|
- test/integration/navigation_test.rb
|
292
200
|
- test/solidus_subscription_boxes_test.rb
|
293
201
|
- test/test_helper.rb
|