Commit ba65f291 authored by Jaakko Kantojärvi's avatar Jaakko Kantojärvi

Add option to disable username changing

This option allows to disable users from changing their username.

This is very usefull in environments using strong internal authentication methods like ldap, pam or shibboleth.

You can allow users to change theyr username in these environments, but then new users (users loging in first time) is blocked from gitlab is her username exists.
parent 04186e97
...@@ -51,7 +51,9 @@ class ProfilesController < ApplicationController ...@@ -51,7 +51,9 @@ class ProfilesController < ApplicationController
end end
def update_username def update_username
if @user.can_change_username?
@user.update_attributes(username: params[:user][:username]) @user.update_attributes(username: params[:user][:username])
end
respond_to do |format| respond_to do |format|
format.js format.js
......
...@@ -234,6 +234,10 @@ class User < ActiveRecord::Base ...@@ -234,6 +234,10 @@ class User < ActiveRecord::Base
keys.count == 0 keys.count == 0
end end
def can_change_username?
Gitlab.config.gitlab.username_changing_enabled
end
def can_create_project? def can_create_project?
projects_limit > personal_projects.count projects_limit > personal_projects.count
end end
......
...@@ -53,7 +53,8 @@ ...@@ -53,7 +53,8 @@
%fieldset.update-username - if current_user.can_change_username?
%fieldset.update-username
%legend %legend
Username Username
%small.cred.pull-right %small.cred.pull-right
......
...@@ -35,6 +35,7 @@ production: &base ...@@ -35,6 +35,7 @@ production: &base
## Project settings ## Project settings
default_projects_limit: 10 default_projects_limit: 10
# signup_enabled: true # default: false - Account passwords are not sent via the email if signup is enabled. # signup_enabled: true # default: false - Account passwords are not sent via the email if signup is enabled.
# username_changing_enabled: false # default: true - User can change her username/namespace
## Gravatar ## Gravatar
gravatar: gravatar:
......
...@@ -57,6 +57,7 @@ Settings.gitlab['support_email'] ||= Settings.gitlab.email_from ...@@ -57,6 +57,7 @@ Settings.gitlab['support_email'] ||= Settings.gitlab.email_from
Settings.gitlab['url'] ||= Settings.send(:build_gitlab_url) Settings.gitlab['url'] ||= Settings.send(:build_gitlab_url)
Settings.gitlab['user'] ||= 'git' Settings.gitlab['user'] ||= 'git'
Settings.gitlab['signup_enabled'] ||= false Settings.gitlab['signup_enabled'] ||= false
Settings.gitlab['username_changing_enabled'] = true if Settings.gitlab['username_changing_enabled'].nil?
# #
# Gravatar # Gravatar
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment