mirror of
https://github.com/internetee/registry.git
synced 2025-06-08 13:44:47 +02:00
Merge pull request #1203 from internetee/add-registrar-iban
Add registrar IBAN
This commit is contained in:
commit
09a6a3f769
17 changed files with 90 additions and 4 deletions
|
@ -3,6 +3,7 @@ module Admin
|
||||||
load_and_authorize_resource
|
load_and_authorize_resource
|
||||||
before_action :set_registrar, only: [:show, :edit, :update, :destroy]
|
before_action :set_registrar, only: [:show, :edit, :update, :destroy]
|
||||||
helper_method :registry_vat_rate
|
helper_method :registry_vat_rate
|
||||||
|
helper_method :iban_max_length
|
||||||
|
|
||||||
def index
|
def index
|
||||||
@q = Registrar.joins(:accounts).ordered.search(params[:q])
|
@q = Registrar.joins(:accounts).ordered.search(params[:q])
|
||||||
|
@ -73,11 +74,16 @@ module Admin
|
||||||
:vat_rate,
|
:vat_rate,
|
||||||
:accounting_customer_code,
|
:accounting_customer_code,
|
||||||
:billing_email,
|
:billing_email,
|
||||||
|
:iban,
|
||||||
:language)
|
:language)
|
||||||
end
|
end
|
||||||
|
|
||||||
def registry_vat_rate
|
def registry_vat_rate
|
||||||
Registry.current.vat_rate
|
Registry.current.vat_rate
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def iban_max_length
|
||||||
|
Iban.max_length
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
class Registrar
|
class Registrar
|
||||||
class AccountController < BaseController
|
class AccountController < BaseController
|
||||||
skip_authorization_check
|
skip_authorization_check
|
||||||
|
helper_method :iban_max_length
|
||||||
|
|
||||||
def show; end
|
def show; end
|
||||||
|
|
||||||
|
@ -18,7 +19,11 @@ class Registrar
|
||||||
private
|
private
|
||||||
|
|
||||||
def registrar_params
|
def registrar_params
|
||||||
params.require(:registrar).permit(:billing_email)
|
params.require(:registrar).permit(:billing_email, :iban)
|
||||||
|
end
|
||||||
|
|
||||||
|
def iban_max_length
|
||||||
|
Iban.max_length
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
5
app/models/iban.rb
Normal file
5
app/models/iban.rb
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
class Iban
|
||||||
|
def self.max_length
|
||||||
|
34
|
||||||
|
end
|
||||||
|
end
|
|
@ -67,6 +67,16 @@
|
||||||
</div>
|
</div>
|
||||||
<% end %>
|
<% end %>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="form-group">
|
||||||
|
<div class="col-md-4 control-label">
|
||||||
|
<%= f.label :iban %>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-7">
|
||||||
|
<%= f.text_field :iban, maxlength: iban_max_length, class: 'form-control' %>
|
||||||
|
<span class="help-block"><%= t '.iban_hint' %></span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -19,6 +19,9 @@
|
||||||
|
|
||||||
<dt><%= Registrar.human_attribute_name :reference_no %></dt>
|
<dt><%= Registrar.human_attribute_name :reference_no %></dt>
|
||||||
<dd><%= registrar.reference_no %></dd>
|
<dd><%= registrar.reference_no %></dd>
|
||||||
|
|
||||||
|
<dt><%= Registrar.human_attribute_name :iban %></dt>
|
||||||
|
<dd><%= registrar.iban %></dd>
|
||||||
</dl>
|
</dl>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
|
@ -7,6 +7,9 @@
|
||||||
<dl class="dl-horizontal">
|
<dl class="dl-horizontal">
|
||||||
<dt><%= Registrar.human_attribute_name :billing_email %></dt>
|
<dt><%= Registrar.human_attribute_name :billing_email %></dt>
|
||||||
<dd><%= registrar.billing_email %></dd>
|
<dd><%= registrar.billing_email %></dd>
|
||||||
|
|
||||||
|
<dt><%= Registrar.human_attribute_name :iban %></dt>
|
||||||
|
<dd><%= registrar.iban %></dd>
|
||||||
</dl>
|
</dl>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
@ -11,6 +11,17 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="form-group">
|
||||||
|
<div class="col-sm-2 control-label">
|
||||||
|
<%= f.label :iban %>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="col-sm-4">
|
||||||
|
<%= f.text_field :iban, maxlength: iban_max_length, class: 'form-control' %>
|
||||||
|
<span class="help-block"><%= t '.iban_hint' %></span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<hr>
|
<hr>
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
|
|
|
@ -3,13 +3,13 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-sm-5">
|
<div class="col-sm-6">
|
||||||
<%= render 'details', registrar: current_registrar_user.registrar %>
|
<%= render 'details', registrar: current_registrar_user.registrar %>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-sm-5">
|
<div class="col-sm-6">
|
||||||
<%= render 'linked_users', linked_users: current_registrar_user.linked_users %>
|
<%= render 'linked_users', linked_users: current_registrar_user.linked_users %>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
|
@ -63,6 +63,7 @@ en:
|
||||||
registry's rate of %{registry_vat_rate} will be applied in this case.
|
registry's rate of %{registry_vat_rate} will be applied in this case.
|
||||||
no_reference_number_hint: Reference number will be generated automatically
|
no_reference_number_hint: Reference number will be generated automatically
|
||||||
disabled_reference_number_hint: Reference number cannot be changed
|
disabled_reference_number_hint: Reference number cannot be changed
|
||||||
|
iban_hint: Used for e-invoices
|
||||||
|
|
||||||
preferences:
|
preferences:
|
||||||
header: Preferences
|
header: Preferences
|
|
@ -692,3 +692,4 @@ en:
|
||||||
ipv4: IPv4
|
ipv4: IPv4
|
||||||
ipv6: IPv6
|
ipv6: IPv6
|
||||||
reference_no: Reference number
|
reference_no: Reference number
|
||||||
|
iban: IBAN
|
||||||
|
|
|
@ -8,6 +8,7 @@ en:
|
||||||
header: Edit your account
|
header: Edit your account
|
||||||
|
|
||||||
form:
|
form:
|
||||||
|
iban_hint: Required for sending e-invoices to the bank
|
||||||
submit_btn: Save changes
|
submit_btn: Save changes
|
||||||
|
|
||||||
update:
|
update:
|
||||||
|
|
5
db/migrate/20190515113153_add_registrars_iban.rb
Normal file
5
db/migrate/20190515113153_add_registrars_iban.rb
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
class AddRegistrarsIban < ActiveRecord::Migration
|
||||||
|
def change
|
||||||
|
add_column :registrars, :iban, :string
|
||||||
|
end
|
||||||
|
end
|
|
@ -2200,7 +2200,8 @@ CREATE TABLE public.registrars (
|
||||||
reference_no character varying NOT NULL,
|
reference_no character varying NOT NULL,
|
||||||
test_registrar boolean DEFAULT false,
|
test_registrar boolean DEFAULT false,
|
||||||
language character varying NOT NULL,
|
language character varying NOT NULL,
|
||||||
vat_rate numeric(4,3)
|
vat_rate numeric(4,3),
|
||||||
|
iban character varying
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
@ -4966,5 +4967,7 @@ INSERT INTO schema_migrations (version) VALUES ('20190510090240');
|
||||||
|
|
||||||
INSERT INTO schema_migrations (version) VALUES ('20190510102549');
|
INSERT INTO schema_migrations (version) VALUES ('20190510102549');
|
||||||
|
|
||||||
|
INSERT INTO schema_migrations (version) VALUES ('20190515113153');
|
||||||
|
|
||||||
INSERT INTO schema_migrations (version) VALUES ('20190520093231');
|
INSERT INTO schema_migrations (version) VALUES ('20190520093231');
|
||||||
|
|
||||||
|
|
1
test/fixtures/registrars.yml
vendored
1
test/fixtures/registrars.yml
vendored
|
@ -11,6 +11,7 @@ bestnames:
|
||||||
billing_email: billing@bestnames.test
|
billing_email: billing@bestnames.test
|
||||||
website: https://bestnames.test
|
website: https://bestnames.test
|
||||||
reference_no: 13
|
reference_no: 13
|
||||||
|
iban: GB33BUKB20201555555555
|
||||||
|
|
||||||
goodnames:
|
goodnames:
|
||||||
name: Good Names
|
name: Good Names
|
||||||
|
|
20
test/integration/admin_area/registrars_test.rb
Normal file
20
test/integration/admin_area/registrars_test.rb
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
require 'test_helper'
|
||||||
|
|
||||||
|
class AdminAreaRegistrarsIntegrationTest < ActionDispatch::IntegrationTest
|
||||||
|
include Devise::Test::IntegrationHelpers
|
||||||
|
|
||||||
|
setup do
|
||||||
|
@registrar = registrars(:bestnames)
|
||||||
|
sign_in users(:admin)
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_updates_registrar_optional_attributes
|
||||||
|
new_iban = 'GB94BARC10201530093459'
|
||||||
|
assert_not_equal new_iban, @registrar.iban
|
||||||
|
|
||||||
|
patch admin_registrar_path(@registrar), registrar: { iban: new_iban }
|
||||||
|
@registrar.reload
|
||||||
|
|
||||||
|
assert_equal new_iban, @registrar.iban
|
||||||
|
end
|
||||||
|
end
|
7
test/models/iban_test.rb
Normal file
7
test/models/iban_test.rb
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
require 'test_helper'
|
||||||
|
|
||||||
|
class IbanTest < ActiveSupport::TestCase
|
||||||
|
def test_returns_max_length
|
||||||
|
assert_equal 34, Iban.max_length
|
||||||
|
end
|
||||||
|
end
|
|
@ -8,15 +8,19 @@ class RegistrarAccountTest < ApplicationSystemTestCase
|
||||||
|
|
||||||
def test_updates_account
|
def test_updates_account
|
||||||
new_billing_email = 'new@registrar.test'
|
new_billing_email = 'new@registrar.test'
|
||||||
|
new_iban = 'GB77BARC20201530093459'
|
||||||
assert_not_equal new_billing_email, @registrar.billing_email
|
assert_not_equal new_billing_email, @registrar.billing_email
|
||||||
|
assert_not_equal new_iban, @registrar.iban
|
||||||
|
|
||||||
visit registrar_account_path
|
visit registrar_account_path
|
||||||
click_on 'Edit'
|
click_on 'Edit'
|
||||||
|
|
||||||
fill_in 'Billing email', with: new_billing_email
|
fill_in 'Billing email', with: new_billing_email
|
||||||
|
fill_in 'IBAN', with: new_iban
|
||||||
click_on 'Save changes'
|
click_on 'Save changes'
|
||||||
|
|
||||||
assert_text 'Your account has been updated'
|
assert_text 'Your account has been updated'
|
||||||
assert_text new_billing_email
|
assert_text new_billing_email
|
||||||
|
assert_text new_iban
|
||||||
end
|
end
|
||||||
end
|
end
|
Loading…
Add table
Add a link
Reference in a new issue