solidus_paypal_braintree 0.3.0 → 0.4.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 76631d8678366736ecdab190121377841bafa0df
4
- data.tar.gz: bcc44b77f8ad9172d850676dd1784c7e43bad1cc
2
+ SHA256:
3
+ metadata.gz: 4532cc1c243930da786249db6885159a0dbbdcd33c93cdbafc4e97bd78f14938
4
+ data.tar.gz: dea753bf431d112a13398b4a62083bceccdbdb95f9cd265a08c0eaf1636f5e8c
5
5
  SHA512:
6
- metadata.gz: 75c8efca91fcd54a20d88e3e8c09e9c9d45bc14fe2bd662a9cb01cc4b6ff6fcf10c406447ef833246d508850e4e8c1f34e39970d5057d6817f4477ffb0a22dde
7
- data.tar.gz: ea6ffff49064914e97b69f08ceaaeadc809b3154cbaccea3f771000f225ac84fe6fd6b267bde462f63f3408bb6c23d6b32dc0fddfac75bb9fa3c07a8e99352f0
6
+ metadata.gz: ee52c4df8624682f72c3de3169284435868f3c70e502398c28142bba67648964d1cd2fcea89e3b72c94d075fcc01ac9cfd955f54b489ecb33eefd68d0553541f
7
+ data.tar.gz: 4d71c81ee1f5c5d70579c84ce186df98951e91de9acb1ef8c6b68cba94b3013daf10d9869c32ce6dd4e3fb7145e5bf9c6f9c42a2e9249aa69b5a09dc21896ce1
data/README.md CHANGED
@@ -180,6 +180,13 @@ var button = new PaypalButton(document.querySelector("#your-button-id"));
180
180
  button.setTokenizeCallback(your-callback);
