aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZog2018-01-22 11:05:09 +0100
committerZog2018-01-22 11:05:09 +0100
commit865e58859cb83da4e36d8502fc778d383c756c26 (patch)
tree5b4444ac9b6f81a693dcf012e3403bb5c6a5f56c
parent761ad42ea0ec53a633cbb30d65acf041231e92ec (diff)
downloadchouette-core-5647-scope-custom-fields-validations.tar.bz2
Refs #5647; Scope CustomField validations on workgroup5647-scope-custom-fields-validations
-rw-r--r--app/models/custom_field.rb5
-rw-r--r--spec/models/custom_field_spec.rb4
2 files changed, 5 insertions, 4 deletions
diff --git a/app/models/custom_field.rb b/app/models/custom_field.rb
index 3f79ec62c..774c8b0f6 100644
--- a/app/models/custom_field.rb
+++ b/app/models/custom_field.rb
@@ -1,8 +1,9 @@
class CustomField < ActiveRecord::Base
extend Enumerize
+ belongs_to :workgroup
enumerize :field_type, in: %i{list}
- validates :name, uniqueness: {scope: :resource_type}
- validates :code, uniqueness: {scope: :resource_type, case_sensitive: false}
+ validates :name, uniqueness: {scope: [:resource_type, :workgroup_id]}
+ validates :code, uniqueness: {scope: [:resource_type, :workgroup_id], case_sensitive: false}
end
diff --git a/spec/models/custom_field_spec.rb b/spec/models/custom_field_spec.rb
index 8a6d0cb41..51128b0a2 100644
--- a/spec/models/custom_field_spec.rb
+++ b/spec/models/custom_field_spec.rb
@@ -4,8 +4,8 @@ RSpec.describe CustomField, type: :model do
let( :vj ){ create :vehicle_journey, custom_field_values: {energy: 99} }
context "validates" do
- it { should validate_uniqueness_of(:name).scoped_to(:resource_type) }
- it { should validate_uniqueness_of(:code).scoped_to(:resource_type).case_insensitive }
+ it { should validate_uniqueness_of(:name).scoped_to(:resource_type, :workgroup_id) }
+ it { should validate_uniqueness_of(:code).scoped_to(:resource_type, :workgroup_id).case_insensitive }
end
context "field access" do