From 865e58859cb83da4e36d8502fc778d383c756c26 Mon Sep 17 00:00:00 2001 From: Zog Date: Mon, 22 Jan 2018 11:05:09 +0100 Subject: Refs #5647; Scope CustomField validations on workgroup --- app/models/custom_field.rb | 5 +++-- spec/models/custom_field_spec.rb | 4 ++-- 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 -- cgit v1.2.3