aboutsummaryrefslogtreecommitdiffstats
path: root/app
diff options
context:
space:
mode:
Diffstat (limited to 'app')
-rw-r--r--app/models/compliance_check_result.rb6
-rw-r--r--app/models/compliance_check_task.rb6
2 files changed, 11 insertions, 1 deletions
diff --git a/app/models/compliance_check_result.rb b/app/models/compliance_check_result.rb
index 6d4509676..72cb4f13e 100644
--- a/app/models/compliance_check_result.rb
+++ b/app/models/compliance_check_result.rb
@@ -5,7 +5,7 @@ class ComplianceCheckResult < ActiveRecord::Base
scope :ok, -> { where status: 'ok' }
scope :nok, -> { where status: 'nok' }
- scope :na, -> { where status: 'na' }
+ scope :na, -> { where status: 'na' }
attr_accessible :violation_count
belongs_to :compliance_check_task
@@ -16,6 +16,10 @@ class ComplianceCheckResult < ActiveRecord::Base
serialize :detail, JSON
+ def error_severity_failure?
+ severity == "error" && status == "nok"
+ end
+
def indice
return nil unless rule_code
diff --git a/app/models/compliance_check_task.rb b/app/models/compliance_check_task.rb
index 756f4ba13..2c1fb1bc5 100644
--- a/app/models/compliance_check_task.rb
+++ b/app/models/compliance_check_task.rb
@@ -15,6 +15,12 @@ class ComplianceCheckTask < ActiveRecord::Base
include ::TypeIdsModelable
+ def any_error_severity_failure?
+ return false if compliance_check_results.empty? || compliance_check_results.nil?
+
+ compliance_check_results.any? { |r| r.error_severity_failure? }
+ end
+
def chouette_command
Chouette::Command.new(:schema => referential.slug)
end