mirror of
https://git.anonymousland.org/anonymousland/synapse-product.git
synced 2024-10-01 08:25:44 -04:00
Change displayname of user as admin in rooms (#6876)
This commit is contained in:
parent
fcf4599488
commit
7b0e2d961c
1
changelog.d/6572.bugfix
Normal file
1
changelog.d/6572.bugfix
Normal file
@ -0,0 +1 @@
|
|||||||
|
When a user's profile is updated via the admin API, also generate a displayname/avatar update for that user in each room.
|
@ -28,7 +28,7 @@ from synapse.api.errors import (
|
|||||||
SynapseError,
|
SynapseError,
|
||||||
)
|
)
|
||||||
from synapse.metrics.background_process_metrics import run_as_background_process
|
from synapse.metrics.background_process_metrics import run_as_background_process
|
||||||
from synapse.types import UserID, get_domain_from_id
|
from synapse.types import UserID, create_requester, get_domain_from_id
|
||||||
|
|
||||||
from ._base import BaseHandler
|
from ._base import BaseHandler
|
||||||
|
|
||||||
@ -165,6 +165,12 @@ class BaseProfileHandler(BaseHandler):
|
|||||||
if new_displayname == "":
|
if new_displayname == "":
|
||||||
new_displayname = None
|
new_displayname = None
|
||||||
|
|
||||||
|
# If the admin changes the display name of a user, the requesting user cannot send
|
||||||
|
# the join event to update the displayname in the rooms.
|
||||||
|
# This must be done by the target user himself.
|
||||||
|
if by_admin:
|
||||||
|
requester = create_requester(target_user)
|
||||||
|
|
||||||
yield self.store.set_profile_displayname(target_user.localpart, new_displayname)
|
yield self.store.set_profile_displayname(target_user.localpart, new_displayname)
|
||||||
|
|
||||||
if self.hs.config.user_directory_search_all_users:
|
if self.hs.config.user_directory_search_all_users:
|
||||||
@ -217,6 +223,10 @@ class BaseProfileHandler(BaseHandler):
|
|||||||
400, "Avatar URL is too long (max %i)" % (MAX_AVATAR_URL_LEN,)
|
400, "Avatar URL is too long (max %i)" % (MAX_AVATAR_URL_LEN,)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# Same like set_displayname
|
||||||
|
if by_admin:
|
||||||
|
requester = create_requester(target_user)
|
||||||
|
|
||||||
yield self.store.set_profile_avatar_url(target_user.localpart, new_avatar_url)
|
yield self.store.set_profile_avatar_url(target_user.localpart, new_avatar_url)
|
||||||
|
|
||||||
if self.hs.config.user_directory_search_all_users:
|
if self.hs.config.user_directory_search_all_users:
|
||||||
|
Loading…
Reference in New Issue
Block a user