solidus_bank_transfer 0.0.1
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 +7 -0
- data/LICENSE +26 -0
- data/README.md +63 -0
- data/Rakefile +32 -0
- data/app/assets/javascripts/spree/backend/solidus_bank_transfer.js +2 -0
- data/app/assets/javascripts/spree/frontend/solidus_bank_transfer.js +2 -0
- data/app/assets/stylesheets/spree/backend/solidus_bank_transfer.css +4 -0
- data/app/assets/stylesheets/spree/frontend/solidus_bank_transfer.css +4 -0
- data/app/models/spree/payment_method/bank_transfer.rb +46 -0
- data/app/views/spree/checkout/payment/_banktransfer.html.erb +16 -0
- data/app/views/spree/order_mailer/_bank_transfer_details.html.erb +23 -0
- data/app/views/spree/orders/_bank_transfer_details.html.erb +22 -0
- data/config/locales/en.yml +14 -0
- data/config/locales/it.yml +14 -0
- data/config/routes.rb +5 -0
- data/lib/generators/solidus_bank_transfer/install/install_generator.rb +32 -0
- data/lib/solidus_bank_transfer.rb +4 -0
- data/lib/solidus_bank_transfer/engine.rb +26 -0
- data/lib/solidus_bank_transfer/factories.rb +17 -0
- data/lib/solidus_bank_transfer/version.rb +5 -0
- data/spec/dummy/README.md +24 -0
- data/spec/dummy/Rakefile +6 -0
- data/spec/dummy/app/assets/config/manifest.js +3 -0
- data/spec/dummy/app/assets/javascripts/cable.js +13 -0
- data/spec/dummy/app/assets/stylesheets/application.css +15 -0
- data/spec/dummy/app/channels/application_cable/channel.rb +4 -0
- data/spec/dummy/app/channels/application_cable/connection.rb +4 -0
- data/spec/dummy/app/controllers/application_controller.rb +2 -0
- data/spec/dummy/app/helpers/application_helper.rb +2 -0
- data/spec/dummy/app/jobs/application_job.rb +2 -0
- data/spec/dummy/app/mailers/application_mailer.rb +4 -0
- data/spec/dummy/app/models/application_record.rb +3 -0
- data/spec/dummy/app/views/layouts/application.html.erb +15 -0
- data/spec/dummy/app/views/layouts/mailer.html.erb +13 -0
- data/spec/dummy/app/views/layouts/mailer.text.erb +1 -0
- data/spec/dummy/bin/bundle +3 -0
- data/spec/dummy/bin/rails +4 -0
- data/spec/dummy/bin/rake +4 -0
- data/spec/dummy/bin/setup +33 -0
- data/spec/dummy/bin/update +28 -0
- data/spec/dummy/config.ru +5 -0
- data/spec/dummy/config/application.rb +54 -0
- data/spec/dummy/config/boot.rb +6 -0
- data/spec/dummy/config/cable.yml +10 -0
- data/spec/dummy/config/credentials.yml.enc +1 -0
- data/spec/dummy/config/database.yml +21 -0
- data/spec/dummy/config/environment.rb +5 -0
- data/spec/dummy/config/environments/development.rb +61 -0
- data/spec/dummy/config/environments/production.rb +94 -0
- data/spec/dummy/config/environments/test.rb +33 -0
- data/spec/dummy/config/initializers/application_controller_renderer.rb +8 -0
- data/spec/dummy/config/initializers/assets.rb +12 -0
- data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
- data/spec/dummy/config/initializers/content_security_policy.rb +25 -0
- data/spec/dummy/config/initializers/cookies_serializer.rb +5 -0
- data/spec/dummy/config/initializers/filter_parameter_logging.rb +4 -0
- data/spec/dummy/config/initializers/inflections.rb +16 -0
- data/spec/dummy/config/initializers/mime_types.rb +4 -0
- data/spec/dummy/config/initializers/spree.rb +52 -0
- data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
- data/spec/dummy/config/locales/en.yml +33 -0
- data/spec/dummy/config/master.key +1 -0
- data/spec/dummy/config/routes.rb +9 -0
- data/spec/dummy/config/storage.yml +34 -0
- data/spec/dummy/db/migrate/20190822070920_create_active_storage_tables.active_storage.rb +27 -0
- data/spec/dummy/db/migrate/20190822070921_solidus_one_four.spree.rb +1103 -0
- data/spec/dummy/db/migrate/20190822070922_create_spree_wallet_payment_sources.spree.rb +28 -0
- data/spec/dummy/db/migrate/20190822070923_migrate_credit_cards_to_wallet_payment_sources.spree.rb +30 -0
- data/spec/dummy/db/migrate/20190822070924_remove_is_default_from_prices.spree.rb +8 -0
- data/spec/dummy/db/migrate/20190822070925_remove_currency_from_line_items.spree.rb +8 -0
- data/spec/dummy/db/migrate/20190822070926_add_available_to_columns_and_remove_display_on_from_payment_methods.spree.rb +31 -0
- data/spec/dummy/db/migrate/20190822070927_create_spree_promotion_code_batch.spree.rb +39 -0
- data/spec/dummy/db/migrate/20190822070928_add_available_to_users_and_remove_display_on_from_shipping_methods.spree.rb +23 -0
- data/spec/dummy/db/migrate/20190822070929_add_index_to_spree_payments_number.spree.rb +8 -0
- data/spec/dummy/db/migrate/20190822070930_remove_spree_store_credits_column.spree.rb +8 -0
- data/spec/dummy/db/migrate/20190822070931_add_lft_and_rgt_indexes_to_taxons.spree.rb +9 -0
- data/spec/dummy/db/migrate/20190822070932_remove_order_id_from_inventory_units.spree.rb +31 -0
- data/spec/dummy/db/migrate/20190822070933_transform_tax_rate_category_relation.spree.rb +51 -0
- data/spec/dummy/db/migrate/20190822070934_add_roles_unique_constraints.spree.rb +9 -0
- data/spec/dummy/db/migrate/20190822070935_add_time_range_to_tax_rate.spree.rb +9 -0
- data/spec/dummy/db/migrate/20190822070936_rename_bogus_gateways.spree.rb +19 -0
- data/spec/dummy/db/migrate/20190822070937_remove_default_tax_from_spree_zones.spree.rb +8 -0
- data/spec/dummy/db/migrate/20190822070938_create_promotion_rule_stores.spree.rb +13 -0
- data/spec/dummy/db/migrate/20190822070939_create_store_shipping_methods.spree.rb +13 -0
- data/spec/dummy/db/migrate/20190822070940_add_available_locales_to_stores.spree.rb +10 -0
- data/spec/dummy/db/migrate/20190822070941_add_amount_remaining_to_store_credit_events.spree.rb +62 -0
- data/spec/dummy/db/migrate/20190822070942_add_join_characters_to_promotion_code_batch.spree.rb +12 -0
- data/spec/dummy/db/migrate/20190822070943_create_spree_store_credit_reasons_table.spree.rb +56 -0
- data/spec/dummy/db/migrate/20190822070944_remove_code_from_spree_promotions.spree.rb +43 -0
- data/spec/dummy/db/migrate/20190822070945_drop_spree_store_credit_update_reasons.spree.rb +20 -0
- data/spec/dummy/db/migrate/20190822070946_add_api_key_to_spree_users.spree_api.rb +10 -0
- data/spec/dummy/db/migrate/20190822070947_resize_api_key_field.spree_api.rb +10 -0
- data/spec/dummy/db/migrate/20190822070948_rename_api_key_to_spree_api_key.spree_api.rb +10 -0
- data/spec/dummy/db/migrate/20190822070949_add_index_to_user_spree_api_key.spree_api.rb +10 -0
- data/spec/dummy/db/migrate/20190822070950_create_users.solidus_auth.rb +30 -0
- data/spec/dummy/db/migrate/20190822070951_rename_columns_for_devise.solidus_auth.rb +38 -0
- data/spec/dummy/db/migrate/20190822070952_convert_user_remember_field.solidus_auth.rb +12 -0
- data/spec/dummy/db/migrate/20190822070953_add_reset_password_sent_at_to_spree_users.solidus_auth.rb +9 -0
- data/spec/dummy/db/migrate/20190822070954_make_users_email_index_unique.solidus_auth.rb +10 -0
- data/spec/dummy/db/migrate/20190822070955_add_deleted_at_to_users.solidus_auth.rb +7 -0
- data/spec/dummy/db/migrate/20190822070956_add_confirmable_to_users.solidus_auth.rb +8 -0
- data/spec/dummy/db/schema.rb +1194 -0
- data/spec/dummy/db/seeds.rb +10 -0
- data/spec/dummy/log/test.log +1058 -0
- data/spec/dummy/public/404.html +67 -0
- data/spec/dummy/public/422.html +67 -0
- data/spec/dummy/public/500.html +66 -0
- data/spec/dummy/public/apple-touch-icon-precomposed.png +0 -0
- data/spec/dummy/public/apple-touch-icon.png +0 -0
- data/spec/dummy/public/favicon.ico +0 -0
- data/spec/dummy/tmp/development_secret.txt +1 -0
- data/spec/dummy/vendor/assets/javascripts/spree/backend/all.js +11 -0
- data/spec/dummy/vendor/assets/javascripts/spree/frontend/all.js +11 -0
- data/spec/dummy/vendor/assets/stylesheets/spree/backend/all.css +10 -0
- data/spec/dummy/vendor/assets/stylesheets/spree/frontend/all.css +10 -0
- data/spec/models/spree/payment_method/bank_transfer_spec.rb +146 -0
- data/spec/spec_helper.rb +89 -0
- metadata +429 -0
checksums.yaml
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
---
|
|
2
|
+
SHA256:
|
|
3
|
+
metadata.gz: 98a3409b6d8f9946b8f0846beca795983c1a17e53f784ba19cd9633addae14cd
|
|
4
|
+
data.tar.gz: 604674a6e8d0ae2c34d1685d3cb3c36376047d64ee23c226453f90b474305ec6
|
|
5
|
+
SHA512:
|
|
6
|
+
metadata.gz: b60e11fc406c7facf683e4a59d50094069a5964afd7000782fa02217965996a2f136507778b3b3a795f742f73e044096b90e80998316fd8dc223dd29c691a540
|
|
7
|
+
data.tar.gz: 60e9559962b678c95004f4fa60659f61cdf5b432ac1baf6a8e019cc86d1a4d14b937cb1e27c2a3649b5bb38db1d8f616d17ce880f5c209ebfc9427d17945c905
|
data/LICENSE
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
Copyright (c) 2019 weLaika
|
|
2
|
+
All rights reserved.
|
|
3
|
+
|
|
4
|
+
Redistribution and use in source and binary forms, with or without modification,
|
|
5
|
+
are permitted provided that the following conditions are met:
|
|
6
|
+
|
|
7
|
+
* Redistributions of source code must retain the above copyright notice,
|
|
8
|
+
this list of conditions and the following disclaimer.
|
|
9
|
+
* Redistributions in binary form must reproduce the above copyright notice,
|
|
10
|
+
this list of conditions and the following disclaimer in the documentation
|
|
11
|
+
and/or other materials provided with the distribution.
|
|
12
|
+
* Neither the name Spree nor the names of its contributors may be used to
|
|
13
|
+
endorse or promote products derived from this software without specific
|
|
14
|
+
prior written permission.
|
|
15
|
+
|
|
16
|
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
17
|
+
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
18
|
+
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
|
19
|
+
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
|
|
20
|
+
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
|
21
|
+
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
|
22
|
+
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
|
23
|
+
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
|
24
|
+
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
|
25
|
+
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
|
26
|
+
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
data/README.md
ADDED
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
SolidusBankTransfer
|
|
2
|
+
===================
|
|
3
|
+
|
|
4
|
+
[](https://travis-ci.org/welaika/solidus_bank_transfer)
|
|
5
|
+
|
|
6
|
+
This extensions add a Bank Transfer payment method.
|
|
7
|
+
|
|
8
|
+
You can define bank name, IBAN number and holder name in the backend. This data will be shown to the user in the checkout process.
|
|
9
|
+
|
|
10
|
+
Installation
|
|
11
|
+
------------
|
|
12
|
+
|
|
13
|
+
Add solidus_bank_transfer to your Gemfile:
|
|
14
|
+
|
|
15
|
+
```ruby
|
|
16
|
+
gem 'solidus_bank_transfer'
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
Bundle your dependencies and run the installation generator:
|
|
20
|
+
|
|
21
|
+
```shell
|
|
22
|
+
bundle
|
|
23
|
+
bundle exec rails g solidus_bank_transfer:install
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
Testing
|
|
27
|
+
-------
|
|
28
|
+
|
|
29
|
+
I usually test with PostgreSQL locally. For this to work, you need a role named `postgres`. If you don't have it, you can create a superuser role with
|
|
30
|
+
|
|
31
|
+
```shell
|
|
32
|
+
createuser -s postgres
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
Bundle your dependencies, then run `rake`. `rake` will default to building the dummy app if it does not exist, then it will run specs, and [Rubocop](https://github.com/bbatsov/rubocop) static code analysis. The dummy app can be regenerated by using `rake test_app`.
|
|
36
|
+
|
|
37
|
+
```shell
|
|
38
|
+
bundle
|
|
39
|
+
DB=postgres bundle exec rake
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
When testing your application's integration with this extension you may use its factories.
|
|
43
|
+
Simply add this require statement to your spec_helper:
|
|
44
|
+
|
|
45
|
+
```ruby
|
|
46
|
+
require 'solidus_bank_transfer/factories'
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
Releasing
|
|
50
|
+
---------
|
|
51
|
+
|
|
52
|
+
Your new extension version can be released using `gem-release` like this:
|
|
53
|
+
|
|
54
|
+
```shell
|
|
55
|
+
bundle exec gem bump -v VERSION --tag --push --remote upstream && gem release
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
Author
|
|
59
|
+
------
|
|
60
|
+
|
|
61
|
+
made with ❤️and ☕️by weLaika
|
|
62
|
+
|
|
63
|
+
Copyright (c) 2019 weLaika, released under the New BSD License
|
data/Rakefile
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'bundler'
|
|
4
|
+
|
|
5
|
+
Bundler::GemHelper.install_tasks
|
|
6
|
+
|
|
7
|
+
begin
|
|
8
|
+
require 'spree/testing_support/extension_rake'
|
|
9
|
+
require 'rubocop/rake_task'
|
|
10
|
+
require 'rspec/core/rake_task'
|
|
11
|
+
|
|
12
|
+
RSpec::Core::RakeTask.new(:spec)
|
|
13
|
+
|
|
14
|
+
RuboCop::RakeTask.new
|
|
15
|
+
|
|
16
|
+
task default: %i[first_run rubocop spec]
|
|
17
|
+
rescue LoadError
|
|
18
|
+
# no rspec available
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
task :first_run do
|
|
22
|
+
if Dir['spec/dummy'].empty?
|
|
23
|
+
Rake::Task[:test_app].invoke
|
|
24
|
+
Dir.chdir('../../')
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
desc 'Generates a dummy app for testing'
|
|
29
|
+
task :test_app do
|
|
30
|
+
ENV['LIB_NAME'] = 'solidus_bank_transfer'
|
|
31
|
+
Rake::Task['extension:test_app'].invoke
|
|
32
|
+
end
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Spree
|
|
4
|
+
class PaymentMethod::BankTransfer < PaymentMethod
|
|
5
|
+
preference :iban, :string
|
|
6
|
+
preference :bank_name, :string
|
|
7
|
+
preference :holder, :string
|
|
8
|
+
|
|
9
|
+
def actions
|
|
10
|
+
%w[capture void credit]
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
# Indicates whether its possible to capture the payment
|
|
14
|
+
def can_capture?(payment)
|
|
15
|
+
%w[checkout pending].include?(payment.state)
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
# Indicates whether its possible to void the payment.
|
|
19
|
+
def can_void?(payment)
|
|
20
|
+
payment.state != 'void'
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
def capture(*)
|
|
24
|
+
simulated_successful_billing_response
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
def void(*)
|
|
28
|
+
simulated_successful_billing_response
|
|
29
|
+
end
|
|
30
|
+
alias try_void void
|
|
31
|
+
|
|
32
|
+
def credit(*)
|
|
33
|
+
simulated_successful_billing_response
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
def source_required?
|
|
37
|
+
false
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
private
|
|
41
|
+
|
|
42
|
+
def simulated_successful_billing_response
|
|
43
|
+
ActiveMerchant::Billing::Response.new(true, '', {}, {})
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
end
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
<div>
|
|
2
|
+
<h4><%= t('spree.bank_transfer.pay_with_this_method') %></h4>
|
|
3
|
+
<p>
|
|
4
|
+
<strong><%= t('spree.bank_transfer.reason_for_payment') %>: </strong>
|
|
5
|
+
<span><%= t('spree.bank_transfer.reason_for_payment_instructions') %></span>
|
|
6
|
+
<br>
|
|
7
|
+
<strong><%= t('spree.bank_transfer.holder') %>: </strong>
|
|
8
|
+
<span><%= payment_method.preferred_holder %></span>
|
|
9
|
+
<br>
|
|
10
|
+
<strong><%= t('spree.bank_transfer.iban') %>: </strong>
|
|
11
|
+
<span><%= payment_method.preferred_iban %></span>
|
|
12
|
+
<br>
|
|
13
|
+
<strong><%= t('spree.bank_transfer.bank_name') %>: </strong>
|
|
14
|
+
<span><%= payment_method.preferred_bank_name %></span>
|
|
15
|
+
</p>
|
|
16
|
+
</div>
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
<%
|
|
2
|
+
payment_method =
|
|
3
|
+
@order.payments.map(&:payment_method).select do |pm|
|
|
4
|
+
pm.is_a?(Spree::PaymentMethod::BankTransfer)
|
|
5
|
+
end.first
|
|
6
|
+
%>
|
|
7
|
+
|
|
8
|
+
<% if payment_method.present? %>
|
|
9
|
+
<h4><%= t('spree.bank_transfer.pay_with_this_method') %></h4>
|
|
10
|
+
<p>
|
|
11
|
+
<strong><%= t('spree.bank_transfer.reason_for_payment') %>: </strong>
|
|
12
|
+
<span><%= t('spree.bank_transfer.reason_for_payment_value', order_number: @order.number) %></span>
|
|
13
|
+
<br>
|
|
14
|
+
<strong><%= t('spree.bank_transfer.holder') %>: </strong>
|
|
15
|
+
<span><%= payment_method.preferred_holder %></span>
|
|
16
|
+
<br>
|
|
17
|
+
<strong><%= t('spree.bank_transfer.iban') %>: </strong>
|
|
18
|
+
<span><%= payment_method.preferred_iban %></span>
|
|
19
|
+
<br>
|
|
20
|
+
<strong><%= t('spree.bank_transfer.bank_name') %>: </strong>
|
|
21
|
+
<span><%= payment_method.preferred_bank_name %></span>
|
|
22
|
+
</p>
|
|
23
|
+
<% end %>
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
<%
|
|
2
|
+
payment_method =
|
|
3
|
+
@order.payments.map(&:payment_method).select do |pm|
|
|
4
|
+
pm.is_a?(Spree::PaymentMethod::BankTransfer)
|
|
5
|
+
end.first
|
|
6
|
+
%>
|
|
7
|
+
|
|
8
|
+
<% if payment_method.present? %>
|
|
9
|
+
<p>
|
|
10
|
+
<strong><%= t('spree.bank_transfer.reason_for_payment') %>: </strong>
|
|
11
|
+
<span><%= t('spree.bank_transfer.reason_for_payment_value', order_number: @order.number) %></span>
|
|
12
|
+
<br>
|
|
13
|
+
<strong><%= t('spree.bank_transfer.holder') %>: </strong>
|
|
14
|
+
<span><%= payment_method.preferred_holder %></span>
|
|
15
|
+
<br>
|
|
16
|
+
<strong><%= t('spree.bank_transfer.iban') %>: </strong>
|
|
17
|
+
<span><%= payment_method.preferred_iban %></span>
|
|
18
|
+
<br>
|
|
19
|
+
<strong><%= t('spree.bank_transfer.bank_name') %>: </strong>
|
|
20
|
+
<span><%= payment_method.preferred_bank_name %></span>
|
|
21
|
+
</p>
|
|
22
|
+
<% end %>
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
en:
|
|
2
|
+
spree:
|
|
3
|
+
holder: Holder
|
|
4
|
+
iban: IBAN
|
|
5
|
+
bank_name: Bank name
|
|
6
|
+
|
|
7
|
+
bank_transfer:
|
|
8
|
+
pay_with_this_method: Pay with bank transfer
|
|
9
|
+
holder: Holder
|
|
10
|
+
iban: IBAN
|
|
11
|
+
bank_name: Bank name
|
|
12
|
+
reason_for_payment: Reason for payment
|
|
13
|
+
reason_for_payment_instructions: enter the order number (it will be sent by email after completing the order).
|
|
14
|
+
reason_for_payment_value: "Order %{order_number}"
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
it:
|
|
2
|
+
spree:
|
|
3
|
+
holder: Intestatario
|
|
4
|
+
iban: IBAN
|
|
5
|
+
bank_name: Nome banca
|
|
6
|
+
|
|
7
|
+
bank_transfer:
|
|
8
|
+
pay_with_this_method: Paga con bonifico bancario
|
|
9
|
+
holder: Intestatario
|
|
10
|
+
iban: IBAN
|
|
11
|
+
bank_name: Nome banca
|
|
12
|
+
reason_for_payment: Causale
|
|
13
|
+
reason_for_payment_instructions: inserisci il numero d'ordine (verrà spedito via email una volta completato l'ordine).
|
|
14
|
+
reason_for_payment_value: "Ordine %{order_number}"
|
data/config/routes.rb
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module SolidusBankTransfer
|
|
4
|
+
module Generators
|
|
5
|
+
class InstallGenerator < Rails::Generators::Base
|
|
6
|
+
class_option :auto_run_migrations, type: :boolean, default: false
|
|
7
|
+
|
|
8
|
+
def add_javascripts
|
|
9
|
+
append_file 'vendor/assets/javascripts/spree/frontend/all.js', "//= require spree/frontend/solidus_bank_transfer\n"
|
|
10
|
+
append_file 'vendor/assets/javascripts/spree/backend/all.js', "//= require spree/backend/solidus_bank_transfer\n"
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
def add_stylesheets
|
|
14
|
+
inject_into_file 'vendor/assets/stylesheets/spree/frontend/all.css', " *= require spree/frontend/solidus_bank_transfer\n", before: %r{\*/}, verbose: true
|
|
15
|
+
inject_into_file 'vendor/assets/stylesheets/spree/backend/all.css', " *= require spree/backend/solidus_bank_transfer\n", before: %r{\*/}, verbose: true
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def add_migrations
|
|
19
|
+
run 'bundle exec rake railties:install:migrations FROM=solidus_bank_transfer'
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def run_migrations
|
|
23
|
+
run_migrations = options[:auto_run_migrations] || ['', 'y', 'Y'].include?(ask('Would you like to run the migrations now? [Y/n]'))
|
|
24
|
+
if run_migrations
|
|
25
|
+
run 'bundle exec rake db:migrate'
|
|
26
|
+
else
|
|
27
|
+
puts 'Skipping rake db:migrate, don\'t forget to run it!'
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module SolidusBankTransfer
|
|
4
|
+
class Engine < Rails::Engine
|
|
5
|
+
require 'spree/core'
|
|
6
|
+
isolate_namespace Spree
|
|
7
|
+
engine_name 'solidus_bank_transfer'
|
|
8
|
+
|
|
9
|
+
# use rspec for tests
|
|
10
|
+
config.generators do |g|
|
|
11
|
+
g.test_framework :rspec
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def self.activate
|
|
15
|
+
Dir.glob(File.join(File.dirname(__FILE__), '../../app/**/*_decorator*.rb')) do |c|
|
|
16
|
+
Rails.configuration.cache_classes ? require(c) : load(c)
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
initializer 'spree.register.payment_methods' do |app|
|
|
21
|
+
app.config.spree.payment_methods << Spree::PaymentMethod::BankTransfer
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
config.to_prepare(&method(:activate).to_proc)
|
|
25
|
+
end
|
|
26
|
+
end
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
FactoryBot.define do
|
|
4
|
+
# Define your Spree extensions Factories within this file to enable applications, and other extensions to use and override them.
|
|
5
|
+
#
|
|
6
|
+
# Example adding this to your spec_helper will load these Factories for use:
|
|
7
|
+
# require 'solidus_bank_transfer/factories'
|
|
8
|
+
|
|
9
|
+
factory :bank_transfer_payment_method, class: Spree::PaymentMethod::BankTransfer do
|
|
10
|
+
name { 'Bank Transfer' }
|
|
11
|
+
preferred_bank_name { 'Uncle Scrooge Bank & Partners' }
|
|
12
|
+
preferred_iban { 'IT00 S000 0000 0000 0000 0123 456' }
|
|
13
|
+
preferred_holder { 'Donald Duck' }
|
|
14
|
+
description { 'Bank transfer' }
|
|
15
|
+
active { true }
|
|
16
|
+
end
|
|
17
|
+
end
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# README
|
|
2
|
+
|
|
3
|
+
This README would normally document whatever steps are necessary to get the
|
|
4
|
+
application up and running.
|
|
5
|
+
|
|
6
|
+
Things you may want to cover:
|
|
7
|
+
|
|
8
|
+
* Ruby version
|
|
9
|
+
|
|
10
|
+
* System dependencies
|
|
11
|
+
|
|
12
|
+
* Configuration
|
|
13
|
+
|
|
14
|
+
* Database creation
|
|
15
|
+
|
|
16
|
+
* Database initialization
|
|
17
|
+
|
|
18
|
+
* How to run the test suite
|
|
19
|
+
|
|
20
|
+
* Services (job queues, cache servers, search engines, etc.)
|
|
21
|
+
|
|
22
|
+
* Deployment instructions
|
|
23
|
+
|
|
24
|
+
* ...
|
data/spec/dummy/Rakefile
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
// Action Cable provides the framework to deal with WebSockets in Rails.
|
|
2
|
+
// You can generate new channels where WebSocket features live using the `rails generate channel` command.
|
|
3
|
+
//
|
|
4
|
+
//= require action_cable
|
|
5
|
+
//= require_self
|
|
6
|
+
//= require_tree ./channels
|
|
7
|
+
|
|
8
|
+
(function() {
|
|
9
|
+
this.App || (this.App = {});
|
|
10
|
+
|
|
11
|
+
App.cable = ActionCable.createConsumer();
|
|
12
|
+
|
|
13
|
+
}).call(this);
|