aboutsummaryrefslogtreecommitdiffstats
path: root/app/models/compliance_control.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/models/compliance_control.rb')
-rw-r--r--app/models/compliance_control.rb14
1 files changed, 13 insertions, 1 deletions
diff --git a/app/models/compliance_control.rb b/app/models/compliance_control.rb
index 763a42029..9c3083695 100644
--- a/app/models/compliance_control.rb
+++ b/app/models/compliance_control.rb
@@ -4,11 +4,15 @@ class ComplianceControl < ActiveRecord::Base
has_one :compliance_control_block, dependent: :destroy
accepts_nested_attributes_for :compliance_control_block
+ @@default_criticity = :warning
+ @@default_code = ""
+
enumerize :criticity, in: %i(info warning error), scope: true, default: :info
validates :criticity, presence: true
validates :name, presence: true
validates :code, presence: true
+ validates :origin_code, presence: true
validates :compliance_control_set, presence: true
def self.policy_class
@@ -23,8 +27,16 @@ class ComplianceControl < ActiveRecord::Base
end
super
end
+
+ before_validation(on: :create) do
+ self.name = self.class.name
+ self.code = @@default_code
+ self.origin_code = @@default_code
+ self.criticity = @@default_criticity
+ end
+
end
# Ensure STI subclasses are loaded
# http://guides.rubyonrails.org/autoloading_and_reloading_constants.html#autoloading-and-sti
-require_dependency 'generic_attribute_min_max'
+require_dependency 'generic_attribute_control/min_max'