From a51562d6d9a8b52de5752523e2fe8e2c931f55e9 Mon Sep 17 00:00:00 2001 From: Dmitriy Zaporozhets Date: Sat, 14 Sep 2013 20:51:16 +0300 Subject: [PATCH] Fix setting default values for user --- app/models/user.rb | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/app/models/user.rb b/app/models/user.rb index ea1b9419288..c1026a44f87 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -200,17 +200,18 @@ class User < ActiveRecord::Base end def build_user(attrs = {}, options= {}) - user = User.new(defaults.merge(attrs), options) - # if not as: :admin force default settings - user.with_defaults unless options[:as] == :admin - user + if options[:as] == :admin + User.new(defaults.merge(attrs.symbolize_keys), options) + else + User.new(attrs, options).with_defaults + end end def defaults { projects_limit: Gitlab.config.gitlab.default_projects_limit, can_create_group: Gitlab.config.gitlab.default_can_create_group, - theme_id: Gitlab::Theme::BASIC + theme_id: Gitlab::Theme::MARS } end end @@ -384,8 +385,10 @@ class User < ActiveRecord::Base end def with_defaults - User.defaults.each do |k,v| - self.send("#{k}=",v) + User.defaults.each do |k, v| + self.send("#{k}=", v) end + + self end end