From 8c0ebe302667e5955fbabd669596d4ecfe76520b Mon Sep 17 00:00:00 2001 From: Erik Johnston Date: Wed, 3 Apr 2019 10:26:56 +0100 Subject: [PATCH] Add config option to use email as display name for new users --- synapse/config/registration.py | 8 +++++++ synapse/rest/client/v2_alpha/register.py | 29 +++++++++++++----------- 2 files changed, 24 insertions(+), 13 deletions(-) diff --git a/synapse/config/registration.py b/synapse/config/registration.py index 503fe6f922..e5c0ccb2af 100644 --- a/synapse/config/registration.py +++ b/synapse/config/registration.py @@ -42,6 +42,9 @@ class RegistrationConfig(Config): self.registration_shared_secret = config.get("registration_shared_secret") self.register_mxid_from_3pid = config.get("register_mxid_from_3pid") + self.register_just_use_email_for_display_name = config.get( + "register_just_use_email_for_display_name", False, + ) self.bcrypt_rounds = config.get("bcrypt_rounds", 12) self.trusted_third_party_id_servers = config.get( @@ -111,6 +114,11 @@ class RegistrationConfig(Config): # #register_mxid_from_3pid: email + # Uncomment to set the display name of new users to their email address, + # rather than using the default heuristic. + # + #register_just_use_email_for_display_name: true + # Mandate that users are only allowed to associate certain formats of # 3PIDs with accounts on this server. # diff --git a/synapse/rest/client/v2_alpha/register.py b/synapse/rest/client/v2_alpha/register.py index 741c12e43a..1740947e27 100644 --- a/synapse/rest/client/v2_alpha/register.py +++ b/synapse/rest/client/v2_alpha/register.py @@ -454,21 +454,24 @@ class RegisterRestServlet(RestServlet): # something else went wrong. break - # XXX: a nasty heuristic to turn an email address into - # a displayname, as part of register_mxid_from_3pid - parts = address.replace('.', ' ').split('@') - org_parts = parts[1].split(' ') - - if org_parts[-2] == "matrix" and org_parts[-1] == "org": - org = "Tchap Admin" - elif org_parts[-2] == "gouv" and org_parts[-1] == "fr": - org = org_parts[-3] if len(org_parts) > 2 else org_parts[-2] + if self.config.register_just_use_email_for_display_name: + desired_display_name = address else: - org = org_parts[-2] + # XXX: a nasty heuristic to turn an email address into + # a displayname, as part of register_mxid_from_3pid + parts = address.replace('.', ' ').split('@') + org_parts = parts[1].split(' ') - desired_display_name = ( - capwords(parts[0]) + " [" + capwords(org) + "]" - ) + if org_parts[-2] == "matrix" and org_parts[-1] == "org": + org = "Tchap Admin" + elif org_parts[-2] == "gouv" and org_parts[-1] == "fr": + org = org_parts[-3] if len(org_parts) > 2 else org_parts[-2] + else: + org = org_parts[-2] + + desired_display_name = ( + capwords(parts[0]) + " [" + capwords(org) + "]" + ) elif ( self.hs.config.register_mxid_from_3pid == 'msisdn' and LoginType.MSISDN in auth_result