From a57194106f838e5f04bcb6ee9ec243713b0d362c Mon Sep 17 00:00:00 2001 From: Yann Leboulanger Date: Tue, 13 Aug 2013 13:02:31 +0200 Subject: [PATCH] don't try to configure a room for which we are not admin. See #7422 --- src/groupchat_control.py | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/src/groupchat_control.py b/src/groupchat_control.py index 4e3436d64..1f081c2a5 100644 --- a/src/groupchat_control.py +++ b/src/groupchat_control.py @@ -1576,8 +1576,21 @@ class GroupchatControl(ChatControlBase): gajim.automatic_rooms[self.account][self.room_jid]['invities']: if self.room_jid not in gajim.interface.instances[ self.account]['gc_config']: - gajim.connections[self.account].request_gc_config( - self.room_jid) + if obj.role == 'owner': + # We need to configure the room if it's a new one. + # We cannot know it's a new one. Status 201 is not + # sent by all servers. + gajim.connections[self.account].request_gc_config( + self.room_jid) + elif 'continue_tag' not in gajim.automatic_rooms[ + self.account][self.room_jid]: + # We just need to invite contacts + for jid in gajim.automatic_rooms[self.account][ + self.room_jid]['invities']: + obj.conn.send_invite(self.room_jid, jid) + self.print_conversation(_('%(jid)s has been ' + 'invited in this room') % {'jid': jid}, + graphics=False) if '100' in obj.status_code: # Can be a message (see handle_event_gc_config_change in # gajim.py)