def deregisterSelected(self): status = IStatusMessage(self.request) widget = self.widgets.get('users') if widget.extract() == NO_VALUE: status.add(_(u"You first need to choose the users to deregister"), "error") return setup.deregisterXMPPUsers(self.context, self.getChosenMembers()) return status.add(_(u"The selected users are being deregistered in " u"the background."), "info")
def deregisterSelected(self): status = IStatusMessage(self.request) widget = self.widgets.get('users') if widget.extract() == NO_VALUE: status.add(_(u"You first need to choose the users to deregister"), "error") return setup.deregisterXMPPUsers(self.context, self.getChosenMembers()) return status.add( _(u"The selected users are being deregistered in " u"the background."), "info")
def test_manual_deregistration(self): """ Create plone members and register them for XMPP. Then deregister them manually and check that all is fine. """ portal = self.layer['portal'] member_ids = ['jmiller', 'stpeter'] self.client = getUtility(IAdminClient, context=portal) self._addAndRegisterMembers(member_ids) self._checkRegistered(member_ids) d = setup.deregisterXMPPUsers(portal, ['jmiller']) self.assertTrue(wait_on_deferred(d)) self._checkDeregistered(['jmiller']) self._checkRegistered(['stpeter']) d = setup.deregisterXMPPUsers(portal, ['stpeter']) self.assertTrue(wait_on_deferred(d)) self._checkDeregistered(['stpeter'])
def resultReceived(result): items = [item.attributes for item in result.query.children] if items[0].has_key('node'): for item in reversed(items): iq = IQ(client.admin.xmlstream, 'get') iq['to'] = settings.xmpp_domain query = iq.addElement((NS_DISCO_ITEMS, 'query')) query['node'] = item['node'] iq.send().addCallbacks(resultReceived) else: member_jids = [item['jid'] for item in items] if settings.admin_jid in member_jids: member_jids.remove(settings.admin_jid) member_ids = [item.split('@')[0] for item in member_jids] if member_ids: portal = getSite() setup.deregisterXMPPUsers(portal, member_ids) return result