diff --git a/app/controllers/admin/domains_controller.rb b/app/controllers/admin/domains_controller.rb index 4d8666836..e07315f6d 100644 --- a/app/controllers/admin/domains_controller.rb +++ b/app/controllers/admin/domains_controller.rb @@ -73,6 +73,8 @@ class Admin::DomainsController < ApplicationController :period_unit, :registrar_id, :owner_contact_id, + :owner_contact_typeahead, + :registrar_typeahead, nameservers_attributes: [:id, :hostname, :ipv4, :ipv6, :_destroy], domain_contacts_attributes: [:id, :contact_type, :contact_id, :typeahead_value, :_destroy], domain_statuses_attributes: [:id, :value, :description, :_destroy] diff --git a/app/models/domain.rb b/app/models/domain.rb index 99b3e5cbe..b4dbb918e 100644 --- a/app/models/domain.rb +++ b/app/models/domain.rb @@ -45,6 +45,9 @@ class Domain < ActiveRecord::Base validate :validate_admin_contacts_uniqueness, if: :new_record? validate :validate_domain_statuses_uniqueness, if: :new_record? + attr_accessor :owner_contact_typeahead + attr_accessor :registrar_typeahead + def name=(value) value.strip! write_attribute(:name, SimpleIDN.to_unicode(value)) @@ -52,6 +55,14 @@ class Domain < ActiveRecord::Base write_attribute(:name_dirty, value) end + def owner_contact_typeahead + @owner_contact_typeahead || owner_contact.try(:name) || nil + end + + def registrar_typeahead + @registrar_typeahead || registrar || nil + end + def pending_transfer domain_transfers.find_by(status: DomainTransfer::PENDING) end diff --git a/app/views/admin/domains/form_partials/_general.haml b/app/views/admin/domains/form_partials/_general.haml index 68fe07cf3..8334b93f6 100644 --- a/app/views/admin/domains/form_partials/_general.haml +++ b/app/views/admin/domains/form_partials/_general.haml @@ -17,14 +17,14 @@ = f.select :period_unit, options_for_select(['y', 'm', 'd'], @domain.period_unit), {}, {class: 'form-control'} .col-md-6 .form-group.has-feedback.js-typeahead-container - = f.label :registrar - = text_field_tag(:domain_registrar, params[:registrar], class: 'form-control js-registrar-typeahead', placeholder: t('shared.registrar_name'), autocomplete: 'off') + = f.label :registrar_typeahead + = f.text_field(:registrar_typeahead, class: 'form-control js-registrar-typeahead', placeholder: t('shared.registrar_name'), autocomplete: 'off') %span.glyphicon.glyphicon-ok.form-control-feedback.js-typeahead-ok.hidden %span.glyphicon.glyphicon-remove.form-control-feedback.js-typeahead-remove = f.hidden_field(:registrar_id, class: 'js-registrar-id') .form-group.has-feedback.js-typeahead-container - = f.label :owner_contact - = text_field_tag(:domain_owner_contact, params[:domain_owner_contact], class: 'form-control js-contact-typeahead', placeholder: t('shared.contact_code'), autocomplete: 'off') + = f.label :owner_contact_typeahead + = f.text_field(:owner_contact_typeahead, class: 'form-control js-contact-typeahead', placeholder: t('shared.contact_code'), autocomplete: 'off') %span.glyphicon.glyphicon-ok.form-control-feedback.js-typeahead-ok.hidden %span.glyphicon.glyphicon-remove.form-control-feedback.js-typeahead-remove = f.hidden_field(:owner_contact_id, class: 'js-contact-id')