spree_frontend 3.6.6 → 3.7.0.rc1
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/app/assets/javascripts/spree/frontend.js +8 -0
- data/app/assets/javascripts/spree/frontend/api_tokens.js +17 -0
- data/app/assets/javascripts/spree/frontend/cart.js +59 -0
- data/app/assets/javascripts/spree/frontend/checkout.js +19 -0
- data/app/assets/javascripts/spree/frontend/checkout/address.js +102 -0
- data/app/assets/javascripts/spree/frontend/checkout/payment.js +57 -0
- data/app/assets/javascripts/spree/frontend/checkout/shipment.js +47 -0
- data/app/assets/javascripts/spree/frontend/coupon_manager.js +45 -0
- data/app/assets/javascripts/spree/frontend/product.js +104 -51
- data/app/controllers/spree/checkout_controller.rb +7 -13
- data/app/controllers/spree/locale_controller.rb +1 -3
- data/app/controllers/spree/orders_controller.rb +25 -10
- data/app/controllers/spree/store_controller.rb +12 -0
- data/app/helpers/spree/frontend_helper.rb +8 -12
- data/app/views/spree/checkout/_payment.html.erb +3 -3
- data/app/views/spree/checkout/edit.html.erb +1 -1
- data/app/views/spree/orders/edit.html.erb +1 -2
- data/app/views/spree/products/_cart_form.html.erb +10 -4
- data/app/views/spree/products/_properties.html.erb +1 -1
- data/app/views/spree/products/_thumbnails.html.erb +4 -2
- data/config/routes.rb +3 -0
- data/lib/generators/spree/frontend/copy_views/copy_views_generator.rb +1 -1
- data/spree_frontend.gemspec +2 -2
- metadata +18 -23
- data/app/assets/javascripts/spree/frontend/cart.js.coffee +0 -28
- data/app/assets/javascripts/spree/frontend/checkout.js.coffee +0 -16
- data/app/assets/javascripts/spree/frontend/checkout/address.js.coffee +0 -81
- data/app/assets/javascripts/spree/frontend/checkout/payment.js.coffee +0 -57
- data/app/assets/javascripts/spree/frontend/checkout/shipment.js.coffee +0 -41
- data/app/assets/javascripts/spree/frontend/coupon_manager.js.coffee +0 -37
@@ -104,9 +104,7 @@ module Spree
|
|
104
104
|
|
105
105
|
def set_state_if_present
|
106
106
|
if params[:state]
|
107
|
-
if @order.can_go_to_state?(params[:state]) && !skip_state_validation?
|
108
|
-
redirect_to checkout_state_path(@order.state)
|
109
|
-
end
|
107
|
+
redirect_to checkout_state_path(@order.state) if @order.can_go_to_state?(params[:state]) && !skip_state_validation?
|
110
108
|
@order.state = params[:state]
|
111
109
|
end
|
112
110
|
end
|
@@ -155,18 +153,16 @@ module Spree
|
|
155
153
|
packages = @order.shipments.map(&:to_package)
|
156
154
|
@differentiator = Spree::Stock::Differentiator.new(@order, packages)
|
157
155
|
@differentiator.missing.each do |variant, quantity|
|
158
|
-
@order
|
156
|
+
Spree::Cart::RemoveItem.call(order: @order, variant: variant, quantity: quantity)
|
159
157
|
end
|
160
158
|
end
|
161
159
|
|
162
|
-
|
163
|
-
@payment_sources = try_spree_current_user.payment_sources
|
164
|
-
end
|
160
|
+
@payment_sources = try_spree_current_user.payment_sources if try_spree_current_user&.respond_to?(:payment_sources)
|
165
161
|
end
|
166
162
|
|
167
163
|
def add_store_credit_payments
|
168
164
|
if params.key?(:apply_store_credit)
|
169
|
-
@order
|
165
|
+
Spree::Checkout::AddStoreCredit.call(order: @order)
|
170
166
|
|
171
167
|
# Remove other payment method parameters.
|
172
168
|
params[:order].delete(:payments_attributes)
|
@@ -174,15 +170,13 @@ module Spree
|
|
174
170
|
params.delete(:payment_source)
|
175
171
|
|
176
172
|
# Return to the Payments page if additional payment is needed.
|
177
|
-
if @order.payments.valid.sum(:amount) < @order.total
|
178
|
-
redirect_to checkout_state_path(@order.state) and return
|
179
|
-
end
|
173
|
+
redirect_to checkout_state_path(@order.state) and return if @order.payments.valid.sum(:amount) < @order.total
|
180
174
|
end
|
181
175
|
end
|
182
176
|
|
183
177
|
def remove_store_credit_payments
|
184
178
|
if params.key?(:remove_store_credit)
|
185
|
-
@order
|
179
|
+
Spree::Checkout::RemoveStoreCredit.call(order: @order)
|
186
180
|
redirect_to checkout_state_path(@order.state) and return
|
187
181
|
end
|
188
182
|
end
|
@@ -194,7 +188,7 @@ module Spree
|
|
194
188
|
end
|
195
189
|
|
196
190
|
def check_authorization
|
197
|
-
authorize!(:edit, current_order, cookies.signed[:
|
191
|
+
authorize!(:edit, current_order, cookies.signed[:token])
|
198
192
|
end
|
199
193
|
end
|
200
194
|
end
|
@@ -1,9 +1,7 @@
|
|
1
1
|
module Spree
|
2
2
|
class LocaleController < Spree::StoreController
|
3
3
|
def set
|
4
|
-
|
5
|
-
session['user_return_to'] = request.referer
|
6
|
-
end
|
4
|
+
session['user_return_to'] = request.referer if request.referer&.starts_with?('http://' + request.host)
|
7
5
|
if params[:locale] && I18n.available_locales.map(&:to_s).include?(params[:locale])
|
8
6
|
session[:locale] = I18n.locale = params[:locale]
|
9
7
|
flash.notice = Spree.t(:locale_changed)
|
@@ -14,7 +14,7 @@ module Spree
|
|
14
14
|
|
15
15
|
def update
|
16
16
|
@variant = Spree::Variant.find(params[:variant_id]) if params[:variant_id]
|
17
|
-
if @order
|
17
|
+
if Cart::Update.call(order: @order, params: order_params).success?
|
18
18
|
respond_with(@order) do |format|
|
19
19
|
format.html do
|
20
20
|
if params.key?(:checkout)
|
@@ -34,12 +34,18 @@ module Spree
|
|
34
34
|
def edit
|
35
35
|
@order = current_order || Order.incomplete.
|
36
36
|
includes(line_items: [variant: [:images, :option_values, :product]]).
|
37
|
-
find_or_initialize_by(
|
37
|
+
find_or_initialize_by(token: cookies.signed[:token])
|
38
38
|
associate_user
|
39
39
|
end
|
40
40
|
|
41
41
|
# Adds a new item to the order (creating a new order if none already exists)
|
42
42
|
def populate
|
43
|
+
ActiveSupport::Deprecation.warn(<<-DEPRECATION, caller)
|
44
|
+
OrdersController#populate is deprecated and will be removed in Spree 4.0.
|
45
|
+
Please use `/api/v2/storefront/cart/add_item` endpoint instead.
|
46
|
+
See documentation: https://github.com/spree/spree/blob/master/api/docs/v2/storefront/index.yaml#L42
|
47
|
+
DEPRECATION
|
48
|
+
|
43
49
|
order = current_order(create_order_if_necessary: true)
|
44
50
|
variant = Spree::Variant.find(params[:variant_id])
|
45
51
|
quantity = params[:quantity].to_i
|
@@ -48,10 +54,14 @@ module Spree
|
|
48
54
|
# 2,147,483,647 is crazy. See issue #2695.
|
49
55
|
if quantity.between?(1, 2_147_483_647)
|
50
56
|
begin
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
57
|
+
result = Spree::Cart::AddItem.call(order: order, variant: variant, quantity: quantity, options: options)
|
58
|
+
if result.failure?
|
59
|
+
error = result.value.errors.full_messages.join(', ')
|
60
|
+
else
|
61
|
+
order.update_line_item_prices!
|
62
|
+
order.create_tax_charge!
|
63
|
+
order.update_with_updater!
|
64
|
+
end
|
55
65
|
rescue ActiveRecord::RecordInvalid => e
|
56
66
|
error = e.record.errors.full_messages.join(', ')
|
57
67
|
end
|
@@ -70,6 +80,11 @@ module Spree
|
|
70
80
|
end
|
71
81
|
|
72
82
|
def populate_redirect
|
83
|
+
ActiveSupport::Deprecation.warn(<<-DEPRECATION, caller)
|
84
|
+
OrdersController#populate is deprecated and will be removed in Spree 4.0.
|
85
|
+
Please use `/api/v2/storefront/cart/add_item` endpoint instead.
|
86
|
+
See documentation: https://github.com/spree/spree/blob/master/api/docs/v2/storefront/index.yaml#L42
|
87
|
+
DEPRECATION
|
73
88
|
flash[:error] = Spree.t(:populate_get_error)
|
74
89
|
redirect_to cart_path
|
75
90
|
end
|
@@ -83,7 +98,7 @@ module Spree
|
|
83
98
|
private
|
84
99
|
|
85
100
|
def accurate_title
|
86
|
-
if @order
|
101
|
+
if @order&.completed?
|
87
102
|
Spree.t(:order_number, number: @order.number)
|
88
103
|
else
|
89
104
|
Spree.t(:shopping_cart)
|
@@ -92,12 +107,12 @@ module Spree
|
|
92
107
|
|
93
108
|
def check_authorization
|
94
109
|
order = Spree::Order.find_by(number: params[:id]) if params[:id].present?
|
95
|
-
order
|
110
|
+
order ||= current_order
|
96
111
|
|
97
112
|
if order && action_name.to_sym == :show
|
98
|
-
authorize! :show, order, cookies.signed[:
|
113
|
+
authorize! :show, order, cookies.signed[:token]
|
99
114
|
elsif order
|
100
|
-
authorize! :edit, order, cookies.signed[:
|
115
|
+
authorize! :edit, order, cookies.signed[:token]
|
101
116
|
else
|
102
117
|
authorize! :create, Spree::Order
|
103
118
|
end
|
@@ -3,6 +3,7 @@ module Spree
|
|
3
3
|
include Spree::Core::ControllerHelpers::Order
|
4
4
|
|
5
5
|
skip_before_action :set_current_order, only: :cart_link
|
6
|
+
skip_before_action :verify_authenticity_token, only: :ensure_cart
|
6
7
|
|
7
8
|
def forbidden
|
8
9
|
render 'spree/shared/forbidden', layout: Spree::Config[:layout], status: 403
|
@@ -17,6 +18,17 @@ module Spree
|
|
17
18
|
fresh_when(simple_current_order)
|
18
19
|
end
|
19
20
|
|
21
|
+
def api_tokens
|
22
|
+
render json: {
|
23
|
+
order_token: current_order&.token,
|
24
|
+
oauth_token: current_oauth_token&.token
|
25
|
+
}
|
26
|
+
end
|
27
|
+
|
28
|
+
def ensure_cart
|
29
|
+
render json: current_order(create_order_if_necessary: true) # force creation of order if doesn't exists
|
30
|
+
end
|
31
|
+
|
20
32
|
protected
|
21
33
|
|
22
34
|
def config_locale
|
@@ -7,6 +7,7 @@ module Spree
|
|
7
7
|
|
8
8
|
def spree_breadcrumbs(taxon, separator = ' ')
|
9
9
|
return '' if current_page?('/') || taxon.nil?
|
10
|
+
|
10
11
|
separator = raw(separator)
|
11
12
|
crumbs = [content_tag(:li, content_tag(:span, link_to(content_tag(:span, Spree.t(:home), itemprop: 'name'), spree.root_path, itemprop: 'url') + separator, itemprop: 'item'), itemscope: 'itemscope', itemtype: 'https://schema.org/ListItem', itemprop: 'itemListElement')]
|
12
13
|
if taxon
|
@@ -20,14 +21,6 @@ module Spree
|
|
20
21
|
content_tag(:nav, crumb_list, id: 'breadcrumbs', class: 'col-md-12')
|
21
22
|
end
|
22
23
|
|
23
|
-
def breadcrumbs(taxon, separator = ' ')
|
24
|
-
ActiveSupport::Deprecation.warn(<<-EOS, caller)
|
25
|
-
Spree::FrontendHelper#breadcrumbs was renamed to Spree::FrontendHelper#spree_breadcrumbs
|
26
|
-
and will be removed in Spree 3.6. Please update your code to avoid problems after update
|
27
|
-
EOS
|
28
|
-
spree_breadcrumbs(taxon, separator)
|
29
|
-
end
|
30
|
-
|
31
24
|
def checkout_progress(numbers: false)
|
32
25
|
states = @order.checkout_steps
|
33
26
|
items = states.each_with_index.map do |state, i|
|
@@ -62,9 +55,7 @@ module Spree
|
|
62
55
|
ignore_types = ['order_completed'].concat(Array(opts[:ignore_types]).map(&:to_s) || [])
|
63
56
|
|
64
57
|
flash.each do |msg_type, text|
|
65
|
-
unless ignore_types.include?(msg_type)
|
66
|
-
concat(content_tag(:div, text, class: "alert alert-#{msg_type}"))
|
67
|
-
end
|
58
|
+
concat(content_tag(:div, text, class: "alert alert-#{msg_type}")) unless ignore_types.include?(msg_type)
|
68
59
|
end
|
69
60
|
nil
|
70
61
|
end
|
@@ -86,13 +77,18 @@ module Spree
|
|
86
77
|
|
87
78
|
def taxons_tree(root_taxon, current_taxon, max_level = 1)
|
88
79
|
return '' if max_level < 1 || root_taxon.leaf?
|
80
|
+
|
89
81
|
content_tag :div, class: 'list-group' do
|
90
82
|
taxons = root_taxon.children.map do |taxon|
|
91
|
-
css_class = current_taxon
|
83
|
+
css_class = current_taxon&.self_and_ancestors&.include?(taxon) ? 'list-group-item active' : 'list-group-item'
|
92
84
|
link_to(taxon.name, seo_url(taxon), class: css_class) + taxons_tree(taxon, current_taxon, max_level - 1)
|
93
85
|
end
|
94
86
|
safe_join(taxons, "\n")
|
95
87
|
end
|
96
88
|
end
|
89
|
+
|
90
|
+
def set_image_alt(image, size)
|
91
|
+
image.alt.present? ? image.alt : image_alt(main_app.url_for(image.url(size)))
|
92
|
+
end
|
97
93
|
end
|
98
94
|
end
|
@@ -21,12 +21,12 @@
|
|
21
21
|
<tbody>
|
22
22
|
<% @payment_sources.each do |card| %>
|
23
23
|
<tr id="<%= dom_id(card,'spree')%>" class="<%= cycle('even', 'odd') %>">
|
24
|
-
<td><%= card.name %></td>
|
25
|
-
<td><%= card.display_number %></td>
|
26
|
-
<td><%= card.month %> / <%= card.year %></td>
|
27
24
|
<td>
|
28
25
|
<%= radio_button_tag "order[existing_card]", card.id, (card == @payment_sources.first), { class: "existing-cc-radio" } %>
|
29
26
|
</td>
|
27
|
+
<td><%= card.name %></td>
|
28
|
+
<td><%= card.display_number %></td>
|
29
|
+
<td><%= card.month %> / <%= card.year %></td>
|
30
30
|
</tr>
|
31
31
|
<% end %>
|
32
32
|
</tbody>
|
@@ -1,4 +1,4 @@
|
|
1
|
-
<%= form_for :order,
|
1
|
+
<%= form_for :order, html: { id: 'add-to-cart-form' } do |f| %>
|
2
2
|
<div class="row" id="inside-product-cart-form" data-hook="inside_product_cart_form" itemprop="offers" itemscope itemtype="https://schema.org/Offer">
|
3
3
|
<% if @product.variants_and_option_values(current_currency).any? %>
|
4
4
|
<div id="product-variants" class="col-md-6">
|
@@ -8,11 +8,12 @@
|
|
8
8
|
<li>
|
9
9
|
<%= radio_button_tag "variant_id", variant.id, index == 0,
|
10
10
|
'data-price' => variant.price_in(current_currency).money,
|
11
|
-
'data-in-stock' => variant.can_supply
|
11
|
+
'data-in-stock' => variant.can_supply?,
|
12
|
+
'data-backordered' => variant.backordered?
|
12
13
|
%>
|
13
14
|
<%= label_tag "variant_id_#{ variant.id }" do %>
|
14
15
|
<span class="variant-description">
|
15
|
-
<%=
|
16
|
+
<%= variant.options_text %>
|
16
17
|
</span>
|
17
18
|
<% if variant_price variant %>
|
18
19
|
<span class="price diff"><%= variant_price variant %></span>
|
@@ -46,6 +47,11 @@
|
|
46
47
|
<br />
|
47
48
|
<span class="out-of-stock"><%= Spree.t(:out_of_stock) %></span>
|
48
49
|
<% end %>
|
50
|
+
<% if @product.backordered? %>
|
51
|
+
<div class="alert alert-warning" id="cart-backordered-info">
|
52
|
+
<%= Spree.t(:backordered_info) %>
|
53
|
+
</div>
|
54
|
+
<% end %>
|
49
55
|
</div>
|
50
56
|
|
51
57
|
<% if @product.can_supply? %>
|
@@ -54,7 +60,7 @@
|
|
54
60
|
<div class="input-group">
|
55
61
|
<%= number_field_tag :quantity, 1, class: 'title form-control', min: 1 %>
|
56
62
|
<span class="input-group-btn">
|
57
|
-
<%= button_tag class: 'btn btn-success', id: 'add-to-cart-button', type: :submit do %>
|
63
|
+
<%= button_tag class: 'btn btn-success', id: 'add-to-cart-button', type: :submit, disabled: true do %>
|
58
64
|
<%= Spree.t(:add_to_cart) %>
|
59
65
|
<% end %>
|
60
66
|
</span>
|
@@ -3,7 +3,8 @@
|
|
3
3
|
<ul id="product-thumbnails" class="thumbnails list-inline" data-hook>
|
4
4
|
<% @product.images.each do |i| %>
|
5
5
|
<li class='tmb-all tmb-<%= i.viewable.id %>'>
|
6
|
-
|
6
|
+
<% img_tag = image_tag(main_app.url_for(i.url(:mini)), class: "thumbnail", alt: set_image_alt(i, :mini)) %>
|
7
|
+
<%= link_to(img_tag, main_app.url_for(i.url(:product))) %>
|
7
8
|
</li>
|
8
9
|
<% end %>
|
9
10
|
|
@@ -11,7 +12,8 @@
|
|
11
12
|
<% @product.variant_images.each do |i| %>
|
12
13
|
<% next if @product.images.include?(i) %>
|
13
14
|
<li class='vtmb tmb-<%= i.viewable.id %>'>
|
14
|
-
|
15
|
+
<% img_tag = image_tag(main_app.url_for(i.url(:mini)), class: "thumbnail", alt: set_image_alt(i, :mini)) %>
|
16
|
+
<%= link_to(img_tag, main_app.url_for(i.url(:product))) %>
|
15
17
|
</li>
|
16
18
|
<% end %>
|
17
19
|
<% end %>
|
data/config/routes.rb
CHANGED
@@ -27,4 +27,7 @@ Spree::Core::Engine.add_routes do
|
|
27
27
|
get '/content/cvv', to: 'content#cvv', as: :cvv
|
28
28
|
get '/content/test', to: 'content#test'
|
29
29
|
get '/cart_link', to: 'store#cart_link', as: :cart_link
|
30
|
+
|
31
|
+
get '/api_tokens', to: 'store#api_tokens'
|
32
|
+
post '/ensure_cart', to: 'store#ensure_cart'
|
30
33
|
end
|
data/spree_frontend.gemspec
CHANGED
@@ -8,7 +8,7 @@ Gem::Specification.new do |s|
|
|
8
8
|
s.summary = 'Frontend e-commerce functionality for the Spree project.'
|
9
9
|
s.description = s.summary
|
10
10
|
|
11
|
-
s.required_ruby_version = '>= 2.
|
11
|
+
s.required_ruby_version = '>= 2.3.0'
|
12
12
|
|
13
13
|
s.author = 'Sean Schofield'
|
14
14
|
s.email = 'sean@spreecommerce.com'
|
@@ -22,7 +22,7 @@ Gem::Specification.new do |s|
|
|
22
22
|
s.add_dependency 'spree_api', s.version
|
23
23
|
s.add_dependency 'spree_core', s.version
|
24
24
|
|
25
|
-
s.add_dependency 'bootstrap-sass', '
|
25
|
+
s.add_dependency 'bootstrap-sass', '~> 3.4'
|
26
26
|
s.add_dependency 'canonical-rails', '~> 0.2.3'
|
27
27
|
s.add_dependency 'jquery-rails', '~> 4.3'
|
28
28
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: spree_frontend
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.7.0.rc1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sean Schofield
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2019-01-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: spree_api
|
@@ -16,46 +16,40 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - '='
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 3.
|
19
|
+
version: 3.7.0.rc1
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - '='
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 3.
|
26
|
+
version: 3.7.0.rc1
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: spree_core
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - '='
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 3.
|
33
|
+
version: 3.7.0.rc1
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - '='
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 3.
|
40
|
+
version: 3.7.0.rc1
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: bootstrap-sass
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - "
|
46
|
-
- !ruby/object:Gem::Version
|
47
|
-
version: 3.3.5.1
|
48
|
-
- - "<"
|
45
|
+
- - "~>"
|
49
46
|
- !ruby/object:Gem::Version
|
50
47
|
version: '3.4'
|
51
48
|
type: :runtime
|
52
49
|
prerelease: false
|
53
50
|
version_requirements: !ruby/object:Gem::Requirement
|
54
51
|
requirements:
|
55
|
-
- - "
|
56
|
-
- !ruby/object:Gem::Version
|
57
|
-
version: 3.3.5.1
|
58
|
-
- - "<"
|
52
|
+
- - "~>"
|
59
53
|
- !ruby/object:Gem::Version
|
60
54
|
version: '3.4'
|
61
55
|
- !ruby/object:Gem::Dependency
|
@@ -136,12 +130,13 @@ files:
|
|
136
130
|
- app/assets/images/favicon.ico
|
137
131
|
- app/assets/images/logo/spree_50.png
|
138
132
|
- app/assets/javascripts/spree/frontend.js
|
139
|
-
- app/assets/javascripts/spree/frontend/
|
140
|
-
- app/assets/javascripts/spree/frontend/
|
141
|
-
- app/assets/javascripts/spree/frontend/checkout
|
142
|
-
- app/assets/javascripts/spree/frontend/checkout/
|
143
|
-
- app/assets/javascripts/spree/frontend/checkout/
|
144
|
-
- app/assets/javascripts/spree/frontend/
|
133
|
+
- app/assets/javascripts/spree/frontend/api_tokens.js
|
134
|
+
- app/assets/javascripts/spree/frontend/cart.js
|
135
|
+
- app/assets/javascripts/spree/frontend/checkout.js
|
136
|
+
- app/assets/javascripts/spree/frontend/checkout/address.js
|
137
|
+
- app/assets/javascripts/spree/frontend/checkout/payment.js
|
138
|
+
- app/assets/javascripts/spree/frontend/checkout/shipment.js
|
139
|
+
- app/assets/javascripts/spree/frontend/coupon_manager.js
|
145
140
|
- app/assets/javascripts/spree/frontend/product.js
|
146
141
|
- app/assets/stylesheets/spree/frontend.css
|
147
142
|
- app/assets/stylesheets/spree/frontend/_variables.scss
|
@@ -239,12 +234,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
239
234
|
requirements:
|
240
235
|
- - ">="
|
241
236
|
- !ruby/object:Gem::Version
|
242
|
-
version: 2.
|
237
|
+
version: 2.3.0
|
243
238
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
244
239
|
requirements:
|
245
|
-
- - "
|
240
|
+
- - ">"
|
246
241
|
- !ruby/object:Gem::Version
|
247
|
-
version:
|
242
|
+
version: 1.3.1
|
248
243
|
requirements:
|
249
244
|
- none
|
250
245
|
rubyforge_project:
|