Refactor some code out of the presenceHandler.

Also, don't hide the controlbox in the beginning, no need to.
This commit is contained in:
JC Brand 2013-03-05 19:18:40 +02:00
parent 1966d5ab56
commit dfc1b73d11

View File

@ -1511,6 +1511,20 @@
return 0;
},
subscribeBack: function (jid) {
// XXX: Why the distinction between jid and bare_jid?
var bare_jid = Strophe.getBareJidFromJid(jid)
if (xmppchat.connection.roster.findItem(bare_jid)) {
xmppchat.connection.roster.authorize(bare_jid);
xmppchat.connection.roster.subscribe(jid);
} else {
xmppchat.connection.roster.add(jid, '', [], function (iq) {
xmppchat.connection.roster.authorize(bare_jid);
xmppchat.connection.roster.subscribe(jid);
});
}
},
getNumOnlineContacts: function () {
var count = 0,
models = this.models,
@ -1582,15 +1596,7 @@
// TODO see if auto_subscribe is truly an unresolved variable
if (xmppchat.auto_subscribe) {
if ((!item) || (item.get('subscription') != 'to')) {
if (xmppchat.connection.roster.findItem(bare_jid)) {
xmppchat.connection.roster.authorize(bare_jid);
xmppchat.connection.roster.subscribe(jid);
} else {
xmppchat.connection.roster.add(jid, '', [], function (iq) {
xmppchat.connection.roster.authorize(bare_jid);
xmppchat.connection.roster.subscribe(jid);
});
}
this.subscribeBack(jid);
} else {
xmppchat.connection.roster.authorize(bare_jid);
}
@ -1675,8 +1681,7 @@
delete this.rosteritemviews[item.id];
}, this);
this.$el.hide()
.html(this.template());
this.$el.html(this.template());
},
template: _.template('<dt id="xmpp-contact-requests">Contact requests</dt>' +
@ -1692,11 +1697,12 @@
$pending_contacts = this.$el.find('#pending-xmpp-contacts'),
$count, presence_change;
// TODO see if user_id would be useful
var user_id = Strophe.getNodeFromJid(item.id),
view = this.rosteritemviews[item.id],
ask = item.get('ask'),
subscription = item.get('subscription'),
crit = {order:'asc'};
var jid = item.id,
user_id = Strophe.getNodeFromJid(jid),
view = this.rosteritemviews[item.id],
ask = item.get('ask'),
subscription = item.get('subscription'),
crit = {order:'asc'};
if (ask === 'subscribe') {
$pending_contacts.after(view.render().el);