diff --git a/app/controllers/admin/reserved_domains_controller.rb b/app/controllers/admin/reserved_domains_controller.rb index 622f56eb2..402d33022 100644 --- a/app/controllers/admin/reserved_domains_controller.rb +++ b/app/controllers/admin/reserved_domains_controller.rb @@ -24,7 +24,7 @@ class Admin::ReservedDomainsController < AdminController ReservedDomain.transaction do # removing old ones existing = ReservedDomain.any_of_domains(names.keys).pluck(:id) - ReservedDomain.where.not(id: existing).delete_all + ReservedDomain.where.not(id: existing).destroy_all #updating and adding names.each do |name, psw| diff --git a/app/models/reserved_domain.rb b/app/models/reserved_domain.rb index 057321e56..141fd7263 100644 --- a/app/models/reserved_domain.rb +++ b/app/models/reserved_domain.rb @@ -1,6 +1,9 @@ class ReservedDomain < ActiveRecord::Base include Versions # version/reserved_domain_version.rb before_save :fill_empty_passwords + before_save :generate_data + before_destroy :remove_data + class << self def pw_for(domain_name) @@ -25,4 +28,34 @@ class ReservedDomain < ActiveRecord::Base def name= val super SimpleIDN.to_unicode(val) end + + def generate_data + @json = generate_json + @body = generate_body + update_whois_server + end + + def update_whois_server + wr = Whois::Record.find_or_initialize_by(name: name) + wr.body = @body + wr.json = @json + wr.save + end + + def generate_body + template = Rails.root.join("app/views/for_models/whois_other.erb".freeze) + ERB.new(template.read, nil, "-").result(binding) + end + + def generate_json + h = HashWithIndifferentAccess.new + h[:name] = self.name + h[:status] = 'Reserved' + h + end + + def remove_data + Whois::Record.where(name: name).delete_all + end + end diff --git a/app/views/for_models/whois_other.erb b/app/views/for_models/whois_other.erb new file mode 100644 index 000000000..50cf0b2dc --- /dev/null +++ b/app/views/for_models/whois_other.erb @@ -0,0 +1,8 @@ +Estonia .ee Top Level Domain WHOIS server + +Domain: +name: <%= @json['name'] %> +status: <%= @json['status'] %> + +Estonia .ee Top Level Domain WHOIS server +More information at http://internet.ee