mirror of
https://github.com/internetee/registry.git
synced 2025-06-08 05:34:46 +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
|
||||
before_action :set_registrar, only: [:show, :edit, :update, :destroy]
|
||||
helper_method :registry_vat_rate
|
||||
helper_method :iban_max_length
|
||||
|
||||
def index
|
||||
@q = Registrar.joins(:accounts).ordered.search(params[:q])
|
||||
|
@ -73,11 +74,16 @@ module Admin
|
|||
:vat_rate,
|
||||
:accounting_customer_code,
|
||||
:billing_email,
|
||||
:iban,
|
||||
:language)
|
||||
end
|
||||
|
||||
def registry_vat_rate
|
||||
Registry.current.vat_rate
|
||||
end
|
||||
|
||||
def iban_max_length
|
||||
Iban.max_length
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
class Registrar
|
||||
class AccountController < BaseController
|
||||
skip_authorization_check
|
||||
helper_method :iban_max_length
|
||||
|
||||
def show; end
|
||||
|
||||
|
@ -18,7 +19,11 @@ class Registrar
|
|||
private
|
||||
|
||||
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
|
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>
|
||||
<% end %>
|
||||
</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>
|
||||
|
|
|
@ -19,6 +19,9 @@
|
|||
|
||||
<dt><%= Registrar.human_attribute_name :reference_no %></dt>
|
||||
<dd><%= registrar.reference_no %></dd>
|
||||
|
||||
<dt><%= Registrar.human_attribute_name :iban %></dt>
|
||||
<dd><%= registrar.iban %></dd>
|
||||
</dl>
|
||||
</div>
|
||||
</div>
|
|
@ -7,6 +7,9 @@
|
|||
<dl class="dl-horizontal">
|
||||
<dt><%= Registrar.human_attribute_name :billing_email %></dt>
|
||||
<dd><%= registrar.billing_email %></dd>
|
||||
|
||||
<dt><%= Registrar.human_attribute_name :iban %></dt>
|
||||
<dd><%= registrar.iban %></dd>
|
||||
</dl>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -11,6 +11,17 @@
|
|||
</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>
|
||||
|
||||
<div class="row">
|
||||
|
|
|
@ -3,13 +3,13 @@
|
|||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-sm-5">
|
||||
<div class="col-sm-6">
|
||||
<%= render 'details', registrar: current_registrar_user.registrar %>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-sm-5">
|
||||
<div class="col-sm-6">
|
||||
<%= render 'linked_users', linked_users: current_registrar_user.linked_users %>
|
||||
</div>
|
||||
</div>
|
|
@ -63,6 +63,7 @@ en:
|
|||
registry's rate of %{registry_vat_rate} will be applied in this case.
|
||||
no_reference_number_hint: Reference number will be generated automatically
|
||||
disabled_reference_number_hint: Reference number cannot be changed
|
||||
iban_hint: Used for e-invoices
|
||||
|
||||
preferences:
|
||||
header: Preferences
|
|
@ -692,3 +692,4 @@ en:
|
|||
ipv4: IPv4
|
||||
ipv6: IPv6
|
||||
reference_no: Reference number
|
||||
iban: IBAN
|
||||
|
|
|
@ -8,6 +8,7 @@ en:
|
|||
header: Edit your account
|
||||
|
||||
form:
|
||||
iban_hint: Required for sending e-invoices to the bank
|
||||
submit_btn: Save changes
|
||||
|
||||
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,
|
||||
test_registrar boolean DEFAULT false,
|
||||
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 ('20190515113153');
|
||||
|
||||
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
|
||||
website: https://bestnames.test
|
||||
reference_no: 13
|
||||
iban: GB33BUKB20201555555555
|
||||
|
||||
goodnames:
|
||||
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
|
||||
new_billing_email = 'new@registrar.test'
|
||||
new_iban = 'GB77BARC20201530093459'
|
||||
assert_not_equal new_billing_email, @registrar.billing_email
|
||||
assert_not_equal new_iban, @registrar.iban
|
||||
|
||||
visit registrar_account_path
|
||||
click_on 'Edit'
|
||||
|
||||
fill_in 'Billing email', with: new_billing_email
|
||||
fill_in 'IBAN', with: new_iban
|
||||
click_on 'Save changes'
|
||||
|
||||
assert_text 'Your account has been updated'
|
||||
assert_text new_billing_email
|
||||
assert_text new_iban
|
||||
end
|
||||
end
|
Loading…
Add table
Add a link
Reference in a new issue