diff options
| author | Robert Dober | 2017-10-09 16:57:57 +0200 |
|---|---|---|
| committer | GitHub | 2017-10-09 16:57:57 +0200 |
| commit | 0e0f0c802f30f073a8bfa05952f071af424f8d37 (patch) | |
| tree | 03c89d7f230c59f0cc2c6170dd9c4890fe88a151 /app/models | |
| parent | e94f6f64a1c75cee5155b86c3d0fa51ac26ac96e (diff) | |
| parent | a8f97544fd048d50ef63dae1c74cff2de077152d (diff) | |
| download | chouette-core-0e0f0c802f30f073a8bfa05952f071af424f8d37.tar.bz2 | |
Merge pull request #84 from af83/4629-comp-check-set-creation
4629 comp check set creation *Mergeable*
Diffstat (limited to 'app/models')
| -rw-r--r-- | app/models/compliance_check_block.rb | 2 | ||||
| -rw-r--r-- | app/models/compliance_check_set.rb | 3 | ||||
| -rw-r--r-- | app/models/compliance_control.rb | 11 |
3 files changed, 16 insertions, 0 deletions
diff --git a/app/models/compliance_check_block.rb b/app/models/compliance_check_block.rb index 035c03ed9..ee60a8bb1 100644 --- a/app/models/compliance_check_block.rb +++ b/app/models/compliance_check_block.rb @@ -1,3 +1,5 @@ class ComplianceCheckBlock < ActiveRecord::Base belongs_to :compliance_check_set + + has_many :compliance_checks end diff --git a/app/models/compliance_check_set.rb b/app/models/compliance_check_set.rb index e4146e0e2..536afc705 100644 --- a/app/models/compliance_check_set.rb +++ b/app/models/compliance_check_set.rb @@ -6,6 +6,9 @@ class ComplianceCheckSet < ActiveRecord::Base belongs_to :workbench belongs_to :parent, polymorphic: true + has_many :compliance_check_blocks + has_many :compliance_checks + has_many :compliance_check_resources has_many :compliance_check_messages diff --git a/app/models/compliance_control.rb b/app/models/compliance_control.rb index 33a075e40..363ef5d61 100644 --- a/app/models/compliance_control.rb +++ b/app/models/compliance_control.rb @@ -12,6 +12,17 @@ class ComplianceControl < ActiveRecord::Base validates :origin_code, presence: true validates :compliance_control_set, presence: true + validate def coherent_control_set + return true if compliance_control_block_id.nil? + ids = [compliance_control_block.compliance_control_set_id, compliance_control_set_id] + return true if ids.first == ids.last + names = ids.map{|id| ComplianceControlSet.find(id).name} + errors.add(:coherent_control_set, + I18n.t('compliance_controls.errors.incoherent_control_sets', + indirect_set_name: names.first, + direct_set_name: names.last)) + end + class << self def default_criticity; :warning end def default_code; "" end |
