spree_core 2.1.1 → 2.1.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/controllers/spree/base_controller.rb +1 -2
- data/app/helpers/spree/products_helper.rb +8 -3
- data/app/mailers/spree/base_mailer.rb +5 -0
- data/app/models/spree/ability.rb +0 -3
- data/app/models/spree/adjustment.rb +2 -1
- data/app/models/spree/app_configuration.rb +2 -0
- data/app/models/spree/classification.rb +3 -0
- data/app/models/spree/country.rb +2 -1
- data/app/models/spree/image.rb +1 -1
- data/app/models/spree/line_item.rb +2 -0
- data/app/models/spree/order.rb +33 -16
- data/app/models/spree/order/checkout.rb +1 -1
- data/app/models/spree/payment.rb +14 -2
- data/app/models/spree/payment/processing.rb +3 -3
- data/app/models/spree/preferences/configuration.rb +5 -1
- data/app/models/spree/preferences/preferable.rb +5 -1
- data/app/models/spree/preferences/store.rb +14 -15
- data/app/models/spree/product.rb +4 -3
- data/app/models/spree/product/scopes.rb +7 -14
- data/app/models/spree/return_authorization.rb +3 -6
- data/app/models/spree/shipment.rb +4 -1
- data/app/models/spree/state.rb +1 -0
- data/app/models/spree/stock/availability_validator.rb +1 -1
- data/app/models/spree/stock/estimator.rb +26 -26
- data/app/models/spree/stock/quantifier.rb +1 -1
- data/app/models/spree/stock_item.rb +11 -7
- data/app/models/spree/variant.rb +4 -3
- data/config/locales/en.yml +8 -2
- data/config/routes.rb +1 -0
- data/db/default/spree/countries.rb +26 -26
- data/db/migrate/20130213191427_create_default_stock.rb +5 -2
- data/db/migrate/20130830001033_add_shipping_category_to_shipping_methods_and_products.rb +15 -0
- data/db/migrate/20130830001159_migrate_old_shipping_calculators.rb +19 -0
- data/db/migrate/20130909115621_change_states_required_for_countries.rb +9 -0
- data/db/migrate/20131001013410_remove_unused_credit_card_fields.rb +12 -0
- data/lib/spree/core/controller_helpers/order.rb +1 -1
- data/lib/spree/core/controller_helpers/ssl.rb +22 -13
- data/lib/spree/core/engine.rb +2 -10
- data/lib/spree/core/permalinks.rb +1 -5
- data/lib/spree/core/preference_rescue.rb +25 -0
- data/lib/spree/core/product_filters.rb +34 -38
- data/lib/spree/core/routes.rb +48 -0
- data/lib/spree/core/version.rb +1 -1
- data/lib/spree/money.rb +4 -0
- data/lib/spree/permitted_attributes.rb +1 -1
- data/lib/spree/testing_support/factories/credit_card_factory.rb +1 -1
- metadata +15 -9
- data/app/views/spree/shared/_address.html.erb +0 -38
@@ -4,10 +4,13 @@ class CreateDefaultStock < ActiveRecord::Migration
|
|
4
4
|
Spree::StockItem.skip_callback(:save, :after, :process_backorders)
|
5
5
|
location = Spree::StockLocation.new(name: 'default')
|
6
6
|
location.save(validate: false)
|
7
|
+
|
7
8
|
Spree::Variant.all.each do |variant|
|
8
|
-
stock_item =
|
9
|
+
stock_item = Spree::StockItem.unscoped.build(stock_location: location, variant: variant)
|
9
10
|
stock_item.send(:count_on_hand=, variant.count_on_hand)
|
10
|
-
|
11
|
+
# Avoid running default_scope defined by acts_as_paranoid, related to #3805,
|
12
|
+
# validations would run a query with a delete_at column tha might not be present yet
|
13
|
+
stock_item.save! validate: false
|
11
14
|
end
|
12
15
|
|
13
16
|
remove_column :spree_variants, :count_on_hand
|
@@ -0,0 +1,15 @@
|
|
1
|
+
class AddShippingCategoryToShippingMethodsAndProducts < ActiveRecord::Migration
|
2
|
+
def up
|
3
|
+
default_category = Spree::ShippingCategory.first
|
4
|
+
default_category ||= Spree::ShippingCategory.create!(:name => "Default")
|
5
|
+
|
6
|
+
Spree::ShippingMethod.all.each do |method|
|
7
|
+
method.shipping_categories << default_category if method.shipping_categories.blank?
|
8
|
+
end
|
9
|
+
|
10
|
+
Spree::Product.where(shipping_category_id: nil).update_all(shipping_category_id: default_category.id)
|
11
|
+
end
|
12
|
+
|
13
|
+
def down
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
class MigrateOldShippingCalculators < ActiveRecord::Migration
|
2
|
+
def up
|
3
|
+
Spree::ShippingMethod.all.each do |shipping_method|
|
4
|
+
old_calculator = shipping_method.calculator
|
5
|
+
next if old_calculator.class < Spree::ShippingCalculator # We don't want to mess with new shipping calculators
|
6
|
+
new_calculator = eval("Spree::Calculator::Shipping::#{old_calculator.class.name.demodulize}").new
|
7
|
+
new_calculator.preferences.keys.each do |pref|
|
8
|
+
# Preferences can't be read/set by name, you have to prefix preferred_
|
9
|
+
pref_method = "preferred_#{pref}"
|
10
|
+
new_calculator.send("#{pref_method}=", old_calculator.send(pref_method))
|
11
|
+
end
|
12
|
+
new_calculator.calculable = old_calculator.calculable
|
13
|
+
new_calculator.save
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
def down
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
class RemoveUnusedCreditCardFields < ActiveRecord::Migration
|
2
|
+
def up
|
3
|
+
remove_column :spree_credit_cards, :start_month
|
4
|
+
remove_column :spree_credit_cards, :start_year
|
5
|
+
remove_column :spree_credit_cards, :issue_number
|
6
|
+
end
|
7
|
+
def down
|
8
|
+
add_column :spree_credit_cards, :start_month, :string
|
9
|
+
add_column :spree_credit_cards, :start_year, :string
|
10
|
+
add_column :spree_credit_cards, :issue_number, :string
|
11
|
+
end
|
12
|
+
end
|
@@ -59,7 +59,7 @@ module Spree
|
|
59
59
|
if session[:order_id].nil? && last_incomplete_order
|
60
60
|
session[:order_id] = last_incomplete_order.id
|
61
61
|
elsif current_order(true) && last_incomplete_order && current_order != last_incomplete_order
|
62
|
-
current_order.merge!(last_incomplete_order)
|
62
|
+
current_order.merge!(last_incomplete_order, user)
|
63
63
|
end
|
64
64
|
end
|
65
65
|
end
|
@@ -6,20 +6,20 @@ module Spree
|
|
6
6
|
|
7
7
|
included do
|
8
8
|
before_filter :force_non_ssl_redirect, :if => Proc.new { Spree::Config[:redirect_https_to_http] }
|
9
|
+
class_attribute :ssl_allowed_actions
|
9
10
|
|
10
11
|
def self.ssl_allowed(*actions)
|
11
|
-
|
12
|
-
self.ssl_allowed_actions
|
12
|
+
self.ssl_allowed_actions ||= []
|
13
|
+
self.ssl_allowed_actions.concat actions
|
13
14
|
end
|
14
15
|
|
15
16
|
def self.ssl_required(*actions)
|
16
|
-
|
17
|
-
self.ssl_required_actions = actions
|
17
|
+
ssl_allowed *actions
|
18
18
|
if ssl_supported?
|
19
|
-
if
|
19
|
+
if actions.empty? or Rails.application.config.force_ssl
|
20
20
|
force_ssl
|
21
21
|
else
|
22
|
-
force_ssl :only =>
|
22
|
+
force_ssl :only => actions
|
23
23
|
end
|
24
24
|
end
|
25
25
|
end
|
@@ -31,19 +31,28 @@ module Spree
|
|
31
31
|
end
|
32
32
|
|
33
33
|
private
|
34
|
+
def ssl_allowed?
|
35
|
+
(!ssl_allowed_actions.nil? && (ssl_allowed_actions.empty? || ssl_allowed_actions.include?(action_name.to_sym)))
|
36
|
+
end
|
34
37
|
|
35
38
|
# Redirect the existing request to use the HTTP protocol.
|
36
39
|
#
|
37
40
|
# ==== Parameters
|
38
41
|
# * <tt>host</tt> - Redirect to a different host name
|
39
42
|
def force_non_ssl_redirect(host = nil)
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
43
|
+
if request.ssl? && !ssl_allowed?
|
44
|
+
if request.get?
|
45
|
+
redirect_options = {
|
46
|
+
:protocol => 'http://',
|
47
|
+
:host => host || request.host,
|
48
|
+
:path => request.fullpath,
|
49
|
+
}
|
50
|
+
flash.keep if respond_to?(:flash)
|
51
|
+
insecure_url = ActionDispatch::Http::URL.url_for(redirect_options)
|
52
|
+
redirect_to insecure_url, :status => :moved_permanently
|
53
|
+
else
|
54
|
+
render :text => Spree.t(:change_protocol, :scope => :ssl), :status => :upgrade_required
|
55
|
+
end
|
47
56
|
end
|
48
57
|
end
|
49
58
|
end
|
data/lib/spree/core/engine.rb
CHANGED
@@ -16,16 +16,6 @@ module Spree
|
|
16
16
|
end
|
17
17
|
end
|
18
18
|
|
19
|
-
# We need to reload the routes here due to how Spree sets them up.
|
20
|
-
# The different facets of Spree (backend, frontend, etc.) append/prepend
|
21
|
-
# routes to Core *after* Core has been loaded.
|
22
|
-
#
|
23
|
-
# So we wait until after initialization is complete to do one final reload.
|
24
|
-
# This then makes the appended/prepended routes available to the application.
|
25
|
-
config.after_initialize do
|
26
|
-
Rails.application.routes_reloader.reload!
|
27
|
-
end
|
28
|
-
|
29
19
|
initializer "spree.environment", :before => :load_config_initializers do |app|
|
30
20
|
app.config.spree = Spree::Core::Environment.new
|
31
21
|
Spree::Config = app.config.spree.preferences #legacy access
|
@@ -111,3 +101,5 @@ module Spree
|
|
111
101
|
end
|
112
102
|
end
|
113
103
|
end
|
104
|
+
|
105
|
+
require 'spree/core/routes'
|
@@ -14,11 +14,7 @@ module Spree
|
|
14
14
|
options[:field] ||= :permalink
|
15
15
|
self.permalink_options = options
|
16
16
|
|
17
|
-
|
18
|
-
if self.table_exists? && self.column_names.include?(permalink_options[:field].to_s)
|
19
|
-
before_validation(:on => :create) { save_permalink }
|
20
|
-
end
|
21
|
-
end
|
17
|
+
before_validation(:on => :create) { save_permalink }
|
22
18
|
end
|
23
19
|
|
24
20
|
def find_by_param(value, *args)
|
@@ -0,0 +1,25 @@
|
|
1
|
+
module Spree
|
2
|
+
class OldPrefs < ActiveRecord::Base
|
3
|
+
self.table_name = "spree_preferences"
|
4
|
+
belongs_to :owner, :polymorphic => true
|
5
|
+
attr_accessor :owner_klass
|
6
|
+
end
|
7
|
+
|
8
|
+
class PreferenceRescue
|
9
|
+
def self.try
|
10
|
+
OldPrefs.where(:key => nil).each do |old_pref|
|
11
|
+
next unless owner = (old_pref.owner rescue nil)
|
12
|
+
unless old_pref.owner_type == "Spree::Activator" || old_pref.owner_type == "Spree::Configuration"
|
13
|
+
begin
|
14
|
+
old_pref.key = [owner.class.name, old_pref.name, owner.id].join('::').underscore
|
15
|
+
old_pref.value_type = owner.preference_type(old_pref.name)
|
16
|
+
puts "Migrating Preference: #{old_pref.key}"
|
17
|
+
old_pref.save
|
18
|
+
rescue NoMethodError => ex
|
19
|
+
puts ex.message
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -97,28 +97,26 @@ module Spree
|
|
97
97
|
# the (uniquely named) field "p_brand.value". There's also a test for brand info
|
98
98
|
# being blank: note that this relies on with_property doing a left outer join
|
99
99
|
# rather than an inner join.
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
scope = scope.or(new_scope)
|
106
|
-
end
|
107
|
-
Spree::Product.with_property('brand').where(scope)
|
100
|
+
Spree::Product.add_search_scope :brand_any do |*opts|
|
101
|
+
conds = opts.map {|o| ProductFilters.brand_filter[:conds][o]}.reject { |c| c.nil? }
|
102
|
+
scope = conds.shift
|
103
|
+
conds.each do |new_scope|
|
104
|
+
scope = scope.or(new_scope)
|
108
105
|
end
|
106
|
+
Spree::Product.with_property('brand').where(scope)
|
107
|
+
end
|
109
108
|
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
end
|
109
|
+
def ProductFilters.brand_filter
|
110
|
+
brand_property = Spree::Property.find_by(name: 'brand')
|
111
|
+
brands = brand_property ? Spree::ProductProperty.where(property_id: brand_property.id).pluck(:value).uniq.map(&:to_s) : []
|
112
|
+
pp = Spree::ProductProperty.arel_table
|
113
|
+
conds = Hash[*brands.map { |b| [b, pp[:value].eq(b)] }.flatten]
|
114
|
+
{
|
115
|
+
name: 'Brands',
|
116
|
+
scope: :brand_any,
|
117
|
+
conds: conds,
|
118
|
+
labels: (brands.sort).map { |k| [k, k] }
|
119
|
+
}
|
122
120
|
end
|
123
121
|
|
124
122
|
# Example: a parameterized filter
|
@@ -140,25 +138,23 @@ module Spree
|
|
140
138
|
#
|
141
139
|
# The brand-finding code can be simplified if a few more named scopes were added to
|
142
140
|
# the product properties model.
|
143
|
-
|
144
|
-
Spree::Product.
|
145
|
-
|
146
|
-
end
|
141
|
+
Spree::Product.add_search_scope :selective_brand_any do |*opts|
|
142
|
+
Spree::Product.brand_any(*opts)
|
143
|
+
end
|
147
144
|
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
end
|
145
|
+
def ProductFilters.selective_brand_filter(taxon = nil)
|
146
|
+
taxon ||= Spree::Taxonomy.first.root
|
147
|
+
brand_property = Spree::Property.find_by(name: 'brand')
|
148
|
+
scope = Spree::ProductProperty.where(property: brand_property).
|
149
|
+
joins(product: :taxons).
|
150
|
+
where("#{Spree::Taxon.table_name}.id" => [taxon] + taxon.descendants).
|
151
|
+
scoped
|
152
|
+
brands = scope.pluck(:value).uniq
|
153
|
+
{
|
154
|
+
name: 'Applicable Brands',
|
155
|
+
scope: :selective_brand_any,
|
156
|
+
labels: brands.sort.map { |k| [k, k] }
|
157
|
+
}
|
162
158
|
end
|
163
159
|
|
164
160
|
# Provide filtering on the immediate children of a taxon
|
@@ -0,0 +1,48 @@
|
|
1
|
+
module Spree
|
2
|
+
module Core
|
3
|
+
class Engine < ::Rails::Engine
|
4
|
+
def self.add_routes(&block)
|
5
|
+
@spree_routes ||= []
|
6
|
+
|
7
|
+
# Anything that causes the application's routes to be reloaded,
|
8
|
+
# will cause this method to be called more than once
|
9
|
+
# i.e. https://github.com/plataformatec/devise/blob/31971e69e6a1bcf6c7f01eaaa44f227c4af5d4d2/lib/devise/rails.rb#L14
|
10
|
+
# In the case of Devise, this *only* happens in the production env
|
11
|
+
# This coupled with Rails 4's insistence that routes are not drawn twice,
|
12
|
+
# poses quite a serious problem.
|
13
|
+
#
|
14
|
+
# This is mainly why this whole file exists in the first place.
|
15
|
+
#
|
16
|
+
# Thus we need to make sure that the routes aren't drawn twice.
|
17
|
+
unless @spree_routes.include?(block)
|
18
|
+
@spree_routes << block
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
def self.append_routes(&block)
|
23
|
+
@append_routes ||= []
|
24
|
+
# See comment in add_routes.
|
25
|
+
unless @append_routes.include?(block)
|
26
|
+
@append_routes << block
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
def self.draw_routes(&block)
|
31
|
+
@spree_routes ||= []
|
32
|
+
@append_routes ||= []
|
33
|
+
eval_block(block) if block_given?
|
34
|
+
@spree_routes.each { |r| eval_block(&r) }
|
35
|
+
@append_routes.each { |r| eval_block(&r) }
|
36
|
+
# # Clear out routes so that they aren't drawn twice.
|
37
|
+
@spree_routes = []
|
38
|
+
@append_routes = []
|
39
|
+
end
|
40
|
+
|
41
|
+
private
|
42
|
+
|
43
|
+
def eval_block(&block)
|
44
|
+
Spree::Core::Engine.routes.eval_block(block)
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
data/lib/spree/core/version.rb
CHANGED
data/lib/spree/money.rb
CHANGED
@@ -31,7 +31,7 @@ module Spree
|
|
31
31
|
:city, :country_id, :state_id, :zipcode, :phone,
|
32
32
|
:state_name, :alternative_phone, :company]
|
33
33
|
|
34
|
-
@@checkout_attributes = [:email, :use_billing, :shipping_method_id, :coupon_code]
|
34
|
+
@@checkout_attributes = [:email, :use_billing, :shipping_method_id, :coupon_code, :special_instructions]
|
35
35
|
|
36
36
|
@@image_attributes = [:alt, :attachment, :position, :viewable_type, :viewable_id]
|
37
37
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: spree_core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.1.
|
4
|
+
version: 2.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sean Schofield
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-
|
11
|
+
date: 2013-10-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activemerchant
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - '='
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 1.
|
19
|
+
version: 1.39.2
|
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: 1.
|
26
|
+
version: 1.39.2
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: acts_as_list
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -44,14 +44,14 @@ dependencies:
|
|
44
44
|
requirements:
|
45
45
|
- - ~>
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: 3.0.0.rc.
|
47
|
+
version: 3.0.0.rc.2
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - ~>
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: 3.0.0.rc.
|
54
|
+
version: 3.0.0.rc.2
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: aws-sdk
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -168,14 +168,14 @@ dependencies:
|
|
168
168
|
name: money
|
169
169
|
requirement: !ruby/object:Gem::Requirement
|
170
170
|
requirements:
|
171
|
-
- - '
|
171
|
+
- - '>='
|
172
172
|
- !ruby/object:Gem::Version
|
173
173
|
version: 5.1.1
|
174
174
|
type: :runtime
|
175
175
|
prerelease: false
|
176
176
|
version_requirements: !ruby/object:Gem::Requirement
|
177
177
|
requirements:
|
178
|
-
- - '
|
178
|
+
- - '>='
|
179
179
|
- !ruby/object:Gem::Version
|
180
180
|
version: 5.1.1
|
181
181
|
- !ruby/object:Gem::Dependency
|
@@ -416,13 +416,13 @@ files:
|
|
416
416
|
- app/views/spree/order_mailer/cancel_email.text.erb
|
417
417
|
- app/views/spree/order_mailer/confirm_email.text.erb
|
418
418
|
- app/views/spree/payments/_payment.html.erb
|
419
|
-
- app/views/spree/shared/_address.html.erb
|
420
419
|
- app/views/spree/shared/_error_messages.html.erb
|
421
420
|
- app/views/spree/shared/_routes.html.erb
|
422
421
|
- app/views/spree/shipment_mailer/shipped_email.text.erb
|
423
422
|
- app/views/spree/test_mailer/test_email.text.erb
|
424
423
|
- config/initializers/user_class_extensions.rb
|
425
424
|
- config/locales/en.yml
|
425
|
+
- config/routes.rb
|
426
426
|
- lib/generators/spree/custom_user/custom_user_generator.rb
|
427
427
|
- lib/generators/spree/custom_user/templates/authentication_helpers.rb.tt
|
428
428
|
- lib/generators/spree/custom_user/templates/initializer.rb.tt
|
@@ -460,8 +460,10 @@ files:
|
|
460
460
|
- lib/spree/core/mail_interceptor.rb
|
461
461
|
- lib/spree/core/mail_settings.rb
|
462
462
|
- lib/spree/core/permalinks.rb
|
463
|
+
- lib/spree/core/preference_rescue.rb
|
463
464
|
- lib/spree/core/product_duplicator.rb
|
464
465
|
- lib/spree/core/product_filters.rb
|
466
|
+
- lib/spree/core/routes.rb
|
465
467
|
- lib/spree/core/s3_support.rb
|
466
468
|
- lib/spree/core/search/base.rb
|
467
469
|
- lib/spree/core/token_resource.rb
|
@@ -618,7 +620,11 @@ files:
|
|
618
620
|
- db/migrate/20130809164330_add_admin_name_column_to_spree_stock_locations.rb
|
619
621
|
- db/migrate/20130813140619_expand_order_number_size.rb
|
620
622
|
- db/migrate/20130826062534_add_depth_to_spree_taxons.rb
|
623
|
+
- db/migrate/20130830001033_add_shipping_category_to_shipping_methods_and_products.rb
|
624
|
+
- db/migrate/20130830001159_migrate_old_shipping_calculators.rb
|
625
|
+
- db/migrate/20130909115621_change_states_required_for_countries.rb
|
621
626
|
- db/migrate/20130915032339_add_deleted_at_to_spree_stock_items.rb
|
627
|
+
- db/migrate/20131001013410_remove_unused_credit_card_fields.rb
|
622
628
|
- db/seeds.rb
|
623
629
|
- vendor/assets/javascripts/jquery-migrate-1.0.0.js
|
624
630
|
- vendor/assets/javascripts/jquery.payment.js
|