From 29122249f8cc197cc4e5fa6ec3a70d3c59362ad9 Mon Sep 17 00:00:00 2001 From: Jean-Baptiste Vilain Date: Mon, 5 Aug 2013 12:01:42 +0200 Subject: [PATCH] SONAR-4457 Prevent admins from creating a group of users named 'Anyone' --- sonar-server/src/main/webapp/WEB-INF/app/models/group.rb | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/sonar-server/src/main/webapp/WEB-INF/app/models/group.rb b/sonar-server/src/main/webapp/WEB-INF/app/models/group.rb index b9cba9ca15c..f8ac4a0ee38 100644 --- a/sonar-server/src/main/webapp/WEB-INF/app/models/group.rb +++ b/sonar-server/src/main/webapp/WEB-INF/app/models/group.rb @@ -19,6 +19,8 @@ # class Group < ActiveRecord::Base + ANYONE = 'anyone' + has_and_belongs_to_many :users has_many :group_roles, :dependent => :delete_all @@ -26,6 +28,7 @@ class Group < ActiveRecord::Base validates_length_of :name, :within => 1..255 validates_length_of :description, :within => 0..200 validates_uniqueness_of :name + validate :name_cant_be_anyone # all the users that are NOT members of this group def available_users @@ -45,4 +48,8 @@ class Group < ActiveRecord::Base return 1 if other.nil? || other.name.nil? name.downcase<=>other.name.downcase end + + def name_cant_be_anyone + errors.add(:name, 'cannot be "Anyone" as this is a reserved group name.') if name && name.downcase == ANYONE + end end -- 2.39.5