From 3a2fb34a6136292dd5ee87aad243dac84faa1a14 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micka=C3=ABl=20R=C3=A9mond?= Date: Wed, 1 Oct 2008 14:52:25 +0000 Subject: [PATCH] * src/mod_shared_roster.erl: Correct roster push when changing a shared roster entry name (EJAB-738). SVN Revision: 1590 --- ChangeLog | 5 +++++ src/mod_shared_roster.erl | 13 +++++++------ 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/ChangeLog b/ChangeLog index fd4f9503b..2c4b4ecc5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2008-10-01 Mickael Remond + + * src/mod_shared_roster.erl: Correct roster push when changing + a shared roster entry name (EJAB-738). + 2008-09-30 Badlop * src/*/Makefile.win32: Provide explicit beam filenames because diff --git a/src/mod_shared_roster.erl b/src/mod_shared_roster.erl index c24ffb6cf..90614a35b 100644 --- a/src/mod_shared_roster.erl +++ b/src/mod_shared_roster.erl @@ -160,6 +160,7 @@ get_user_roster(Items, US) -> process_item(RosterItem, Host) -> USFrom = {UserFrom, ServerFrom} = RosterItem#roster.us, {UserTo, ServerTo, ResourceTo} = RosterItem#roster.jid, + NameTo = RosterItem#roster.name, USTo = {UserTo, ServerTo}, DisplayedGroups = get_user_displayed_groups(USFrom), CommonGroups = lists:filter(fun(Group) -> @@ -187,24 +188,24 @@ process_item(RosterItem, Host) -> PersonalGroups -> %% Store roster items in From and To rosters set_new_rosteritems(UserFrom, ServerFrom, - UserTo, ServerTo, ResourceTo, + UserTo, ServerTo, ResourceTo, NameTo, PersonalGroups) end end. -build_roster_record(User1, Server1, User2, Server2, Groups) -> +build_roster_record(User1, Server1, User2, Server2, Name2, Groups) -> USR2 = {User2, Server2, ""}, #roster{usj = {User1, Server1, USR2}, us = {User1, Server1}, jid = USR2, - name = User2, + name = Name2, subscription = both, ask = none, groups = Groups }. set_new_rosteritems(UserFrom, ServerFrom, - UserTo, ServerTo, ResourceTo, GroupsFrom) -> + UserTo, ServerTo, ResourceTo, NameTo, GroupsFrom) -> Mod = case lists:member(mod_roster_odbc, gen_mod:loaded_modules(ServerFrom)) of true -> mod_roster_odbc; @@ -212,13 +213,13 @@ set_new_rosteritems(UserFrom, ServerFrom, end, RIFrom = build_roster_record(UserFrom, ServerFrom, - UserTo, ServerTo, GroupsFrom), + UserTo, ServerTo, NameTo, GroupsFrom), set_item(UserFrom, ServerFrom, ResourceTo, RIFrom), JIDTo = jlib:make_jid(UserTo, ServerTo, ""), JIDFrom = jlib:make_jid(UserFrom, ServerFrom, ""), RITo = build_roster_record(UserTo, ServerTo, - UserFrom, ServerFrom, []), + UserFrom, ServerFrom, UserFrom,[]), set_item(UserTo, ServerTo, "", RITo), %% From requests