Owner can destroy rooms

This commit is contained in:
Sébastien Hut 2015-04-04 18:51:05 +02:00 committed by Sébastien Hut
parent 882dfad1a8
commit f06f9aa4ad
2 changed files with 32 additions and 3 deletions

View File

@ -279,5 +279,19 @@ module.exports = HumanModel.define({
leave: function () {
this.resources.reset();
client.leaveRoom(this.jid, this.nick);
},
destroy: function (cb) {
client.sendIq({
type: 'set',
to: this.jid,
mucOwner: {
destroy: {
jid: this.jid,
password: '',
reason: ''
} }
}, function (err, res) {
cb(err);
});
}
});

View File

@ -21,7 +21,7 @@ module.exports = HumanView.extend({
events: {
'click': 'handleClick',
'click .join': 'handleJoinRoom',
'click .remove': 'handleLeaveRoom'
'click .remove': 'handleDestroyRoom'
},
render: function () {
this.renderAndBind({contact: this.model});
@ -33,7 +33,22 @@ module.exports = HumanView.extend({
handleJoinRoom: function (e) {
this.model.join();
},
handleLeaveRoom: function (e) {
this.model.leave();
handleDestroyRoom: function (e) {
var muc = this.model;
$.prompt('Are you sure you want to remove this room: ' + muc.displayName + '?', {
title: 'Remove Room',
buttons: { "Yes": true, "Cancel": false },
persistent: true,
submit:function (e, v, m, f) {
if (v) {
muc.destroy(function (err) {
if (err) {
$.prompt(err.error.text, { title: 'Remove Room' });
}
});
}
}
});
}
});