From c5ba1b0dd3e38d86202b326654aab866d418226b Mon Sep 17 00:00:00 2001 From: Martin Lensment Date: Mon, 10 Aug 2015 19:17:49 +0300 Subject: [PATCH] Fix status check in model #2845 --- app/models/concerns/statuses.rb | 7 +++++++ app/models/domain.rb | 3 ++- 2 files changed, 9 insertions(+), 1 deletion(-) create mode 100644 app/models/concerns/statuses.rb diff --git a/app/models/concerns/statuses.rb b/app/models/concerns/statuses.rb new file mode 100644 index 000000000..454f43d94 --- /dev/null +++ b/app/models/concerns/statuses.rb @@ -0,0 +1,7 @@ +module Statuses + extend ActiveSupport::Concern + + def force_delete? + statuses.include?(DomainStatus::FORCE_DELETE) + end +end diff --git a/app/models/domain.rb b/app/models/domain.rb index 3d9f1d49b..dcdcbc120 100644 --- a/app/models/domain.rb +++ b/app/models/domain.rb @@ -1,6 +1,7 @@ # rubocop: disable Metrics/ClassLength class Domain < ActiveRecord::Base include Versions # version/domain_version.rb + include Statuses has_paper_trail class_name: "DomainVersion", meta: { children: :children_log } # TODO: whois requests ip whitelist for full info for own domains and partial info for other domains @@ -107,7 +108,7 @@ class Domain < ActiveRecord::Base validate :check_permissions def check_permissions - return unless update_prohibited? || delete_prohibited? + return unless force_delete? errors.add(:base, I18n.t(:object_status_prohibits_operation)) false end