From 79bfa3049e74145b12780ae66c8d827eaca05895 Mon Sep 17 00:00:00 2001 From: Martin Lensment Date: Mon, 6 Oct 2014 17:32:35 +0300 Subject: [PATCH] Fix some validations --- app/models/domain.rb | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/app/models/domain.rb b/app/models/domain.rb index f4baef2fe..5d5338947 100644 --- a/app/models/domain.rb +++ b/app/models/domain.rb @@ -105,9 +105,10 @@ class Domain < ActiveRecord::Base def validate_nameservers_uniqueness validated = [] - nameservers.reject(&:marked_for_destruction?).each do |ns| + list = nameservers.reject(&:marked_for_destruction?) + list.each do |ns| next if ns.hostname.blank? - existing = nameservers.reject(&:marked_for_destruction?).select { |x| x.hostname == ns.hostname } + existing = list.select { |x| x.hostname == ns.hostname } next unless existing.length > 1 validated << ns.hostname errors.add(:nameservers, :invalid) if errors[:nameservers].blank? @@ -147,9 +148,10 @@ class Domain < ActiveRecord::Base def validate_domain_statuses_uniqueness validated = [] - domain_statuses.reject(&:marked_for_destruction?).each do |status| + list = domain_statuses.reject(&:marked_for_destruction?) + list.each do |status| next if status.value.blank? - existing = domain_statuses.select { |x| x.value == status.value } + existing = list.select { |x| x.value == status.value } next unless existing.length > 1 validated << status.value errors.add(:domain_statuses, :invalid) if errors[:domain_statuses].blank? @@ -159,9 +161,10 @@ class Domain < ActiveRecord::Base def validate_dnskeys_uniqueness validated = [] - dnskeys.reject(&:marked_for_destruction?).each do |dnskey| + list = dnskeys.reject(&:marked_for_destruction?) + list.each do |dnskey| next if dnskey.public_key.blank? - existing = dnskeys.select { |x| x.public_key == dnskey.public_key } + existing = list.select { |x| x.public_key == dnskey.public_key } next unless existing.length > 1 validated << dnskey.public_key errors.add(:dnskeys, :invalid) if errors[:dnskeys].blank?