diff options
| author | Zog | 2018-02-27 16:30:40 +0100 |
|---|---|---|
| committer | Zog | 2018-02-27 16:30:40 +0100 |
| commit | ff9f6fa9674a4a50da480b550611cd1ce9d84c23 (patch) | |
| tree | 9666c7d989709b43dfe56822062f5256a5521fa9 /app | |
| parent | 0a91ae5d80e476f967160e1987cc7e63beabea94 (diff) | |
| download | chouette-core-ff9f6fa9674a4a50da480b550611cd1ce9d84c23.tar.bz2 | |
refs #5878; Remove hard link between a ComplianceCheck and the associated ComplianceControl
Diffstat (limited to 'app')
| -rw-r--r-- | app/models/compliance_check.rb | 6 | ||||
| -rw-r--r-- | app/models/compliance_control.rb | 4 |
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 |
