ba_spree_bank_transfer 1.0.1 → 1.0.2

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.
Files changed (44) hide show
  1. checksums.yaml +4 -4
  2. data/lib/spree_bank_transfer/version.rb +1 -1
  3. metadata +2 -52
  4. data/.gitignore +0 -15
  5. data/.rspec +0 -1
  6. data/.ruby-version +0 -1
  7. data/.travis.yml +0 -6
  8. data/Versionfile +0 -7
  9. data/app/assets/images/payment_details.png +0 -0
  10. data/app/assets/javascripts/spree/backend/spree_bank_transfer.js +0 -0
  11. data/app/assets/javascripts/spree/frontend/spree_bank_transfer.js.erb +0 -37
  12. data/app/assets/stylesheets/spree/backend/spree_bank_transfer.css +0 -0
  13. data/app/assets/stylesheets/spree/frontend/spree_bank_transfer.css +0 -9
  14. data/app/controllers/spree/content_controller_decorator.rb +0 -8
  15. data/app/helpers/.DS_Store +0 -0
  16. data/app/helpers/spree/.DS_Store +0 -0
  17. data/app/models/.DS_Store +0 -0
  18. data/app/models/spree/.DS_Store +0 -0
  19. data/app/models/spree/order_decorator.rb +0 -3
  20. data/app/models/spree/payment_decorator.rb +0 -40
  21. data/app/overrides/add_bank_details_form_to_order_show.rb +0 -6
  22. data/app/overrides/add_bank_transfer_instructions_link_to_payment.rb +0 -10
  23. data/app/overrides/add_payment_reference_details.rb +0 -32
  24. data/app/overrides/filter_results_by_transaction_reference_no.rb +0 -17
  25. data/app/views/.DS_Store +0 -0
  26. data/app/views/spree/admin/banks/toggle_activation.js.erb +0 -10
  27. data/app/views/spree/admin/payments/source_forms/_banktransfer.html.erb +0 -0
  28. data/app/views/spree/admin/payments/source_views/_banktransfer.html.erb +0 -0
  29. data/app/views/spree/checkout/.DS_Store +0 -0
  30. data/app/views/spree/content/bank_transfer.html.erb +0 -38
  31. data/app/views/spree/orders/_bank_transfer_form.html.erb +0 -40
  32. data/ba_spree_bank_transfer.gemspec +0 -31
  33. data/bin/rails +0 -6
  34. data/lib/generators/spree_bank_transfer/.DS_Store +0 -0
  35. data/lib/payment_details.rb +0 -21
  36. data/spec/controllers/spree/admin/banks_controller_spec.rb +0 -82
  37. data/spec/controllers/spree/content_controller_spec.rb +0 -16
  38. data/spec/controllers/spree/payments_controller_spec.rb +0 -98
  39. data/spec/lib/payment_details_spec.rb +0 -84
  40. data/spec/models/spree/bank_spec.rb +0 -19
  41. data/spec/models/spree/payment_method/bank_transfer_spec.rb +0 -114
  42. data/spec/models/spree/payment_spec.rb +0 -81
  43. data/spec/models/spree/user_spec.rb +0 -5
  44. data/spec/spec_helper.rb +0 -98
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a4b4b4ca1493ac7590b0921b3c1aed73dab92a2b66fea5142a9f3949390c9168
4
- data.tar.gz: 6f74e44240418283b5f37bda7fb19fd0c1504e5ba3b446f68293d3d2c06112e9
3
+ metadata.gz: 24d026e1322d07f87561c83fff4932ca80e1d200fcff44e218a3a6046308360f
4
+ data.tar.gz: 32bbd18fe9f3c53a9892c0256487712d3ed8da22ad99c927316387299a71ca7e
5
5
  SHA512:
6
- metadata.gz: 76b4b642a71c0fb3336fd4213eb63c0f00643d08c8d946cb47e3304ce16933d011baef18d3ad07026a2bd752afc6ef54d636cab7ff7143b7c831d90cba63befc
7
- data.tar.gz: 6826521f78af5c619c48f116049ecc9d453e2acd2f5ee45743042e2b0ee6124c8421b91cf3a14518dcef22fb9af80bb8584841e30e6e5f7fa5ef622b00ce9cc8
6
+ metadata.gz: f4bc060da05a75ae66c630d29861670e3d980be26b295ce6e7209d03063c9b8cc40a22e4662b8c615bf5fe595eef248aec277650687afdd6ddc0d6d881e681cd
7
+ data.tar.gz: 5d9f332e55d49ecd1166c81cb475e976ea74050ac4f7a7a116ce54df9f1c068c118e94e743ed32c747a873919bed91bda2d22b3cf7625e24b9b97440945a35c4
@@ -1,3 +1,3 @@
1
1
  module SpreeBankTransfer
2
- VERSION = "1.0.1"
2
+ VERSION = "1.0.2"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ba_spree_bank_transfer
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - be agile Co., Ltd.
@@ -87,65 +87,35 @@ executables: []
87
87
  extensions: []
88
88
  extra_rdoc_files: []
89
89
  files:
90
- - ".gitignore"
91
- - ".rspec"
92
- - ".ruby-version"
93
- - ".travis.yml"
94
90
  - Gemfile
95
91
  - LICENSE
96
92
  - README.md
97
93
  - Rakefile
98
- - Versionfile
99
- - app/assets/images/payment_details.png
100
94
  - app/assets/images/spree_bank_transfer/payment_details.png
101
- - app/assets/javascripts/spree/backend/spree_bank_transfer.js
102
- - app/assets/javascripts/spree/frontend/spree_bank_transfer.js.erb
103
- - app/assets/stylesheets/spree/backend/spree_bank_transfer.css
104
- - app/assets/stylesheets/spree/frontend/spree_bank_transfer.css
105
95
  - app/controllers/spree/admin/banks_controller.rb
106
- - app/controllers/spree/content_controller_decorator.rb
107
96
  - app/controllers/spree/pages_controller_decorator.rb
