aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMickaël Rémond <mickael.remond@process-one.net>2008-10-01 14:52:25 +0000
committerMickaël Rémond <mickael.remond@process-one.net>2008-10-01 14:52:25 +0000
commit3a2fb34a6136292dd5ee87aad243dac84faa1a14 (patch)
tree89dd2b54c08a764448798de1bb2026a93bb1a3ff /src
parent* src/*/Makefile.win32: Provide explicit beam filenames because (diff)
* src/mod_shared_roster.erl: Correct roster push when changing a shared roster entry name (EJAB-738).
SVN Revision: 1590
Diffstat (limited to 'src')
-rw-r--r--src/mod_shared_roster.erl13
1 files changed, 7 insertions, 6 deletions
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