181
181
  ```
182
182
 
183
+ ### Express checkout from the cart
184
+
185
+ A PayPal button can also be included on the cart view to enable express checkouts:
186
+ ```ruby
187
+ render "spree/shared/paypal_cart_button"
188
+ ```
189
+
183
190
  ## Optional configuration
184
191
 
185
192
  ### Accepting multiple currencies
data/Rakefile CHANGED
@@ -4,14 +4,11 @@ Bundler::GemHelper.install_tasks
4
4
 
5
5
  begin
6
6
  require 'spree/testing_support/extension_rake'
7
- require 'rubocop/rake_task'
8
7
  require 'rspec/core/rake_task'
9
8
 
10
9
  RSpec::Core::RakeTask.new(:spec)
11
10
 
12
- RuboCop::RakeTask.new
13
-
14
- task default: %i(first_run rubocop spec)
11
+ task default: %i(first_run spec)
15
12
  rescue LoadError
16
13
  # no rspec available
17
14
  end
@@ -168,7 +168,7 @@ SolidusPaypalBraintree.Client.prototype._createDataCollector = function() {
168
168
  };
169
169
 
170
170
  SolidusPaypalBraintree.Client.prototype._createPaypal = function() {
171
- return SolidusPaypalBraintree.PromiseShim.convertBraintreePromise(braintree.paypal.create, [{
171
+ return SolidusPaypalBraintree.PromiseShim.convertBraintreePromise(braintree.paypalCheckout.create, [{
172
172
  client: this._braintreeInstance
173
173
  }]).then(function (paypalInstance) {
174
174
  this._paypalInstance = paypalInstance;
@@ -4,15 +4,18 @@
4
4
  * @constructor
5
5
  * @param {object} element - The DOM element of your PayPal button
6
6
  */
7
- SolidusPaypalBraintree.PaypalButton = function(element, paypalOptions) {
7
+ SolidusPaypalBraintree.PaypalButton = function(element, paypalOptions, options) {
8
8
  this._element = element;
9
9
  this._paypalOptions = paypalOptions || {};
10
+ this._options = options || {};
10
11
  this._client = null;
12
+ this._environment = this._paypalOptions.environment || 'sandbox';
13
+ delete this._paypalOptions.environment;
11
14
 
12
15
  if(!this._element) {
13
16
  throw new Error("Element for the paypal button must be present on the page");
14
17
  }
15
- }
18
+ };
16
19
 
17
20
  /**
18
21
  * Creates the PayPal session using the provided options and enables the button
@@ -31,10 +34,17 @@ SolidusPaypalBraintree.PaypalButton.prototype.initialize = function() {
31
34
  SolidusPaypalBraintree.PaypalButton.prototype.initializeCallback = function() {
32
35
  this._paymentMethodId = this._client.paymentMethodId;
33
36
 
34
- this._element.removeAttribute('disabled');
35
- this._element.addEventListener('click', function(event) {
36
- this._client.getPaypalInstance().tokenize(this._paypalOptions, this._tokenizeCallback.bind(this));
37
- }.bind(this), false);
37
+ paypal.Button.render({
38
+ env: this._environment,
39
+
40
+ payment: function () {
41
+ return this._client.getPaypalInstance().createPayment(this._paypalOptions);
42
+ }.bind(this),
43
+
44
+ onAuthorize: function (data, actions) {
45
+ return this._client.getPaypalInstance().tokenizePayment(data, this._tokenizeCallback.bind(this));
46
+ }.bind(this)
47
+ }, this._element);
38
48
  };
39
49
 
40
50
  /**
@@ -60,7 +70,7 @@ SolidusPaypalBraintree.PaypalButton.prototype._tokenizeCallback = function(token
60
70
  window.location.href = response.redirectUrl;
61
71
  },
62
72
  error: function(xhr) {
63
- console.error("Error submitting transaction")
73
+ console.error("Error submitting transaction");
64
74
  },
65
75
  });
66
76
  };
@@ -74,6 +84,7 @@ SolidusPaypalBraintree.PaypalButton.prototype._tokenizeCallback = function(token
74
84
  SolidusPaypalBraintree.PaypalButton.prototype._transactionParams = function(payload) {
75
85
  return {
76
86
  "payment_method_id" : this._paymentMethodId,
87
+ "options": this._options,
77
88
  "transaction" : {
78
89
  "email" : payload.details.email,
79
90
  "phone" : payload.details.phone,
@@ -81,7 +92,7 @@ SolidusPaypalBraintree.PaypalButton.prototype._transactionParams = function(payl
81
92
  "payment_type" : payload.type,
82
93
  "address_attributes" : this._addressParams(payload)
83
94
  }
84
- }
95
+ };
85
96
  };
86
97
 
87
98
  /**
@@ -68,8 +68,8 @@ $(function() {
68
68
  if (!$paymentForm.length || !$hostedFields.length) { return; }
69
69
 
70
70
  $.when(
71
- $.getScript("https://js.braintreegateway.com/web/3.22.1/js/client.min.js"),
72
- $.getScript("https://js.braintreegateway.com/web/3.22.1/js/hosted-fields.min.js")
71
+ $.getScript("https://js.braintreegateway.com/web/3.34.0/js/client.min.js"),
72
+ $.getScript("https://js.braintreegateway.com/web/3.34.0/js/hosted-fields.min.js")
73
73
  ).done(function() {
74
74
  $hostedFields.each(function() {
75
75
  var $this = $(this),
@@ -1,32 +1,34 @@
1
1
  //= require solidus_paypal_braintree/paypal_button
2
2
 
3
+ // This is the PayPal button on the cart page
3
4
  $(document).ready(function() {
4
5
  if (document.getElementById("empty-cart")) {
5
6
  $.when(
6
- $.getScript("https://js.braintreegateway.com/web/3.22.1/js/client.min.js"),
7
- $.getScript("https://js.braintreegateway.com/web/3.22.1/js/paypal.min.js"),
8
- $.getScript("https://js.braintreegateway.com/web/3.22.1/js/data-collector.min.js")
7
+ $.getScript("https://js.braintreegateway.com/web/3.31.0/js/client.min.js"),
8
+ $.getScript("https://js.braintreegateway.com/web/3.31.0/js/paypal-checkout.min.js"),
9
+ $.getScript("https://js.braintreegateway.com/web/3.31.0/js/data-collector.min.js")
9
10
  ).done(function() {
11
+ $("#content").append('<div id="paypal-button"/>');
10
12
  $('<script/>').attr({
11
- 'data-merchant' : "braintree",
12
- 'data-id' : "paypal-button",
13
- 'data-button' : "checkout",
14
- 'data-color' : "blue",
15
- 'data-size' : "medium",
16
- 'data-shape' : "pill",
17
- 'data-button_type' : "button",
18
- 'data-button_disabled' : "true"
13
+ 'data-version-4' : "true"
19
14
  }).
20
15
  load(function() {
21
16
  var paypalOptions = {
22
17
  flow: 'vault',
23
18
  enableShippingAddress: true
24
19
  }
25
- var button = new SolidusPaypalBraintree.createPaypalButton(document.querySelector("#paypal-button"), paypalOptions);
20
+ var options = {
21
+ restart_checkout: true
22
+ }
23
+ var button = new SolidusPaypalBraintree.createPaypalButton(
24
+ document.querySelector("#paypal-button"),
25
+ paypalOptions,
26
+ options
27
+ );
26
28
  return button.initialize();
27
29
  }).
28
30
  insertAfter("#content").
29
- attr('src', 'https://www.paypalobjects.com/api/button.js?')
31
+ attr('src', 'https://www.paypalobjects.com/api/checkout.js');
30
32
  });
31
33
  }
32
34
  });
@@ -14,7 +14,8 @@ module SolidusPaypalBraintree
14
14
  if params[:payment_method_id]
15
15
  @gateway = ::SolidusPaypalBraintree::Gateway.find_by!(id: params[:payment_method_id])
16
16
  else
17
- @gateway = ::SolidusPaypalBraintree::Gateway.find_by!(active: true)
17
+ store_payment_methods_scope = current_store.payment_methods.empty? ? ::SolidusPaypalBraintree::Gateway.all : ::SolidusPaypalBraintree::Gateway.where(id: current_store.payment_method_ids)
18
+ @gateway = ::SolidusPaypalBraintree::Gateway.where(active: true).merge(store_payment_methods_scope).first!
18
19
  end
19
20
  end
20
21
  end
@@ -57,7 +57,7 @@ module SolidusPaypalBraintree
57
57
  merchant_id: preferred_merchant_id,
58
58
  public_key: preferred_public_key,
59
59
  private_key: preferred_private_key,
60
- logger: Braintree::Configuration.logger.clone
60
+ logger: logger
61
61
  }
62
62
  end
63
63
 
@@ -171,16 +171,16 @@ module SolidusPaypalBraintree
171
171
  # Otherwise, we return false so Solidus creates a refund instead.
172
172
  #
173
173
  # @api public
174
- # @param response_code [String] the transaction id of the payment to void
174
+ # @param payment [Spree::Payment] the payment to void
175
175
  # @return [Response|FalseClass]
176
- def try_void(response_code)
177
- transaction = braintree.transaction.find(response_code)
176
+ def try_void(payment)
177
+ transaction = braintree.transaction.find(payment.response_code)
178
178
  if transaction.status.in? SolidusPaypalBraintree::Gateway::VOIDABLE_STATUSES
179
179
  # Sometimes Braintree returns a voidable status although it is not voidable anymore.
180
180
  # When we try to void that transaction we receive an error and need to return false
181
181
  # so Solidus can create a refund instead.
182
182
  begin
183
- void(response_code, nil, {})
183
+ void(payment.response_code, nil, {})
184
184
  rescue ActiveMerchant::ConnectionError => e
185
185
  e.message.match(NON_VOIDABLE_STATUS_ERROR_REGEXP) ? false : raise(e)
186
186
  end
@@ -261,6 +261,12 @@ module SolidusPaypalBraintree
261
261
 
262
262
  private
263
263
 
264
+ def logger
265
+ Braintree::Configuration.logger.clone.tap do |logger|
266
+ logger.level = Rails.logger.level
267
+ end
268
+ end
269
+
264
270
  def dollars(cents)
265
271
  Money.new(cents).dollars
266
272
  end
@@ -35,7 +35,7 @@ module SolidusPaypalBraintree
35
35
  order.user
36
36
  end
37
37
 
38
- def import!(end_state)
38
+ def import!(end_state, restart_checkout: false)
39
39
  if valid?
40
40
  order.email = user.try!(:email) || transaction.email
41
41
 
@@ -51,6 +51,7 @@ module SolidusPaypalBraintree
51
51
  amount: order.total
52
52
 
53
53
  order.save!
54
+ order.restart_checkout_flow if restart_checkout
54
55
  advance_order(payment, end_state)
55
56
  else
56
57
  raise InvalidImportError,
@@ -0,0 +1,27 @@
1
+ <% address = current_order.ship_address %>
2
+
3
+ <button id="apple-pay-button" class="apple-pay-button"></button>
4
+
5
+ <script>
6
+ var applePayButtonElement = document.getElementById('apple-pay-button');
7
+ var applePayOptions = {
8
+ paymentMethodId: <%= id %>,
9
+ storeName: "<%= current_store.name %>",
10
+ orderEmail: "<%= current_order.email %>",
11
+ amount: "<%= current_order.total %>",
12
+ shippingContact: {
13
+ emailAddress: '<%= current_order.email %>',
14
+ familyName: '<%= address.firstname %>',
15
+ givenName: '<%= address.lastname %>',
16
+ phoneNumber: '<%= address.phone %>',
17
+ addressLines: ['<%= address.address1 %>','<%= address.address2 %>'],
18
+ locality: '<%= address.city %>',
19
+ administrativeArea: '<%= address.state.name %>',
20
+ postalCode: '<%= address.zipcode %>',
21
+ country: '<%= address.country.name %>',
22
+ countryCode: '<%= address.country.iso %>'
23
+ }
24
+ };
25
+ var button = new SolidusPaypalBraintree.createApplePayButton(applePayButtonElement, applePayOptions);
26
+ button.initialize();
27
+ </script>
@@ -0,0 +1,19 @@
1
+ <% content_for :head do %>
2
+ <script src="https://js.braintreegateway.com/web/3.34.0/js/client.min.js"></script>
3
+ <script src="https://js.braintreegateway.com/web/3.34.0/js/data-collector.min.js"></script>
4
+
5
+ <% if current_store.braintree_configuration.paypal? %>
6
+ <script src="https://js.braintreegateway.com/web/3.34.0/js/paypal-checkout.min.js"></script>
7
+ <script src="https://www.paypalobjects.com/api/checkout.js" data-version-4></script>
8
+ <% end %>
9
+
10
+ <% if current_store.braintree_configuration.credit_card? %>
11
+ <script src="https://js.braintreegateway.com/web/3.34.0/js/hosted-fields.min.js"></script>
12
+ <% end %>
13
+
14
+ <% if current_store.braintree_configuration.apple_pay? %>
15
+ <script src="https://js.braintreegateway.com/web/3.34.0/js/apple-pay.min.js"></script>
16
+ <% end %>
17
+
18
+ <%= javascript_include_tag "solidus_paypal_braintree/checkout" %>
19
+ <% end %>
@@ -0,0 +1,22 @@
1
+ <%= render "spree/shared/paypal_braintree_head_scripts" %>
2
+
3
+ <div id="paypal-button"></div>
4
+
5
+ <script>
6
+ var paypalOptions = {
7
+ flow: 'vault',
8
+ enableShippingAddress: true,
9
+ environment: '<%= Rails.env.production? ? "production" : "sandbox" %>'
10
+ }
11
+ var options = {
12
+ restart_checkout: true
13
+ }
14
+
15
+ var button = new SolidusPaypalBraintree.createPaypalButton(
16
+ document.querySelector("#paypal-button"),
17
+ paypalOptions,
18
+ options
19
+ )
20
+
21
+ button.initialize();
22
+ </script>
@@ -0,0 +1,27 @@
1
+ <% address = current_order.ship_address %>
2
+
3
+ <div id="paypal-button"></div>
4
+
5
+ <script>
6
+ var address = {
7
+ line1: '<%= address.address1 %>',
8
+ line2: '<%= address.address2 %>',
9
+ city: '<%= address.city %>',
10
+ state: '<%= address.state.name %>',
11
+ postalCode: '<%= address.zipcode %>',
12
+ countryCode: '<%= address.country.iso %>',
13
+ phone: '<%= address.phone %>',
14
+ recipientName: '<%= "#{address.firstname} #{address.lastname}" %>'
15
+ }
16
+
17
+ var paypalOptions = {
18
+ flow: 'vault',
19
+ enableShippingAddress: true,
20
+ shippingAddressOverride: address,
21
+ shippingAddressEditable: false,
22
+ environment: '<%= Rails.env.production? ? "production" : "sandbox" %>'
23
+ }
24
+
25
+ var button = new SolidusPaypalBraintree.createPaypalButton(document.querySelector("#paypal-button"), paypalOptions);
26
+ button.initialize();
27
+ </script>
@@ -15,10 +15,11 @@ class SolidusPaypalBraintree::TransactionsController < Spree::StoreController
15
15
  def create
16
16
  transaction = SolidusPaypalBraintree::Transaction.new transaction_params
17
17
  import = SolidusPaypalBraintree::TransactionImport.new(current_order, transaction)
18
+ restart_checkout = params[:options] && params[:options][:restart_checkout] == "true"
18
19
 
19
20
  respond_to do |format|
20
21
  if import.valid?
21
- import.import!(import_state)
22
+ import.import!(import_state, restart_checkout: restart_checkout)
22
23
 
23
24
  format.html { redirect_to redirect_url(import) }
24
25
  format.json { render json: { redirectUrl: redirect_url(import) } }
@@ -5,7 +5,6 @@ module SolidusPaypalBraintree
5
5
 
6
6
  def add_javascripts
7
7
  append_file 'vendor/assets/javascripts/spree/frontend/all.js', "//= require solidus_paypal_braintree/frontend\n"
8
- append_file 'vendor/assets/javascripts/spree/frontend/all.js', "//= require spree/frontend/paypal_button\n"
9
8
  append_file 'vendor/assets/javascripts/spree/backend/all.js', "//= require spree/backend/solidus_paypal_braintree\n"
10
9
  end
11
10
 
@@ -27,7 +27,6 @@ module SolidusPaypalBraintree
27
27
  config.assets.precompile += [
28
28
  'solidus_paypal_braintree/checkout.js',
29
29
  'solidus_paypal_braintree/frontend.js',
30
- 'spree/frontend/paypal_button.js',
31
30
  'spree/frontend/apple_pay_button.js'
32
31
  ]
33
32
  paths["app/controllers"] << "lib/controllers/frontend"
@@ -49,6 +48,17 @@ module SolidusPaypalBraintree
49
48
  end
50
49
 
51
50
  paths["app/views"] << "lib/views/backend"
51
+
52
+ initializer "solidus_paypal_braintree_admin_menu_item", after: "register_solidus_paypal_braintree_gateway" do |app|
53
+ Spree::Backend::Config.configure do |config|
54
+ config.menu_items << config.class::MenuItem.new(
55
+ [:braintree],
56
+ 'cc-paypal',
57
+ url: '/solidus_paypal_braintree/configurations/list',
58
+ condition: -> { can?(:list, SolidusPaypalBraintree::Configuration) }
59
+ )
60
+ end
61
+ end
52
62
  end
53
63
  end
54
64
  end
@@ -1,3 +1,3 @@
1
1
  module SolidusPaypalBraintree
2
- VERSION = '0.3.0'
2
+ VERSION = '0.4.0'
3
3
  end
@@ -1,59 +1,9 @@
1
- <% address = current_order.ship_address %>
2
1
  <% id = payment_method.id %>
3
2
 
4
- <% content_for :head do %>
5
- <script src="https://js.braintreegateway.com/web/3.22.1/js/client.min.js"></script>
6
- <script src="https://js.braintreegateway.com/web/3.22.1/js/data-collector.min.js"></script>
7
-
8
- <% if current_store.braintree_configuration.paypal? %>
9
- <script src="https://js.braintreegateway.com/web/3.22.1/js/paypal.min.js"></script>
10
- <% end %>
11
-
12
- <% if current_store.braintree_configuration.credit_card? %>
13
- <script src="https://js.braintreegateway.com/web/3.22.1/js/hosted-fields.min.js"></script>
14
- <% end %>
15
-
16
- <% if current_store.braintree_configuration.apple_pay? %>
17
- <script src="https://js.braintreegateway.com/web/3.22.1/js/apple-pay.min.js"></script>
18
- <% end %>
19
-
20
- <%= javascript_include_tag "solidus_paypal_braintree/checkout" %>
21
- <% end %>
3
+ <%= render "spree/shared/paypal_braintree_head_scripts" %>
22
4
 
23
5
  <% if current_store.braintree_configuration.paypal? %>
24
- <script src="https://www.paypalobjects.com/api/button.js?"
25
- data-merchant="braintree"
26
- data-id="paypal-button"
27
- data-button="checkout"
28
- data-color="blue"
29
- data-size="medium"
30
- data-shape="pill"
31
- data-button_type="button"
32
- data-button_disabled="true"
33
- ></script>
34
-
35
- <script>
36
- var address = {
37
- line1: '<%= address.address1 %>',
38
- line2: '<%= address.address2 %>',
39
- city: '<%= address.city %>',
40
- state: '<%= address.state.name %>',
41
- postalCode: '<%= address.zipcode %>',
42
- countryCode: '<%= address.country.iso %>',
43
- phone: '<%= address.phone %>',
44
- recipientName: '<%= "#{address.firstname} #{address.lastname}" %>'
45
- }
46
-
47
- var paypalOptions = {
48
- flow: 'vault',
49
- enableShippingAddress: true,
50
- shippingAddressOverride: address,
51
- shippingAddressEditable: false
52
- }
53
-
54
- var button = new SolidusPaypalBraintree.createPaypalButton(document.querySelector("#paypal-button"), paypalOptions);
55
- button.initialize();
56
- </script>
6
+ <%= render "spree/shared/paypal_checkout_button" %>
57
7
  <% end %>
58
8
 
59
9
  <% if current_store.braintree_configuration.credit_card? %>
@@ -63,28 +13,5 @@
63
13
  <% end %>
64
14
 
65
15
  <% if current_store.braintree_configuration.apple_pay? %>
66
- <button id="apple-pay-button" class="apple-pay-button"></button>
67
- <script>
68
- var applePayButtonElement = document.getElementById('apple-pay-button');
69
- var applePayOptions = {
70
- paymentMethodId: <%= id %>,
71
- storeName: "<%= current_store.name %>",
72
- orderEmail: "<%= current_order.email %>",
73
- amount: "<%= current_order.total %>",
74
- shippingContact: {
75
- emailAddress: '<%= current_order.email %>',
76
- familyName: '<%= address.firstname %>',
77
- givenName: '<%= address.lastname %>',
78
- phoneNumber: '<%= address.phone %>',
79
- addressLines: ['<%= address.address1 %>','<%= address.address2 %>'],
80
- locality: '<%= address.city %>',
81
- administrativeArea: '<%= address.state.name %>',
82
- postalCode: '<%= address.zipcode %>',
83
- country: '<%= address.country.name %>',
84
- countryCode: '<%= address.country.iso %>'
85
- }
86
- };
87
- var button = new SolidusPaypalBraintree.createApplePayButton(applePayButtonElement, applePayOptions);
88
- button.initialize();
89
- </script>
16
+ <%= render "spree/shared/apple_pay_button" %>
90
17
  <% end %>
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: solidus_paypal_braintree
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stembolt
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-05-25 00:00:00.000000000 Z
11
+ date: 2018-07-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: solidus
@@ -76,16 +76,30 @@ dependencies:
76
76
  name: capybara
77
77
  requirement: !ruby/object:Gem::Requirement
78
78
  requirements:
79
- - - "~>"
79
+ - - ">="
80
80
  - !ruby/object:Gem::Version
81
- version: '2.18'
81
+ version: '0'
82
82
  type: :development
83
83
  prerelease: false
84
84
  version_requirements: !ruby/object:Gem::Requirement
85
85
  requirements:
86
- - - "~>"
86
+ - - ">="
87
87
  - !ruby/object:Gem::Version
88
- version: '2.18'
88
+ version: '0'
89
+ - !ruby/object:Gem::Dependency
90
+ name: puma
91
+ requirement: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - ">="
94
+ - !ruby/object:Gem::Version
95
+ version: '0'
96
+ type: :development
97
+ prerelease: false
98
+ version_requirements: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - ">="
101
+ - !ruby/object:Gem::Version
102
+ version: '0'
89
103
  - !ruby/object:Gem::Dependency
90
104
  name: capybara-screenshot
91
105
  requirement: !ruby/object:Gem::Requirement
@@ -317,9 +331,12 @@ files:
317
331
  - app/models/solidus_paypal_braintree/transaction_address.rb
318
332
  - app/models/solidus_paypal_braintree/transaction_import.rb
319
333
  - app/models/spree/store_decorator.rb
320
- - app/overrides/admin_navigation_menu.rb
334
+ - app/views/spree/shared/_apple_pay_button.html.erb
321
335
  - app/views/spree/shared/_braintree_errors.html.erb
322
336
  - app/views/spree/shared/_braintree_hosted_fields.html.erb
337
+ - app/views/spree/shared/_paypal_braintree_head_scripts.html.erb
338
+ - app/views/spree/shared/_paypal_cart_button.html.erb
339
+ - app/views/spree/shared/_paypal_checkout_button.html.erb
323
340
  - config/initializers/braintree.rb
324
341
  - config/locales/en.yml
325
342
  - config/locales/it.yml
@@ -341,7 +358,6 @@ files:
341
358
  - lib/solidus_paypal_braintree/factories.rb
342
359
  - lib/solidus_paypal_braintree/request_protection.rb
343
360
  - lib/solidus_paypal_braintree/version.rb
344
- - lib/views/backend/solidus_paypal_braintree/configurations/_admin_tab.html.erb
345
361
  - lib/views/backend/solidus_paypal_braintree/configurations/list.html.erb
346
362
  - lib/views/backend/spree/admin/payments/source_forms/_paypal_braintree.html.erb
347
363
  - lib/views/backend/spree/admin/payments/source_views/_paypal_braintree.html.erb
@@ -368,7 +384,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
368
384
  version: '0'
369
385
  requirements: []
370
386
  rubyforge_project:
371
- rubygems_version: 2.2.2
387
+ rubygems_version: 2.7.6
372
388
  signing_key:
373
389
  specification_version: 4
374
390
  summary: Officially supported Paypal/Braintree extension
@@ -1,6 +0,0 @@
1
- Deface::Override.new(
2
- virtual_path: "spree/admin/shared/_settings_sub_menu",
3
- name: "solidus_paypal_braintree_admin_navigation_configuration",
4
- insert_bottom: "[data-hook='admin_settings_sub_tabs']",
5
- partial: "solidus_paypal_braintree/configurations/admin_tab"
6
- )
@@ -1,3 +0,0 @@
1
- <%= tab :braintree, match_path: /braintree\/configurations/,
2
- url: solidus_paypal_braintree.list_configurations_path
3
- %>