108
97
  - app/controllers/spree/payments_controller.rb
109
- - app/helpers/.DS_Store
110
- - app/helpers/spree/.DS_Store
111
98
  - app/helpers/spree/admin/banks_helper.rb
112
99
  - app/helpers/spree/admin/base_bank_helper_decorator.rb
113
- - app/models/.DS_Store
114
- - app/models/spree/.DS_Store
115
100
  - app/models/spree/bank.rb
116
- - app/models/spree/order_decorator.rb
117
101
  - app/models/spree/payment/bank_updater.rb
118
- - app/models/spree/payment_decorator.rb
119
102
  - app/models/spree/payment_method/bank_transfer.rb
120
103
  - app/models/spree_bank_transfer/order_decorator.rb
121
104
  - app/models/spree_bank_transfer/payment_decorator.rb
122
- - app/overrides/add_bank_details_form_to_order_show.rb
123
- - app/overrides/add_bank_transfer_instructions_link_to_payment.rb
124
- - app/overrides/add_payment_reference_details.rb
125
- - app/overrides/filter_results_by_transaction_reference_no.rb
126
105
  - app/overrides/spree/add_bank_info_link_to_complete_page.rb
127
106
  - app/overrides/spree/add_bank_info_link_to_confirm_html_mail.rb
128
107
  - app/overrides/spree/add_bank_transfer_menu.rb
129
108
  - app/overrides/spree/admin/payments/_payment/add_payment_reference_details.html.erb.deface
130
109
  - app/overrides/spree/shared/_order_details/add_bank_details_form_to_order_show.html.erb.deface
131
- - app/views/.DS_Store
132
110
  - app/views/spree/admin/banks/_form.html.erb
133
111
  - app/views/spree/admin/banks/edit.html.erb
134
112
  - app/views/spree/admin/banks/index.html.erb
135
113
  - app/views/spree/admin/banks/new.html.erb
136
- - app/views/spree/admin/banks/toggle_activation.js.erb
137
114
  - app/views/spree/admin/banks/toggle_activation.turbo_stream.erb
138
- - app/views/spree/admin/payments/source_forms/_banktransfer.html.erb
139
- - app/views/spree/admin/payments/source_views/_banktransfer.html.erb
140
- - app/views/spree/checkout/.DS_Store
141
115
  - app/views/spree/checkout/payment/_banktransfer.html.erb
142
- - app/views/spree/content/bank_transfer.html.erb
143
- - app/views/spree/orders/_bank_transfer_form.html.erb
144
116
  - app/views/spree/pages/bank_transfer.html.erb
145
117
  - app/views/spree_bank_transfer/admin/banks/_bank_row.html.erb
146
118
  - app/views/spree_bank_transfer/orders/_bank_transfer_form.html.erb
147
- - ba_spree_bank_transfer.gemspec
148
- - bin/rails
149
119
  - config/initializers/admin_navigation.rb
150
120
  - config/locales/en.yml
151
121
  - config/locales/it.yml
@@ -160,21 +130,10 @@ files:
160
130
  - db/migrate/20140530055151_add_column_deposited_on_to_spree_payments.rb
161
131
  - db/migrate/20140612131656_add_col_additional_details_to_banks.rb
162
132
  - lib/ba_spree_bank_transfer.rb
163
- - lib/generators/spree_bank_transfer/.DS_Store
164
133
  - lib/generators/spree_bank_transfer/install/install_generator.rb
165
- - lib/payment_details.rb
166
134
  - lib/spree_bank_transfer.rb
167
135
  - lib/spree_bank_transfer/engine.rb
168
136
  - lib/spree_bank_transfer/version.rb
169
- - spec/controllers/spree/admin/banks_controller_spec.rb
170
- - spec/controllers/spree/content_controller_spec.rb
171
- - spec/controllers/spree/payments_controller_spec.rb
172
- - spec/lib/payment_details_spec.rb
173
- - spec/models/spree/bank_spec.rb
174
- - spec/models/spree/payment_method/bank_transfer_spec.rb
175
- - spec/models/spree/payment_spec.rb
176
- - spec/models/spree/user_spec.rb
177
- - spec/spec_helper.rb
178
137
  homepage: https://github.com/be-agile/ba_spree_bank_transfer
179
138
  licenses:
180
139
  - AGPL-3.0-or-later
@@ -199,13 +158,4 @@ rubygems_version: 3.4.9
199
158
  signing_key:
200
159
  specification_version: 4
201
160
  summary: Spree extension to create bank transfer payment method. (be agile fork)
