plugin account: bug fix profile deletion from the database + unsubscribe the contacts

This commit is contained in:
souliane 2014-03-24 16:21:14 +01:00
commit 03d4dcf029

View file

@ -105,6 +105,7 @@ class ProsodyRegisterProtocol(protocol.ProcessProtocol):
d = defer.Deferred()
prosody_reg = ProsodyRegisterProtocol(password, d)
prosody_exe = join(plugin._prosody_path, plugin.getConfig('prosodyctl'))
# TODO delete account which are not on the same host
reactor.spawnProcess(prosody_reg, prosody_exe, [prosody_exe, command, "%s@%s" % (profile, plugin.getConfig('new_account_domain'))], path=plugin._prosody_path)
return d
@ -318,6 +319,14 @@ SàT team""" % {'login': login, 'password': password, 'jid': "%s@%s" % (login, s
@param profile
"""
def userDeleted(result):
client = self.host.profiles[profile]
for jid_ in client.roster._jids: # empty roster
client.presence.unsubscribe(jid_)
for jid_ in self.host.memory.getWaitingSub(profile): # delete waiting subscriptions
self.host.memory.delWaitingSub(jid_)
self.host.disconnect(profile)
self.host.memory.asyncDeleteProfile(profile, force=True)
return defer.succeed({})