Commit a51562d6d9a8b52de5752523e2fe8e2c931f55e9

Authored by Dmitriy Zaporozhets
1 parent 3fe2558a

Fix setting default values for user

Showing 1 changed file with 10 additions and 7 deletions   Show diff stats
app/models/user.rb
@@ -200,17 +200,18 @@ class User < ActiveRecord::Base @@ -200,17 +200,18 @@ class User < ActiveRecord::Base
200 end 200 end
201 201
202 def build_user(attrs = {}, options= {}) 202 def build_user(attrs = {}, options= {})
203 - user = User.new(defaults.merge(attrs), options)  
204 - # if not as: :admin force default settings  
205 - user.with_defaults unless options[:as] == :admin  
206 - user 203 + if options[:as] == :admin
  204 + User.new(defaults.merge(attrs.symbolize_keys), options)
  205 + else
  206 + User.new(attrs, options).with_defaults
  207 + end
207 end 208 end
208 209
209 def defaults 210 def defaults
210 { 211 {
211 projects_limit: Gitlab.config.gitlab.default_projects_limit, 212 projects_limit: Gitlab.config.gitlab.default_projects_limit,
212 can_create_group: Gitlab.config.gitlab.default_can_create_group, 213 can_create_group: Gitlab.config.gitlab.default_can_create_group,
213 - theme_id: Gitlab::Theme::BASIC 214 + theme_id: Gitlab::Theme::MARS
214 } 215 }
215 end 216 end
216 end 217 end
@@ -384,8 +385,10 @@ class User < ActiveRecord::Base @@ -384,8 +385,10 @@ class User < ActiveRecord::Base
384 end 385 end
385 386
386 def with_defaults 387 def with_defaults
387 - User.defaults.each do |k,v|  
388 - self.send("#{k}=",v) 388 + User.defaults.each do |k, v|
  389 + self.send("#{k}=", v)
389 end 390 end
  391 +
  392 + self
390 end 393 end
391 end 394 end