Commit a51562d6d9a8b52de5752523e2fe8e2c931f55e9
1 parent
3fe2558a
Exists in
master
and in
4 other branches
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 |