From: Jean-Philippe Lang Date: Sat, 3 Dec 2016 08:57:01 +0000 (+0000) Subject: Use .unscoped when querying and creating builtin objects (#24156). X-Git-Tag: 3.4.0~527 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=3e86a2ab52bcadea6ed92522a3d3e88b6dc4aa30;p=redmine.git Use .unscoped when querying and creating builtin objects (#24156). Patch by Holger Just. git-svn-id: http://svn.redmine.org/redmine/trunk@16049 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- diff --git a/app/models/group_builtin.rb b/app/models/group_builtin.rb index 9cedb61df..29e1d8e2a 100644 --- a/app/models/group_builtin.rb +++ b/app/models/group_builtin.rb @@ -37,12 +37,12 @@ class GroupBuiltin < Group class << self def load_instance return nil if self == GroupBuiltin - instance = order('id').first || create_instance + instance = unscoped.order('id').first || create_instance end def create_instance raise 'The builtin group already exists.' if exists? - instance = new + instance = unscoped.new instance.lastname = name instance.save :validate => false raise 'Unable to create builtin group.' if instance.new_record? diff --git a/app/models/role.rb b/app/models/role.rb index 8b4dbde86..b85d5a6b0 100644 --- a/app/models/role.rb +++ b/app/models/role.rb @@ -294,9 +294,9 @@ private end def self.find_or_create_system_role(builtin, name) - role = where(:builtin => builtin).first + role = unscoped.where(:builtin => builtin).first if role.nil? - role = create(:name => name) do |r| + role = unscoped.create(:name => name) do |r| r.builtin = builtin end raise "Unable to create the #{name} role (#{role.errors.full_messages.join(',')})." if role.new_record? diff --git a/app/models/user.rb b/app/models/user.rb index 81a2e7c77..76b54c896 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -750,9 +750,9 @@ class User < Principal # Returns the anonymous user. If the anonymous user does not exist, it is created. There can be only # one anonymous user per database. def self.anonymous - anonymous_user = AnonymousUser.first + anonymous_user = AnonymousUser.unscoped.first if anonymous_user.nil? - anonymous_user = AnonymousUser.create(:lastname => 'Anonymous', :firstname => '', :login => '', :status => 0) + anonymous_user = AnonymousUser.unscoped.create(:lastname => 'Anonymous', :firstname => '', :login => '', :status => 0) raise 'Unable to create the anonymous user.' if anonymous_user.new_record? end anonymous_user