We need to send out a separate IQ stanza for each affiliation

At least for Prosody.
This commit is contained in:
JC Brand 2016-12-07 12:43:41 +00:00
parent 54371f0e7d
commit 993c8f1695

View File

@ -605,9 +605,15 @@
onSuccess(null); onSuccess(null);
return; return;
} }
var iq = $iq({to: this.model.get('jid'), type: "set"}) var room_jid = this.model.get('jid');
var affiliations = _.uniq(_.pluck(members, 'affiliation'));
_.each(affiliations, function (affiliation) {
var iq = $iq({to: room_jid, type: "set"})
.c("query", {xmlns: Strophe.NS.MUC_ADMIN}); .c("query", {xmlns: Strophe.NS.MUC_ADMIN});
_.each(members, function (member) { _.each(members, function (member) {
if (member.affiliation !== affiliation) {
return;
}
iq.c("item", { iq.c("item", {
'affiliation': member.affiliation, 'affiliation': member.affiliation,
'jid': member.jid 'jid': member.jid
@ -617,7 +623,8 @@
} }
iq.up(); iq.up();
}); });
return converse.connection.sendIQ(iq, onSuccess, onError); converse.connection.sendIQ(iq, onSuccess, onError);
});
}, },
marshallAffiliationIQs: function () { marshallAffiliationIQs: function () {