aboutsummaryrefslogtreecommitdiffstats
path: root/app/models
diff options
context:
space:
mode:
authorZog2018-02-27 16:30:40 +0100
committerZog2018-02-27 16:30:40 +0100
commitff9f6fa9674a4a50da480b550611cd1ce9d84c23 (patch)
tree9666c7d989709b43dfe56822062f5256a5521fa9 /app/models
parent0a91ae5d80e476f967160e1987cc7e63beabea94 (diff)
downloadchouette-core-ff9f6fa9674a4a50da480b550611cd1ce9d84c23.tar.bz2
refs #5878; Remove hard link between a ComplianceCheck and the associated ComplianceControl
Diffstat (limited to 'app/models')
-rw-r--r--app/models/compliance_check.rb6
-rw-r--r--app/models/compliance_control.rb4
2 files changed, 6 insertions, 4 deletions
diff --git a/app/models/compliance_check.rb b/app/models/compliance_check.rb
index 71cb9aef2..fda95ea08 100644
--- a/app/models/compliance_check.rb
+++ b/app/models/compliance_check.rb
@@ -13,10 +13,10 @@ class ComplianceCheck < ActiveRecord::Base
validates :code, presence: true
validates :origin_code, presence: true
- def control
- ComplianceControl.find_by! origin_code: origin_code
+ def control_class
+ compliance_control_name.present? ? compliance_control_name.constantize : nil
end
- delegate :predicate, to: :control
+ delegate :predicate, to: :control_class, allow_nil: true
end
diff --git a/app/models/compliance_control.rb b/app/models/compliance_control.rb
index 45f886005..7cd9ba933 100644
--- a/app/models/compliance_control.rb
+++ b/app/models/compliance_control.rb
@@ -28,6 +28,8 @@ class ComplianceControl < ActiveRecord::Base
end
super
end
+
+ def predicate; I18n.t("compliance_controls.#{self.name.underscore}.description") end
end
extend Enumerize
@@ -60,7 +62,7 @@ class ComplianceControl < ActiveRecord::Base
self.origin_code ||= self.class.default_code
end
- def predicate; I18n.t("compliance_controls.#{self.class.name.underscore}.description") end
+ def predicate; self.class.predicate end
end