Use textsecure.messaging to create groups

Not textsecure.storage. Sigh. Also accomodate the fact that
the group id is not returned directly, but rather at the end
of a promise chain.
pull/749/head
lilia 11 years ago
parent fa4c385598
commit 4f21bbd21f

@ -36,7 +36,7 @@ var Whisper = Whisper || {};
var promise = textsecure.messaging.sendMessageToNumber(this.get('id'), message, []); var promise = textsecure.messaging.sendMessageToNumber(this.get('id'), message, []);
} }
else { else {
var promise = textsecure.messaging.sendMessageToGroup(this.get('id'), message, []); var promise = textsecure.messaging.sendMessageToGroup(this.get('groupId'), message, []);
} }
promise.then( promise.then(
function(result) { function(result) {
@ -68,15 +68,18 @@ var Whisper = Whisper || {};
}, },
createGroup: function(recipients, name) { createGroup: function(recipients, name) {
var group = textsecure.storage.groups.createNewGroup(recipients);
var attributes = {}; var attributes = {};
attributes = { attributes = {
id : group.id,
name : name, name : name,
numbers : group.numbers, numbers : recipients,
type : 'group', type : 'group',
}; };
return this.findOrCreate(attributes); var thread = this.findOrCreate(attributes);
return textsecure.messaging.createGroup(recipients, name).then(function(groupId) {
thread.set('groupId', groupId);
thread.save();
return thread;
});
}, },
findOrCreateForRecipient: function(recipient) { findOrCreateForRecipient: function(recipient) {

@ -36,10 +36,12 @@ var Whisper = Whisper || {};
e.preventDefault(); e.preventDefault();
var numbers = this.$el.find('input.numbers').val().split(','); var numbers = this.$el.find('input.numbers').val().split(',');
var name = this.$el.find('input.name').val(); var name = this.$el.find('input.name').val();
var thread = Whisper.Threads.createGroup(numbers, name); var view = this;
thread.sendMessage(this.$el.find('input.send-message').val()); Whisper.Threads.createGroup(numbers, name).then(function(thread){
this.remove(); thread.sendMessage(view.$el.find('input.send-message').val());
thread.trigger('render'); view.remove();
thread.trigger('render');
});
}, },
render: function() { render: function() {

Loading…
Cancel
Save