mirror of
https://github.com/internetee/registry.git
synced 2025-05-19 18:59:38 +02:00
parent
92f33ad4d8
commit
77b24fdbd1
7 changed files with 54 additions and 1 deletions
|
@ -78,7 +78,8 @@ module Admin
|
|||
:billing_email,
|
||||
:code,
|
||||
:test_registrar,
|
||||
:accounting_customer_code)
|
||||
:accounting_customer_code,
|
||||
:language)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -16,8 +16,11 @@ class Registrar < ActiveRecord::Base
|
|||
validates :name, :reg_no, :country_code, :email, :code, presence: true
|
||||
validates :name, :reg_no, :reference_no, :code, uniqueness: true
|
||||
validates :accounting_customer_code, presence: true
|
||||
validates :language, presence: true
|
||||
validate :forbidden_codes
|
||||
|
||||
after_initialize :set_defaults
|
||||
|
||||
def forbidden_codes
|
||||
return true unless ['CID'].include? code
|
||||
errors.add(:code, I18n.t(:forbidden_code))
|
||||
|
@ -163,4 +166,10 @@ class Registrar < ActiveRecord::Base
|
|||
return true unless Setting.api_ip_whitelist_enabled
|
||||
white_ips.api.pluck(:ipv4, :ipv6).flatten.include?(ip)
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def set_defaults
|
||||
self.language = Setting.default_language unless language
|
||||
end
|
||||
end
|
||||
|
|
|
@ -149,6 +149,7 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<%= render 'admin/registrars/form/preferences', f: f %>
|
||||
<hr/>
|
||||
<div class="row">
|
||||
<div class="col-md-8 text-right">
|
||||
|
|
20
app/views/admin/registrars/form/_preferences.html.erb
Normal file
20
app/views/admin/registrars/form/_preferences.html.erb
Normal file
|
@ -0,0 +1,20 @@
|
|||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
<%= t '.header' %>
|
||||
</div>
|
||||
|
||||
<div class="panel-body">
|
||||
<div class="form-group">
|
||||
<div class="col-md-4 control-label">
|
||||
<%= f.label :language %>
|
||||
</div>
|
||||
<div class="col-md-7">
|
||||
<%= f.language_select :language, nil, {}, required: true, class: 'form-control' %>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
|
@ -24,3 +24,6 @@ en:
|
|||
|
||||
billing:
|
||||
header: Billing
|
||||
|
||||
preferences:
|
||||
header: Preferences
|
||||
|
|
1
test/fixtures/registrars.yml
vendored
1
test/fixtures/registrars.yml
vendored
|
@ -5,6 +5,7 @@ DEFAULTS: &DEFAULTS
|
|||
email: acme@example.com
|
||||
code: 1234
|
||||
accounting_customer_code: ACCOUNT001
|
||||
language: en
|
||||
|
||||
valid:
|
||||
<<: *DEFAULTS
|
||||
|
|
|
@ -20,4 +20,22 @@ class RegistrarTest < ActiveSupport::TestCase
|
|||
@registrar.validate
|
||||
assert @registrar.invalid?
|
||||
end
|
||||
|
||||
def test_requires_language
|
||||
@registrar.language = nil
|
||||
@registrar.validate
|
||||
assert @registrar.invalid?
|
||||
end
|
||||
|
||||
def test_has_default_language
|
||||
Setting.default_language = 'en'
|
||||
registrar = Registrar.new
|
||||
assert_equal 'en', registrar.language
|
||||
end
|
||||
|
||||
def test_overrides_default_language
|
||||
Setting.default_language = 'en'
|
||||
registrar = Registrar.new(language: 'de')
|
||||
assert_equal 'de', registrar.language
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue