diff --git a/app/controllers/admin/registrars_controller.rb b/app/controllers/admin/registrars_controller.rb index 5448ced2e..c0d28908f 100644 --- a/app/controllers/admin/registrars_controller.rb +++ b/app/controllers/admin/registrars_controller.rb @@ -57,7 +57,7 @@ class Admin::RegistrarsController < AdminController def registrar_params params.require(:registrar).permit( :name, :reg_no, :vat_no, :street, :city, :state, :zip, :billing_address, - :country_code, :email, :phone, :billing_email + :country_code, :email, :phone, :billing_email, :code ) end end diff --git a/app/models/registrar.rb b/app/models/registrar.rb index 3082bf0a0..b1826abf2 100644 --- a/app/models/registrar.rb +++ b/app/models/registrar.rb @@ -12,7 +12,7 @@ class Registrar < ActiveRecord::Base belongs_to :country_deprecated, foreign_key: :country_id - validates :name, :reg_no, :country_code, :email, presence: true + validates :name, :reg_no, :country_code, :email, :code, presence: true validates :name, :reg_no, :reference_no, uniqueness: true validate :set_code, if: :new_record? @@ -139,7 +139,11 @@ class Registrar < ActiveRecord::Base end def code=(code) - self[:code] = code if new_record? + self[:code] = code.upcase if new_record? && code.present? + end + + def contact_prefix + "CID:#{code}:" end private diff --git a/app/views/admin/registrars/_form.haml b/app/views/admin/registrars/_form.haml index cd36c08eb..f456ddde1 100644 --- a/app/views/admin/registrars/_form.haml +++ b/app/views/admin/registrars/_form.haml @@ -70,6 +70,19 @@ .col-md-7 = f.select(:country_code, SortedCountry.all_options(f.object.country_code), {}, class: 'form-control') + + .row + .col-md-8 + .panel.panel-default + .panel-heading.clearfix + .pull-left= t(:misc) + .panel-body + .form-group + .col-md-4.control-label + = f.label :code + .col-md-7 + = f.text_field(:code, class: 'form-control') + %hr .row .col-md-8.text-right diff --git a/app/views/admin/registrars/show.haml b/app/views/admin/registrars/show.haml index f472b7625..c59401898 100644 --- a/app/views/admin/registrars/show.haml +++ b/app/views/admin/registrars/show.haml @@ -29,6 +29,9 @@ %dt= t(:reference_no) %dd= @registrar.reference_no + %dt= t(:code) + %dd= @registrar.code + .col-md-6 .panel.panel-default .panel-heading diff --git a/lib/tasks/import.rake b/lib/tasks/import.rake index 55fd672b7..f62dfc637 100644 --- a/lib/tasks/import.rake +++ b/lib/tasks/import.rake @@ -86,7 +86,8 @@ namespace :import do vat: x.vat, legacy_id: x.id, creator_str: user, - updator_str: user + updator_str: user, + code: x.handle.upcase }) end diff --git a/spec/fabricators/registrar_fabricator.rb b/spec/fabricators/registrar_fabricator.rb index 2808d6b1e..33e4053f3 100644 --- a/spec/fabricators/registrar_fabricator.rb +++ b/spec/fabricators/registrar_fabricator.rb @@ -7,6 +7,7 @@ Fabricator(:registrar) do zip 'Postal' email 'info@registrar1.ee' country_code 'EE' + code 'REG' reference_no { sequence(:reference_no) { |i| "RF#{i}" } } accounts(count: 1) end diff --git a/spec/models/registrar_spec.rb b/spec/models/registrar_spec.rb index c38068e5e..a5b763db9 100644 --- a/spec/models/registrar_spec.rb +++ b/spec/models/registrar_spec.rb @@ -16,7 +16,8 @@ describe Registrar do 'Contact e-mail is missing', 'Country code is missing', 'Name is missing', - 'Reg no is missing' + 'Reg no is missing', + 'Code is missing', ]) end