202
- test_files:
203
- - spec/controllers/spree/admin/banks_controller_spec.rb
204
- - spec/controllers/spree/content_controller_spec.rb
205
- - spec/controllers/spree/payments_controller_spec.rb
206
- - spec/lib/payment_details_spec.rb
207
- - spec/models/spree/bank_spec.rb
208
- - spec/models/spree/payment_method/bank_transfer_spec.rb
209
- - spec/models/spree/payment_spec.rb
210
- - spec/models/spree/user_spec.rb
211
- - spec/spec_helper.rb
161
+ test_files: []
data/.gitignore DELETED
@@ -1,15 +0,0 @@
1
- \#*
2
- *~
3
- .#*
4
- .DS_Store
5
- .idea
6
- .project
7
- .sass-cache
8
- coverage
9
- Gemfile.lock
10
- tmp
11
- nbproject
12
- pkg
13
- *.swp
14
- spec/dummy
15
- *.gem
data/.rspec DELETED
@@ -1 +0,0 @@
1
- --color
data/.ruby-version DELETED
@@ -1 +0,0 @@
1
- 3.1.4
data/.travis.yml DELETED
@@ -1,6 +0,0 @@
1
- language: ruby
2
- rvm:
3
- - ruby-2.2.2
4
- script:
5
- - bundle exec rake test_app
6
- - bundle exec rspec .
data/Versionfile DELETED
@@ -1,7 +0,0 @@
1
- '4.1.x' => { branch: '4-1-stable' }
2
- '3.0.x' => { branch: '3-0-stable' }
3
- '2.4.x' => { branch: '2-4-stable' }
4
- '2.3.x' => { branch: '2-3-stable' }
5
- '2.2.x' => { branch: '2-2-stable' }
6
- '2.1.x' => { branch: '2-1-stable' }
7
- '2.0.x' => { branch: '2-0-stable' }
Binary file
@@ -1,37 +0,0 @@
1
- //= require jquery-ui/widgets/datepicker
2
- $(document).ready(function() {
3
- $('#banktransfer_instructions').on("click", function(event) {
4
- newwindow = window.open($(this).attr('href'), 'bank transfer', 'left=20,top=20,width=650,height=750,toolbar=0,resizable=0,scrollbars=1');
5
- if (window.focus) {
6
- newwindow.focus();
7
- }
8
- return false;
9
- });
10
-
11
- var options = $.extend(
12
- {}, // empty object
13
- $.datepicker.regional['<%= I18n.default_locale %>'], // I18n locale
14
- {dateFormat: '<%= Spree.t(:js_format, scope: "date_picker", default: "yy/mm/dd") %>',
15
- firstDay: '<%= Spree.t(:first_day, scope: "date_picker", default: "0") %>'}
16
- );
17
- $.datepicker.setDefaults(options);
18
- $('[name="payment[deposited_on]"]').datepicker();
19
-
20
- $('.add_bt_details').on("click", function() {
21
- $(this).hide();
22
- $('.bt_payment_form').show();
23
- });
24
-
25
- $('.bt_payment_form input[type="submit"]').on("click", function(event) {
26
- var empty_fields = $('.required_field').filter(function() { return !$(this).val().trim().length }), empty_fields_names = []
27
- if ($(empty_fields).length) {
28
- $(empty_fields).each(function() {
29
- empty_fields_names.push($(this).attr('field-name'));
30
- });
31
-
32
- alert(empty_fields_names.join(', ') + " can't be blank");
33
- event.preventDefault();
34
- return false;
35
- }
36
- });
37
- });
@@ -1,9 +0,0 @@
1
- /*
2
- *= require jquery-ui
3
- *= require jquery-ui/datepicker
4
- */
5
- .ui-datepicker {
6
- width: 18em; /* fix calendar width */
7
- padding: .2em .2em 0;
8
- }
9
- .hidden { display: none; }
@@ -1,8 +0,0 @@
1
- module Spree
2
- module ContentControllerDecorator
3
- def bank_transfer
4
- end
5
- end
6
- end
7
-
8
- Spree::ContentController.prepend(Spree::ContentControllerDecorator)
Binary file
Binary file
data/app/models/.DS_Store DELETED
Binary file
Binary file
@@ -1,3 +0,0 @@
1
- Spree::Order.class_eval do
2
- self.whitelisted_ransackable_associations += %w(payments)
3
- end
@@ -1,40 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Spree
4
- module PaymentDecorator
5
- def self.prepended(base)
6
- base.class_eval do
7
- attr_accessor :validate_bank_details
8
-
9
- has_one_attached :receipt
10
- belongs_to :order
11
- validates :bank_name, :deposited_on, :receipt, presence: true, if: :validate_bank_details
12
- after_save :update_order_state, if: :validate_bank_details
13
- before_save :update_source_type, if: :validate_bank_details
14
-
15
- scope :from_bank_transfer, lambda {
16
- joins(:payment_method).where(spree_payment_methods: { type: 'Spree::PaymentMethod::BankTransfer' })
17
- }
18
-
19
- self.whitelisted_ransackable_attributes = %w[bank_name state]
20
- end
21
- end
22
-
23
- def details_submitted?
24
- bank_name?
25
- end
26
-
27
- private
28
-
29
- def update_source_type
30
- self.source_type = 'Spree::PaymentMethod::BankTransfer'
31
- end
32
-
33
- def update_order_state
34
- order.update(payment_state: :paid)
35
- end
36
- end
37
- end
38
-
39
- # Register the decorator
40
- Spree::Payment.prepend(Spree::PaymentDecorator)
@@ -1,6 +0,0 @@
1
- Deface::Override.new(
2
- virtual_path: 'spree/orders/show',
3
- name: 'add_bank_details_form_to_order_show',
4
- insert_bottom: ".payment-info",
5
- partial: "spree/orders/bank_transfer_form"
6
- )
@@ -1,10 +0,0 @@
1
- Deface::Override.new(
2
- virtual_path: 'spree/checkout/_payment',
3
- name: 'add_bank_transfer_instructions_link_to_payment',
4
- insert_after: "#payment-method-fields",
5
- text: %q{
6
- <% if @order.available_payment_methods.any? { |pm| pm.type == 'Spree::PaymentMethod::BankTransfer' } %>
7
- <p><%= link_to Spree.t(:how_bank_transfer_works), bank_transfer_instructions_path, id: 'banktransfer_instructions', target: "_blank" %></p>
8
- <% end %>
9
- }
10
- )
@@ -1,32 +0,0 @@
1
- Deface::Override.new(
2
- virtual_path: 'spree/admin/payments/_list',
3
- name: 'add_payment_reference_details',
4
- insert_after: "#payments",
5
- text: %q{
6
- <% if bank_transfer_payment = @order.payments.from_bank_transfer.first %>
7
- <fieldset class="no-border-bottom" >
8
- <legend align="center"><%= Spree.t(:payment_reference_details) %></legend>
9
- <table class="index table">
10
- <thead>
11
- <tr data-hook="payments_header" class="table-active">
12
- <th><%= Spree.t(:deposited_on) %></th>
13
- <th><%= Spree.t(:bank_name) %></th>
14
- <th><%= Spree.t(:receipt) %></th>
15
- </tr>
16
- </thead>
17
- <tbody>
18
- <tr>
19
- <td class='align-center'><%= bank_transfer_payment.deposited_on %></td>
20
- <td class='align-center'><%= bank_transfer_payment.bank_name %></td>
21
- <td class='align-center' width="450px">
22
- <% if bank_transfer_payment.receipt.attached? %>
23
- <%= image_tag main_app.url_for(bank_transfer_payment.receipt), class: "w-100" %>
24
- <% end %>
25
- </td>
26
- </tr>
27
- </tbody>
28
- </table>
29
- </fieldset>
30
- <% end %>
31
- }
32
- )
@@ -1,17 +0,0 @@
1
- Deface::Override.new(
2
- virtual_path: 'spree/admin/orders/index',
3
- name: 'filter_results_by_transaction_reference_no',
4
- insert_before: ".form-actions",
5
- text: %q{
6
- <div class="row">
7
- <div class="col-md-4">
8
- <div class="form-group">
9
- <%= label_tag nil, Spree.t(:payment_state) %>
10
- <%= f.select :payments_state_eq, Spree::Payment.state_machines[:state].states.collect {|s| [s.name, s.value]},
11
- {include_blank: true},
12
- {class: 'select2 form-control'} %>
13
- </div>
14
- </div>
15
- </div>
16
- }
17
- )
data/app/views/.DS_Store DELETED
Binary file
@@ -1,10 +0,0 @@
1
- <% if @success %>
2
- $('#active-status-<%= @bank.id %>').text('<%= bank_status(@bank) %>')
3
- <% action_class = @bank.active ? "btn-danger" : "btn-success" %>
4
- <% btn_class = "btn " + action_class + " btn-sm" %>
5
- <% status = @bank.active ? "active" : "inactive" %>
6
- <% bank_id = "bank-" + @bank[:id].to_s %>
7
- $('#toggle-status-<%= @bank.id %>').html('<%= link_to_with_icon(action_text_to_toggle_bank_status(@bank), action_to_toggle_bank_status(@bank), toggle_activation_admin_bank_path(@bank), {class: btn_class, id: bank_id, rel: status, remote: true, method: :put}) %>')
8
- <% else %>
9
- alert('<%= @bank.errors.full_messages.to_sentence %>')
10
- <% end %>
Binary file
@@ -1,38 +0,0 @@
1
- <div class="container mt-4 pb-3">
2
- <h1 class="text-center h2">วิธีการชำระเงินโดยวิธี "โอนเงินผ่านธนาคาร"</h3>
3
- <h4><strong>ขั้นตอนการแจ้งชำระเงิน:</strong></h4>
4
- <ol>
5
- <li>ชำระเงินเต็มจำนวนตามคำสั่งซื้อ ตามบัญชีธนาคารข้างล่าง
6
- <% if (banks = Spree::Bank.active).any? %>
7
- <div class="w-75">
8
- <table class="table table-bordered">
9
- <tr class="table-active">
10
- <th><%= Spree.t(:bank_name) %></th>
11
- <th><%= Spree.t(:account_no) %></th>
12
- <th><%= Spree.t(:additional_details) %></th>
13
- </tr>
14
- <% banks.each do |bank| %>
15
- <tr>
16
- <td><%= bank.name %></td>
17
- <td><%= bank.account_no %></td>
18
- <td><%= bank.additional_details %></td>
19
- </tr>
20
- <% end %>
21
- </table>
22
- </div>
23
- <% end %>
24
- </li>
25
- <li>แนบหลักฐานการโอนเงินผ่านระบบ
26
- <ol>
27
- <li>ไปยัง "บัญชีของฉัน" page.</li>
28
- <li>เลือก คำสั่งซื้อ</li>
29
- <li>คลิก "แนบหลักฐานการชำระเงิน"</li>
30
- <li>กรอกข้อมูล และกด ยืนยัน</li>
31
- </ol>
32
- </li>
33
- </ol>
34
-
35
- <div class="w-100">
36
- <%= image_tag 'payment_details.png', class: "w-75 img-thumbnail" %>
37
- </div>
38
- </div>
@@ -1,40 +0,0 @@
1
- <% bank_transfer_payment = @order.payments.from_bank_transfer.first %>
2
- <% if bank_transfer_payment.present? %>
3
- <% unless bank_transfer_payment.details_submitted? %>
4
- <br>
5
- <%= link_to Spree.t(:add_details), "javascript:void(0);", class: 'button add_bt_details' %>
6
- <%= form_for bank_transfer_payment, html: { class: "bt_payment_form", style: "#{bank_transfer_payment.details_submitted? ? '' : 'display:none;'}" } do |f| %>
7
- <div class="row mx-0 my-3">
8
- <div class="form-group col-12 px-0">
9
- <%= f.label Spree.t(:deposited_on), class: 'mb-0' %>
10
- <%= f.text_field :deposited_on, disabled: bank_transfer_payment.details_submitted?, class: 'required_field form-control form-control-sm' %>
11
- </div>
12
- <br>
13
- <div class="form-group col-12 px-0">
14
- <%= f.label Spree.t(:bank_name), class: 'mb-0' %>
15
- <%= f.select :bank_name, options_for_select(Spree::Bank.pluck(:name)), {}, {disabled: bank_transfer_payment.details_submitted?, class: 'required_field form-control form-control-sm'} %>
16
- </div>
17
- <br>
18
- <div class="form-group col-12 px-0">
19
- <%= f.label Spree.t(:receipt), class: 'mb-0' %>
20
- <%= f.file_field :receipt, disabled: bank_transfer_payment.details_submitted?, class: 'required_field form-control-file' %>
21
- </div>
22
- <br>
23
- <div class="col-12 px-0">
24
- <% unless bank_transfer_payment.details_submitted? %>
25
- <%= f.submit "Submit", confirm: Spree.t(:confirm_details_submit), class: "btn btn-success btn-block btn-sm" %>
26
- <% end %>
27
- </div>
28
- </div>
29
- <% end %>
30
- <% else %>
31
- <div class="my-3">
32
- <p class="text-success font-weight-bold mb-0">
33
- <i class="fas fa-check-circle"></i> <%= Spree.t(:bank_transfer_completed) %>
34
- </p>
35
- <p class="mb-0"><%= Spree.t(:deposited_on) %>: <%= bank_transfer_payment.deposited_on.strftime("%d/%m/%Y") %></p>
36
- <p class="mb-0"><%= Spree.t(:bank_name) %>: <%= bank_transfer_payment.bank_name %></p>
37
- <a href="<%= main_app.url_for(bank_transfer_payment.receipt) %>" target="_blank"><%= Spree.t(:view_receipt) %></a>
38
- </div>
39
- <% end %>
40
- <% end %>
@@ -1,31 +0,0 @@
1
- # coding: utf-8
2
- lib = File.expand_path('../lib', __FILE__)
3
- $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
- require 'spree_bank_transfer/version'
5
-
6
- Gem::Specification.new do |s|
7
- s.platform = Gem::Platform::RUBY
8
- s.name = 'ba_spree_bank_transfer'
9
- s.version = SpreeBankTransfer::VERSION
10
- s.summary = 'Spree extension to create bank transfer payment method. (be agile fork)'
11
- s.description = 'This Spree extension provides bank transfer payment method functionality. Compatible with Ruby 3.1, Rails 7.2 and Spree 5.0.'
12
- s.required_ruby_version = '>= 3.1.4'
13
-
14
- s.author = 'be agile Co., Ltd.'
15
- s.email = 'develop@be-agile.jp'
16
- s.homepage = 'https://github.com/be-agile/ba_spree_bank_transfer'
17
- s.licenses = ['AGPL-3.0-or-later']
18
-
19
- s.files = `git ls-files`.split("\n")
20
- s.test_files = `git ls-files -- spec/*`.split("\n")
21
- s.require_path = 'lib'
22
- s.requirements << 'none'
23
-
24
- s.add_dependency 'spree_core', '~> 5.3.0'
25
- s.add_dependency 'spree_admin', '= 5.3.6'
26
- s.add_dependency 'spree_storefront', '= 5.3.6'
27
- s.add_dependency 'deface'
28
-
29
- # @gem-override マーカーの差分確認に使う開発ツール
30
- s.add_development_dependency 'gem_override_marker'
31
- end
data/bin/rails DELETED
@@ -1,6 +0,0 @@
1
-
2
- ENGINE_ROOT = File.expand_path('../..', __FILE__)
3
- ENGINE_PATH = File.expand_path('../../lib/spree_bank_transfer/engine', __FILE__)
4
-
5
- require 'rails/all'
6
- require 'rails/engine/commands'
@@ -1,21 +0,0 @@
1
- class PaymentDetails
2
- attr_accessor :payment, :errors, :params
3
-
4
- def initialize(payment, params)
5
- self.payment = payment
6
- self.params = params
7
- self.errors = []
8
- end
9
-
10
- def save
11
- if payment.details_submitted?
12
- errors << "Payment Details can be submitted only once."
13
- else
14
- payment.validate_bank_details = true
15
- unless payment.update_attributes(params)
16
- errors << payment.errors.full_messages.to_sentence
17
- end
18
- end
19
- errors.empty?
20
- end
21
- end
@@ -1,82 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe Spree::Admin::BanksController, type: :controller do
4
-
5
- let(:role) { Spree::Role.create!(name: 'user') }
6
- let(:roles) { [role] }
7
-
8
- before(:each) do
9
- @user = mock_model(Spree::User, :generate_spree_api_key! => false)
10
- allow(@user).to receive_message_chain(:roles, :includes).and_return([])
11
- allow(@user).to receive(:has_spree_role?).with('admin').and_return(true)
12
- allow(controller).to receive(:spree_user_signed_in?).and_return(true)
13
- allow(controller).to receive(:spree_current_user).and_return(@user)
14
- allow(@user).to receive(:roles).and_return(roles)
15
- allow(roles).to receive(:includes).with(:permissions).and_return(roles)
16
- allow(controller).to receive(:authorize_admin).and_return(true)
17
- allow(controller).to receive(:authorize!).and_return(true)
18
- end
19
-
20
- describe "GET index" do
21
- before(:each) do
22
- @bank1 = mock_model(Spree::Bank)
23
- allow(Spree::Bank).to receive(:page).and_return([@bank1])
24
- end
25
-
26
- def send_request
27
- get :index
28
-
29
-
30
-
31
- end
32
-
33
- it "assigns @banks" do
34
- send_request
35
- expect(assigns(:banks)).to eq([@bank1])
36
- end
37
-
38
- it "paginates banks" do
39
- expect(Spree::Bank).to receive(:page)
40
- send_request
41
- end
42
-
43
- it "renders index template" do
44
- send_request
45
- expect(response).to render_template(:index)
46
- end
47
- end
48
-
49
- describe "PUT toggle_activation" do
50
- before(:each) do
51
- @bank = mock_model(Spree::Bank, :toggle! => true)
52
- allow(Spree::Bank).to receive(:find).with("1").and_return(@bank)
53
- end
54
-
55
- def send_request
56
- put :toggle_activation, id: "1", format: :js
57
- end
58
-
59
- it "toggles activation status of bank" do
60
- expect(@bank).to receive(:toggle!).with(:active)
61
- send_request
62
- end
63
-
64
- context "when activation status toggled successfully" do
65
- it "sets @success to true" do
66
- send_request
67
- expect(assigns(:success)).to be true
68
- end
69
- end
70
-
71
- context "when activation status not toggled successfully" do
72
- before(:each) do
73
- allow(@bank).to receive(:toggle!).and_return(false)
74
- end
75
-
76
- it "sets @success to false" do
77
- send_request
78
- expect(assigns(:success)).to be false
79
- end
80
- end
81
- end
82
- end
@@ -1,16 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe Spree::ContentController, type: :controller do
4
- before do
5
- allow(controller).to receive(:authenticate_spree_user!).and_return(true)
6
- @user = mock_model(Spree::User, :generate_spree_api_key! => false, last_incomplete_spree_order: nil)
7
- allow(controller).to receive(:spree_current_user).and_return(@user)
8
- end
9
-
10
- describe "GET bank_transfer" do
11
- it "renders bank_transfer" do
12
- get :bank_transfer
13
- expect(response).to render_template("bank_transfer")
14
- end
15
- end
16
- end
@@ -1,98 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe Spree::PaymentsController, type: :controller do
4
- before do
5
- allow(controller).to receive(:authenticate_spree_user!).and_return(true)
6
- @user = mock_model(Spree::User, :generate_spree_api_key! => false, last_incomplete_spree_order: nil)
7
- allow(controller).to receive(:spree_current_user).and_return(@user)
8
-
9
- @payment = mock_model(Spree::Payment)
10
- @current_user_payments = double("current_user_payments", find_by: @payment)
11
- allow(@user).to receive(:payments).and_return(@current_user_payments)
12
- request.env["HTTP_REFERER"] = "http://localhost"
13
- end
14
-
15
- shared_examples_for "request which finds payment" do
16
-
17
- it "finds payment" do
18
- expect(@current_user_payments).to receive(:find_by).with(number: 'payment_id')
19
- send_request
20
- end
21
-
22
- it "assigns @payment" do
23
- send_request
24
- expect(assigns(:payment)).to eq(@payment)
25
- end
26
-
27
- context 'when payment not found' do
28
- before do
29
- allow(@current_user_payments).to receive(:find_by).and_return(nil)
30
- end
31
-
32
- it "sets flash message" do
33
- send_request
34
- expect(flash[:error]).to eq("Payment not found")
35
- end
36
-
37
- it "redirects to back" do
38
- send_request
39
- expect(response).to redirect_to(:back)
40
- end
41
- end
42
- end
43
-
44
- describe "PATCH update" do
45
- before do
46
- @payment_details = double('payment_details', save: true)
47
- allow(PaymentDetails).to receive(:new).and_return(@payment_details)
48
- end
49
-
50
- def send_request
51
- patch :update, id: 'payment_id', payment: { bank_name: 'bank_name', account_no: "account_no", transaction_reference_no: "transaction_reference_no" }
52
- end
53
-
54
- it_behaves_like "request which finds payment"
55
-
56
-
57
- it "creates new payment details" do
58
- expect(PaymentDetails).to receive(:new).with(@payment, { 'bank_name' => 'bank_name', 'account_no' => "account_no", 'transaction_reference_no' => "transaction_reference_no" })
59
- send_request
60
- end
61
-
62
- it "saves payment_details" do
63
- expect(@payment_details).to receive(:save)
64
- send_request
65
- end
66
-
67
- context 'when payment details saved successfully' do
68
- it 'sets flash message' do
69
- send_request
70
- expect(flash[:notice]).to eq("Payment successfully updated")
71
- end
72
- end
73
-
74
- context 'when payment details not saved' do
75
- before do
76
- allow(@payment_details).to receive(:save).and_return(false)
77
- allow(@payment_details).to receive(:errors).and_return(["some error occurred"])
78
- end
79
-
80
- it 'sets flash error' do
81
- send_request
82
- expect(flash[:error]).to eq("some error occurred")
83
- end
84
- end
85
-
86
- it "redirects to back" do
87
- send_request
88
- expect(response).to redirect_to(:back)
89
- end
90
- end
91
-
92
- describe "#payment_params" do
93
- it "permits only bank_name, account_no, transaction_reference_no, deposited_on" do
94
- controller.params = { payment: { bank_name: 'Bank Name', account_no: 'Account number', transaction_reference_no: "transaction reference number", order_id: 'order_id', deposited_on: 'deposited_on' } }
95
- expect(controller.send(:payment_params)).to eq({ "bank_name" => "Bank Name", "account_no" => "Account number", "transaction_reference_no" => "transaction reference number", 'deposited_on' => 'deposited_on' })
96
- end
97
- end
98
- end
@@ -1,84 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe PaymentDetails do
4
- before do
5
- @payment = mock_model(Spree::Payment, update_attributes: true, :validate_bank_details= => nil)
6
- @params = { 'bank_name' => 'bank_name', 'account_no' => "account_no", 'transaction_reference_no' => "transaction_reference_no" }
7
- @payment_details = PaymentDetails.new(@payment, @params)
8
- end
9
-
10
- describe "#initialize" do
11
- it "sets payment" do
12
- expect(@payment_details.payment).to eq(@payment)
13
- end
14
-
15
- it "sets params" do
16
- expect(@payment_details.params).to eq(@params)
17
- end
18
-
19
- it "initializes errors" do
20
- expect(@payment_details.errors).to eq([])
21
- end
22
- end
23
-
24
- describe "#save" do
25
- context 'when payment details submitted' do
26
- before do
27
- allow(@payment).to receive(:details_submitted?).and_return(true)
28
- end
29
-
30
- it "sets errors" do
31
- @payment_details.save
32
- expect(@payment_details.errors).to eq(["Payment Details can be submitted only once."])
33
- end
34
-
35
- it "does not update payment" do
36
- expect(@payment).not_to receive(:update_attributes)
37
- @payment_details.save
38
- end
39
-
40
- it "returns false" do
41
- expect(@payment_details.save).to be false
42
- end
43
-
44
- end
45
-
46
- context 'when payment details not submitted' do
47
- before do
48
- allow(@payment).to receive(:details_submitted?).and_return(false)
49
- end
50
-
51
- it 'sets validates_bank_details to true' do
52
- expect(@payment).to receive(:validate_bank_details=).with(true)
53
- @payment_details.save
54
- end
55
-
56
- it "updates payment attributes" do
57
- expect(@payment).to receive(:update_attributes)
58
- @payment_details.save
59
- end
60
-
61
- context 'when payment attributes not updated successfully' do
62
- before do
63
- allow(@payment).to receive(:update_attributes).and_return(false)
64
- allow(@payment).to receive_message_chain(:errors, :full_messages).and_return(["some error occurred"])
65
- end
66
-
67
- it 'sets errors' do
68
- @payment_details.save
69
- expect(@payment_details.errors).to eq(["some error occurred"])
70
- end
71
-
72
- it 'returns false' do
73
- expect(@payment_details.save).to be false
74
- end
75
- end
76
-
77
- context 'when payment attributes updated successfully' do
78
- it 'returns true' do
79
- expect(@payment_details.save).to be true
80
- end
81
- end
82
- end
83
- end
84
- end
@@ -1,19 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe Spree::Bank, type: :model do
4
- it { is_expected.to validate_presence_of :name }
5
- it { is_expected.to validate_presence_of :account_no }
6
- it { is_expected.to validate_uniqueness_of(:account_no).scoped_to(:name) }
7
-
8
- describe ".active" do
9
- before(:each) do
10
- @active_bank1 = Spree::Bank.create! name: 'bank1', :account_no => '98765'
11
- @active_bank2 = Spree::Bank.create! name: 'bank2', :account_no => '98765'
12
- @bank3 = Spree::Bank.create! name: 'bank3', :account_no => '98765', active: false
13
- end
14
-
15
- it "returns active banks" do
16
- expect(Spree::Bank.active).to match([@active_bank1, @active_bank2])
17
- end
18
- end
19
- end
@@ -1,114 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe Spree::PaymentMethod::BankTransfer do
4
- before(:each) do
5
- @order = Spree::Order.new
6
- @payment_method = Spree::PaymentMethod::BankTransfer.create! name: "Bank Transfer", active: true
7
- @payment = Spree::Payment.new amount: 0.0
8
- @payment.order = @order
9
- @payment.payment_method = @payment_method
10
- @payment.save!
11
- end
12
-
13
- describe "#actions" do
14
- it "returns actions" do
15
- expect(@payment_method.actions).to eq(["capture", "void"])
16
- end
17
- end
18
-
19
- describe "#can_capture?" do
20
- context "when payment state is pending or checkout" do
21
- before(:each) do
22
- @payment.state = 'checkout'
23
- @payment.save!
24
- end
25
-
26
- it "returns true" do
27
- expect(@payment_method.can_capture?(@payment)).to be true
28
- end
29
- end
30
-
31
- context "when payment state is pending" do
32
- before(:each) do
33
- @payment.state = 'pending'
34
- @payment.save!
35
- end
36
-
37
- it "returns true" do
38
- expect(@payment_method.can_capture?(@payment)).to be true
39
- end
40
-
41
- end
42
-
43
- context "when payment state is not pending or checkout" do
44
- before(:each) do
45
- @payment.state = 'void'
46
- @payment.save!
47
- end
48
-
49
- it "returns false" do
50
- expect(@payment_method.can_capture?(@payment)).to be false
51
- end
52
- end
53
- end
54
-
55
- describe "#can_void?" do
56
- context "when payment state is not void" do
57
- before(:each) do
58
- @payment.state = 'pending'
59
- @payment.save!
60
- end
61
-
62
- it "returns true" do
63
- expect(@payment_method.can_void?(@payment)).to be true
64
- end
65
- end
66
-
67
- context "when payment state is void" do
68
- before(:each) do
69
- @payment.update_column(:state, 'void')
70
- end
71
-
72
- it "returns false" do
73
- expect(@payment_method.can_void?(@payment)).to be false
74
- end
75
- end
76
- end
77
-
78
- describe "#capture" do
79
- it "creates a new active merchant billing response" do
80
- expect(ActiveMerchant::Billing::Response).to receive(:new).with(true, "", {}, {})
81
- @payment_method.capture
82
- end
83
- it "returns active merchant billing response" do
84
- expect(@payment_method.capture).to be_a(ActiveMerchant::Billing::Response)
85
- end
86
- end
87
-
88
- describe "#void" do
89
- it "creates a new active merchant billing response" do
90
- expect(ActiveMerchant::Billing::Response).to receive(:new).with(true, "", {}, {})
91
- @payment_method.void
92
- end
93
- it "returns active merchant billing response" do
94
- expect(@payment_method.void).to be_a(ActiveMerchant::Billing::Response)
95
- end
96
- end
97
-
98
- describe "#source_required?" do
99
- it "returns false" do
100
- expect(@payment_method.source_required?).to be false
101
- end
102
- end
103
-
104
- describe "#credit" do
105
- it "creates a new active merchant billing response" do
106
- expect(ActiveMerchant::Billing::Response).to receive(:new).with(true, "", {}, {})
107
- @payment_method.credit
108
- end
109
- it "returns active merchant billing response" do
110
- expect(@payment_method.credit).to be_a(ActiveMerchant::Billing::Response)
111
- end
112
- end
113
-
114
- end
@@ -1,81 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe Spree::Payment, type: :model do
4
- context 'when validate_bank_details' do
5
- before do
6
- subject.validate_bank_details = true
7
- end
8
-
9
- it { is_expected.to validate_presence_of(:bank_name) }
10
- it { is_expected.to validate_presence_of(:account_no) }
11
- it { is_expected.to validate_presence_of(:transaction_reference_no) }
12
- it { is_expected.to validate_presence_of(:deposited_on) }
13
- end
14
-
15
- context 'when validate_bank_details not true' do
16
- it { is_expected.not_to validate_presence_of(:bank_name) }
17
- it { is_expected.not_to validate_presence_of(:account_no) }
18
- it { is_expected.not_to validate_presence_of(:transaction_reference_no) }
19
- end
20
-
21
- describe ".from_bank_transfer" do
22
- before do
23
- check_payment_method = Spree::PaymentMethod::Check.new
24
- check_payment_method.name = "Check Payment Method"
25
- check_payment_method.save!
26
-
27
- bank_transfer_payment_method = Spree::PaymentMethod::BankTransfer.new
28
- bank_transfer_payment_method.name = "Bank Transfer"
29
- bank_transfer_payment_method.save!
30
-
31
- @order = Spree::Order.new
32
- @order.save!
33
-
34
- @payment1 = Spree::Payment.new
35
- @payment1.order_id = @order.id
36
- @payment1.payment_method_id = check_payment_method.id
37
- @payment1.save!
38
-
39
- @payment2 = Spree::Payment.new
40
- @payment2.order_id = @order.id
41
- @payment2.payment_method_id = check_payment_method.id
42
- @payment2.save!
43
-
44
- @bank_transfer_payment1 = Spree::Payment.new
45
- @bank_transfer_payment1.order_id = @order.id
46
- @bank_transfer_payment1.payment_method_id = bank_transfer_payment_method.id
47
- @bank_transfer_payment1.save!
48
-
49
- @bank_transfer_payment2 = Spree::Payment.new
50
- @bank_transfer_payment2.order_id = @order.id
51
- @bank_transfer_payment2.payment_method_id = bank_transfer_payment_method.id
52
- @bank_transfer_payment2.save!
53
- end
54
-
55
- it "returns payments with payment method as bank_transfer" do
56
- expect(Spree::Payment.from_bank_transfer).to match_array([@bank_transfer_payment1, @bank_transfer_payment2])
57
- end
58
- end
59
-
60
- describe "#details_submitted?" do
61
- before do
62
- @payment = Spree::Payment.new
63
- end
64
-
65
- context 'when transaction_reference_no present' do
66
- before do
67
- @payment.transaction_reference_no = 'transaction_reference_no'
68
- end
69
-
70
- it 'is true' do
71
- expect(@payment.details_submitted?).to be true
72
- end
73
- end
74
-
75
- context 'when transaction_reference_no not present' do
76
- it 'is false' do
77
- expect(@payment.details_submitted?).to be false
78
- end
79
- end
80
- end
81
- end
@@ -1,5 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe Spree::User, type: :model do
4
- it { is_expected.to have_many(:payments).through(:orders) }
5
- end
data/spec/spec_helper.rb DELETED
@@ -1,98 +0,0 @@
1
- # Run Coverage report
2
- require 'simplecov'
3
- SimpleCov.start do
4
- add_group 'Controllers', 'app/controllers'
5
- add_group 'Helpers', 'app/helpers'
6
- add_group 'Mailers', 'app/mailers'
7
- add_group 'Models', 'app/models'
8
- add_group 'Views', 'app/views'
9
- add_group 'Libraries', 'lib'
10
- end
11
-
12
- # Configure Rails Environment
13
- ENV['RAILS_ENV'] = 'test'
14
-
15
- begin
16
- require File.expand_path('../dummy/config/environment', __FILE__)
17
- rescue LoadError
18
- puts 'Could not load dummy application. Please ensure you have run `bundle exec rake test_app`'
19
- exit
20
- end
21
-
22
- require 'rspec/rails'
23
- require 'shoulda/matchers'
24
- require 'database_cleaner'
25
- require 'ffaker'
26
-
27
- # Requires supporting ruby files with custom matchers and macros, etc,
28
- # in spec/support/ and its subdirectories.
29
- Dir[File.join(File.dirname(__FILE__), 'support/**/*.rb')].each { |f| require f }
30
-
31
- # Requires factories defined in spree_core
32
- # require 'spree/testing_support/factories'
33
- require 'spree/testing_support/controller_requests'
34
- require 'spree/testing_support/authorization_helpers'
35
- require 'spree/testing_support/url_helpers'
36
-
37
- # Requires factories defined in lib/spree_favorite_products/factories.rb
38
- # require 'spree_favorite_products/factories'
39
-
40
- Shoulda::Matchers.configure do |config|
41
- config.integrate do |with|
42
- with.test_framework :rspec
43
- with.library :rails
44
- end
45
- end
46
-
47
- RSpec.configure do |config|
48
- # config.include FactoryGirl::Syntax::Methods
49
-
50
- # == URL Helpers
51
- #
52
- # Allows access to Spree's routes in specs:
53
- #
54
- # visit spree.admin_path
55
- # current_path.should eql(spree.products_path)
56
- config.include Spree::TestingSupport::UrlHelpers
57
-
58
- # == Mock Framework
59
- #
60
- # If you prefer to use mocha, flexmock or RR, uncomment the appropriate line:
61
- #
62
- # config.mock_with :mocha
63
- # config.mock_with :flexmock
64
- # config.mock_with :rr
65
- config.mock_with :rspec
66
- config.color = true
67
-
68
- # Remove this line if you're not using ActiveRecord or ActiveRecord fixtures
69
- config.fixture_path = "#{::Rails.root}/spec/fixtures"
70
-
71
- # Capybara javascript drivers require transactional fixtures set to false, and we use DatabaseCleaner
72
- # to cleanup after each test instead. Without transactional fixtures set to false the records created
73
- # to setup a test will be unavailable to the browser, which runs under a seperate server instance.
74
- config.use_transactional_fixtures = false
75
-
76
- # Ensure Suite is set to use transactions for speed.
77
- config.before :suite do
78
- DatabaseCleaner.strategy = :transaction
79
- DatabaseCleaner.clean_with :truncation
80
- end
81
-
82
- # Before each spec check if it is a Javascript test and switch between using database transactions or not where necessary.
83
- config.before :each do |example|
84
- DatabaseCleaner.strategy = example.metadata[:js] ? :truncation : :transaction
85
- DatabaseCleaner.start
86
- end
87
-
88
- # After each spec clean the database.
89
- config.after :each do
90
- DatabaseCleaner.clean
91
- end
92
-
93
- config.fail_fast = ENV['FAIL_FAST'] || false
94
-
95
- config.include Spree::TestingSupport::ControllerRequests, type: :controller
96
-
97
- config.infer_spec_type_from_file_location!
98
- end