Subscribe process needs to use bare JID to work with ejabberd
darcs-hash:20071030203025-86b55-31aed32e84cbad64f033639a3c7b5325ce2dc19a.gz
This commit is contained in:
@@ -153,16 +153,17 @@ class AccountManager(object):
|
|||||||
those accounts from the DataBase"""
|
those accounts from the DataBase"""
|
||||||
model.db_connect()
|
model.db_connect()
|
||||||
result = []
|
result = []
|
||||||
for _account in account.get_accounts(user_jid):
|
bare_user_jid = user_jid.bare()
|
||||||
|
for _account in account.get_accounts(bare_user_jid):
|
||||||
result.extend(self.remove_account(_account, user_jid, False))
|
result.extend(self.remove_account(_account, user_jid, False))
|
||||||
user = account.get_user(unicode(user_jid.bare()))
|
user = account.get_user(unicode(bare_user_jid))
|
||||||
if user is not None:
|
if user is not None:
|
||||||
user.destroySelf()
|
user.destroySelf()
|
||||||
result.append(Presence(from_jid=self.component.jid,
|
result.append(Presence(from_jid=self.component.jid,
|
||||||
to_jid=user_jid,
|
to_jid=bare_user_jid,
|
||||||
stanza_type="unsubscribe"))
|
stanza_type="unsubscribe"))
|
||||||
result.append(Presence(from_jid=self.component.jid,
|
result.append(Presence(from_jid=self.component.jid,
|
||||||
to_jid=user_jid,
|
to_jid=bare_user_jid,
|
||||||
stanza_type="unsubscribed"))
|
stanza_type="unsubscribed"))
|
||||||
model.db_disconnect()
|
model.db_disconnect()
|
||||||
return result
|
return result
|
||||||
@@ -178,11 +179,12 @@ class AccountManager(object):
|
|||||||
self.__logger.debug("Deleting account: " + str(_account))
|
self.__logger.debug("Deleting account: " + str(_account))
|
||||||
result = []
|
result = []
|
||||||
model.db_connect()
|
model.db_connect()
|
||||||
|
bare_user_jid = user_jid.bare()
|
||||||
result.append(Presence(from_jid=_account.jid,
|
result.append(Presence(from_jid=_account.jid,
|
||||||
to_jid=user_jid,
|
to_jid=bare_user_jid,
|
||||||
stanza_type="unsubscribe"))
|
stanza_type="unsubscribe"))
|
||||||
result.append(Presence(from_jid=_account.jid,
|
result.append(Presence(from_jid=_account.jid,
|
||||||
to_jid=user_jid,
|
to_jid=bare_user_jid,
|
||||||
stanza_type="unsubscribed"))
|
stanza_type="unsubscribed"))
|
||||||
_account.destroySelf()
|
_account.destroySelf()
|
||||||
if remove_user:
|
if remove_user:
|
||||||
@@ -217,7 +219,7 @@ class AccountManager(object):
|
|||||||
# component subscribe user presence when registering the first
|
# component subscribe user presence when registering the first
|
||||||
# account
|
# account
|
||||||
result.append(Presence(from_jid=self.component.jid,
|
result.append(Presence(from_jid=self.component.jid,
|
||||||
to_jid=from_jid,
|
to_jid=from_jid.bare(),
|
||||||
stanza_type="subscribe"))
|
stanza_type="subscribe"))
|
||||||
welcome_message = self.component.get_welcome_message()
|
welcome_message = self.component.get_welcome_message()
|
||||||
if welcome_message is not None:
|
if welcome_message is not None:
|
||||||
@@ -233,7 +235,7 @@ class AccountManager(object):
|
|||||||
subject=_account.get_new_message_subject(lang_class),
|
subject=_account.get_new_message_subject(lang_class),
|
||||||
body=_account.get_new_message_body(lang_class)))
|
body=_account.get_new_message_body(lang_class)))
|
||||||
result.append(Presence(from_jid=_account.jid,
|
result.append(Presence(from_jid=_account.jid,
|
||||||
to_jid=from_jid,
|
to_jid=from_jid.bare(),
|
||||||
stanza_type="subscribe"))
|
stanza_type="subscribe"))
|
||||||
else:
|
else:
|
||||||
result.append(Message(\
|
result.append(Message(\
|
||||||
|
|||||||
@@ -1108,7 +1108,7 @@ class JCLComponent_TestCase(JCLTestCase):
|
|||||||
value="account1",
|
value="account1",
|
||||||
field_type="text-single")
|
field_type="text-single")
|
||||||
iq_set = Iq(stanza_type="set",
|
iq_set = Iq(stanza_type="set",
|
||||||
from_jid="user1@test.com",
|
from_jid="user1@test.com/res",
|
||||||
to_jid="jcl.test.com")
|
to_jid="jcl.test.com")
|
||||||
query = iq_set.new_query("jabber:iq:register")
|
query = iq_set.new_query("jabber:iq:register")
|
||||||
x_data.as_xml(query, None)
|
x_data.as_xml(query, None)
|
||||||
@@ -1128,7 +1128,7 @@ class JCLComponent_TestCase(JCLTestCase):
|
|||||||
self.assertTrue(isinstance(iq_result, Iq))
|
self.assertTrue(isinstance(iq_result, Iq))
|
||||||
self.assertEquals(iq_result.get_node().prop("type"), "result")
|
self.assertEquals(iq_result.get_node().prop("type"), "result")
|
||||||
self.assertEquals(iq_result.get_from(), "jcl.test.com")
|
self.assertEquals(iq_result.get_from(), "jcl.test.com")
|
||||||
self.assertEquals(iq_result.get_to(), "user1@test.com")
|
self.assertEquals(iq_result.get_to(), "user1@test.com/res")
|
||||||
|
|
||||||
presence_component = stanza_sent[1]
|
presence_component = stanza_sent[1]
|
||||||
self.assertTrue(isinstance(presence_component, Presence))
|
self.assertTrue(isinstance(presence_component, Presence))
|
||||||
@@ -1140,7 +1140,7 @@ class JCLComponent_TestCase(JCLTestCase):
|
|||||||
message = stanza_sent[2]
|
message = stanza_sent[2]
|
||||||
self.assertTrue(isinstance(message, Message))
|
self.assertTrue(isinstance(message, Message))
|
||||||
self.assertEquals(message.get_from(), "jcl.test.com")
|
self.assertEquals(message.get_from(), "jcl.test.com")
|
||||||
self.assertEquals(message.get_to(), "user1@test.com")
|
self.assertEquals(message.get_to(), "user1@test.com/res")
|
||||||
self.assertEquals(message.get_subject(),
|
self.assertEquals(message.get_subject(),
|
||||||
_account.get_new_message_subject(Lang.en))
|
_account.get_new_message_subject(Lang.en))
|
||||||
self.assertEquals(message.get_body(),
|
self.assertEquals(message.get_body(),
|
||||||
@@ -1169,7 +1169,7 @@ class JCLComponent_TestCase(JCLTestCase):
|
|||||||
value="account1",
|
value="account1",
|
||||||
field_type="text-single")
|
field_type="text-single")
|
||||||
iq_set = Iq(stanza_type="set",
|
iq_set = Iq(stanza_type="set",
|
||||||
from_jid="user1@test.com",
|
from_jid="user1@test.com/res",
|
||||||
to_jid="jcl.test.com")
|
to_jid="jcl.test.com")
|
||||||
query = iq_set.new_query("jabber:iq:register")
|
query = iq_set.new_query("jabber:iq:register")
|
||||||
x_data.as_xml(query, None)
|
x_data.as_xml(query, None)
|
||||||
@@ -1189,7 +1189,7 @@ class JCLComponent_TestCase(JCLTestCase):
|
|||||||
self.assertTrue(isinstance(iq_result, Iq))
|
self.assertTrue(isinstance(iq_result, Iq))
|
||||||
self.assertEquals(iq_result.get_node().prop("type"), "result")
|
self.assertEquals(iq_result.get_node().prop("type"), "result")
|
||||||
self.assertEquals(iq_result.get_from(), "jcl.test.com")
|
self.assertEquals(iq_result.get_from(), "jcl.test.com")
|
||||||
self.assertEquals(iq_result.get_to(), "user1@test.com")
|
self.assertEquals(iq_result.get_to(), "user1@test.com/res")
|
||||||
|
|
||||||
presence_component = stanza_sent[1]
|
presence_component = stanza_sent[1]
|
||||||
self.assertTrue(isinstance(presence_component, Presence))
|
self.assertTrue(isinstance(presence_component, Presence))
|
||||||
@@ -1201,7 +1201,7 @@ class JCLComponent_TestCase(JCLTestCase):
|
|||||||
message = stanza_sent[2]
|
message = stanza_sent[2]
|
||||||
self.assertTrue(isinstance(message, Message))
|
self.assertTrue(isinstance(message, Message))
|
||||||
self.assertEquals(message.get_from(), "jcl.test.com")
|
self.assertEquals(message.get_from(), "jcl.test.com")
|
||||||
self.assertEquals(message.get_to(), "user1@test.com")
|
self.assertEquals(message.get_to(), "user1@test.com/res")
|
||||||
self.assertEquals(message.get_subject(),
|
self.assertEquals(message.get_subject(),
|
||||||
Lang.en.welcome_message_subject)
|
Lang.en.welcome_message_subject)
|
||||||
self.assertEquals(message.get_body(),
|
self.assertEquals(message.get_body(),
|
||||||
@@ -1210,7 +1210,7 @@ class JCLComponent_TestCase(JCLTestCase):
|
|||||||
message = stanza_sent[3]
|
message = stanza_sent[3]
|
||||||
self.assertTrue(isinstance(message, Message))
|
self.assertTrue(isinstance(message, Message))
|
||||||
self.assertEquals(message.get_from(), "jcl.test.com")
|
self.assertEquals(message.get_from(), "jcl.test.com")
|
||||||
self.assertEquals(message.get_to(), "user1@test.com")
|
self.assertEquals(message.get_to(), "user1@test.com/res")
|
||||||
self.assertEquals(message.get_subject(),
|
self.assertEquals(message.get_subject(),
|
||||||
_account.get_new_message_subject(Lang.en))
|
_account.get_new_message_subject(Lang.en))
|
||||||
self.assertEquals(message.get_body(),
|
self.assertEquals(message.get_body(),
|
||||||
@@ -1233,7 +1233,7 @@ class JCLComponent_TestCase(JCLTestCase):
|
|||||||
value="account1",
|
value="account1",
|
||||||
field_type="text-single")
|
field_type="text-single")
|
||||||
iq_set = Iq(stanza_type="set",
|
iq_set = Iq(stanza_type="set",
|
||||||
from_jid="user1@test.com",
|
from_jid="user1@test.com/res",
|
||||||
to_jid="jcl.test.com/Example2")
|
to_jid="jcl.test.com/Example2")
|
||||||
query = iq_set.new_query("jabber:iq:register")
|
query = iq_set.new_query("jabber:iq:register")
|
||||||
x_data.as_xml(query, None)
|
x_data.as_xml(query, None)
|
||||||
@@ -1253,7 +1253,7 @@ class JCLComponent_TestCase(JCLTestCase):
|
|||||||
self.assertTrue(isinstance(iq_result, Iq))
|
self.assertTrue(isinstance(iq_result, Iq))
|
||||||
self.assertEquals(iq_result.get_node().prop("type"), "result")
|
self.assertEquals(iq_result.get_node().prop("type"), "result")
|
||||||
self.assertEquals(iq_result.get_from(), "jcl.test.com/Example2")
|
self.assertEquals(iq_result.get_from(), "jcl.test.com/Example2")
|
||||||
self.assertEquals(iq_result.get_to(), "user1@test.com")
|
self.assertEquals(iq_result.get_to(), "user1@test.com/res")
|
||||||
|
|
||||||
presence_component = stanza_sent[1]
|
presence_component = stanza_sent[1]
|
||||||
self.assertTrue(isinstance(presence_component, Presence))
|
self.assertTrue(isinstance(presence_component, Presence))
|
||||||
@@ -1265,7 +1265,7 @@ class JCLComponent_TestCase(JCLTestCase):
|
|||||||
message = stanza_sent[2]
|
message = stanza_sent[2]
|
||||||
self.assertTrue(isinstance(message, Message))
|
self.assertTrue(isinstance(message, Message))
|
||||||
self.assertEquals(message.get_from(), "jcl.test.com")
|
self.assertEquals(message.get_from(), "jcl.test.com")
|
||||||
self.assertEquals(message.get_to(), "user1@test.com")
|
self.assertEquals(message.get_to(), "user1@test.com/res")
|
||||||
self.assertEquals(message.get_subject(),
|
self.assertEquals(message.get_subject(),
|
||||||
_account.get_new_message_subject(Lang.en))
|
_account.get_new_message_subject(Lang.en))
|
||||||
self.assertEquals(message.get_body(),
|
self.assertEquals(message.get_body(),
|
||||||
@@ -1364,7 +1364,7 @@ class JCLComponent_TestCase(JCLTestCase):
|
|||||||
value="mylogin",
|
value="mylogin",
|
||||||
field_type="text-single")
|
field_type="text-single")
|
||||||
iq_set = Iq(stanza_type="set",
|
iq_set = Iq(stanza_type="set",
|
||||||
from_jid="user1@test.com",
|
from_jid="user1@test.com/res",
|
||||||
to_jid="jcl.test.com")
|
to_jid="jcl.test.com")
|
||||||
query = iq_set.new_query("jabber:iq:register")
|
query = iq_set.new_query("jabber:iq:register")
|
||||||
x_data.as_xml(query)
|
x_data.as_xml(query)
|
||||||
@@ -1395,7 +1395,7 @@ class JCLComponent_TestCase(JCLTestCase):
|
|||||||
value="mylogin1",
|
value="mylogin1",
|
||||||
field_type="text-single")
|
field_type="text-single")
|
||||||
iq_set = Iq(stanza_type="set",
|
iq_set = Iq(stanza_type="set",
|
||||||
from_jid="user1@test.com",
|
from_jid="user1@test.com/res",
|
||||||
to_jid="jcl.test.com")
|
to_jid="jcl.test.com")
|
||||||
query = iq_set.new_query("jabber:iq:register")
|
query = iq_set.new_query("jabber:iq:register")
|
||||||
x_data.as_xml(query)
|
x_data.as_xml(query)
|
||||||
@@ -1422,7 +1422,7 @@ class JCLComponent_TestCase(JCLTestCase):
|
|||||||
value="mylogin2",
|
value="mylogin2",
|
||||||
field_type="text-single")
|
field_type="text-single")
|
||||||
iq_set = Iq(stanza_type="set",
|
iq_set = Iq(stanza_type="set",
|
||||||
from_jid="user1@test.com",
|
from_jid="user1@test.com/res",
|
||||||
to_jid="jcl.test.com")
|
to_jid="jcl.test.com")
|
||||||
query = iq_set.new_query("jabber:iq:register")
|
query = iq_set.new_query("jabber:iq:register")
|
||||||
x_data.as_xml(query)
|
x_data.as_xml(query)
|
||||||
@@ -1448,9 +1448,9 @@ class JCLComponent_TestCase(JCLTestCase):
|
|||||||
self.comp.stream = MockStream()
|
self.comp.stream = MockStream()
|
||||||
self.comp.stream_class = MockStream
|
self.comp.stream_class = MockStream
|
||||||
x_data = Form("submit")
|
x_data = Form("submit")
|
||||||
iq_set = Iq(stanza_type = "set", \
|
iq_set = Iq(stanza_type="set",
|
||||||
from_jid = "user1@test.com", \
|
from_jid="user1@test.com/res",
|
||||||
to_jid = "jcl.test.com")
|
to_jid="jcl.test.com")
|
||||||
query = iq_set.new_query("jabber:iq:register")
|
query = iq_set.new_query("jabber:iq:register")
|
||||||
x_data.as_xml(query)
|
x_data.as_xml(query)
|
||||||
self.comp.handle_set_register(iq_set)
|
self.comp.handle_set_register(iq_set)
|
||||||
@@ -1465,9 +1465,9 @@ class JCLComponent_TestCase(JCLTestCase):
|
|||||||
self.assertTrue(isinstance(stanza_sent[0], Iq))
|
self.assertTrue(isinstance(stanza_sent[0], Iq))
|
||||||
self.assertEquals(stanza_sent[0].get_node().prop("type"), "error")
|
self.assertEquals(stanza_sent[0].get_node().prop("type"), "error")
|
||||||
stanza_error = stanza_sent[0].get_error()
|
stanza_error = stanza_sent[0].get_error()
|
||||||
self.assertEquals(stanza_error.get_condition().name, \
|
self.assertEquals(stanza_error.get_condition().name,
|
||||||
"not-acceptable")
|
"not-acceptable")
|
||||||
self.assertEquals(stanza_error.get_text(), \
|
self.assertEquals(stanza_error.get_text(),
|
||||||
Lang.en.mandatory_field % ("name"))
|
Lang.en.mandatory_field % ("name"))
|
||||||
|
|
||||||
def test_handle_set_register_new_field_mandatory(self):
|
def test_handle_set_register_new_field_mandatory(self):
|
||||||
@@ -1479,7 +1479,7 @@ class JCLComponent_TestCase(JCLTestCase):
|
|||||||
value="account1",
|
value="account1",
|
||||||
field_type="text-single")
|
field_type="text-single")
|
||||||
iq_set = Iq(stanza_type="set",
|
iq_set = Iq(stanza_type="set",
|
||||||
from_jid="user1@test.com",
|
from_jid="user1@test.com/res",
|
||||||
to_jid="jcl.test.com")
|
to_jid="jcl.test.com")
|
||||||
query = iq_set.new_query("jabber:iq:register")
|
query = iq_set.new_query("jabber:iq:register")
|
||||||
x_data.as_xml(query)
|
x_data.as_xml(query)
|
||||||
@@ -1543,7 +1543,7 @@ class JCLComponent_TestCase(JCLTestCase):
|
|||||||
value=43,
|
value=43,
|
||||||
field_type="text-single")
|
field_type="text-single")
|
||||||
iq_set = Iq(stanza_type="set",
|
iq_set = Iq(stanza_type="set",
|
||||||
from_jid="user1@test.com",
|
from_jid="user1@test.com/res",
|
||||||
to_jid="account1@jcl.test.com")
|
to_jid="account1@jcl.test.com")
|
||||||
query = iq_set.new_query("jabber:iq:register")
|
query = iq_set.new_query("jabber:iq:register")
|
||||||
x_data.as_xml(query)
|
x_data.as_xml(query)
|
||||||
@@ -1569,12 +1569,12 @@ class JCLComponent_TestCase(JCLTestCase):
|
|||||||
self.assertTrue(isinstance(iq_result, Iq))
|
self.assertTrue(isinstance(iq_result, Iq))
|
||||||
self.assertEquals(iq_result.get_node().prop("type"), "result")
|
self.assertEquals(iq_result.get_node().prop("type"), "result")
|
||||||
self.assertEquals(iq_result.get_from(), "account1@jcl.test.com")
|
self.assertEquals(iq_result.get_from(), "account1@jcl.test.com")
|
||||||
self.assertEquals(iq_result.get_to(), "user1@test.com")
|
self.assertEquals(iq_result.get_to(), "user1@test.com/res")
|
||||||
|
|
||||||
message = stanza_sent[1]
|
message = stanza_sent[1]
|
||||||
self.assertTrue(isinstance(message, Message))
|
self.assertTrue(isinstance(message, Message))
|
||||||
self.assertEquals(message.get_from(), "jcl.test.com")
|
self.assertEquals(message.get_from(), "jcl.test.com")
|
||||||
self.assertEquals(message.get_to(), "user1@test.com")
|
self.assertEquals(message.get_to(), "user1@test.com/res")
|
||||||
self.assertEquals(message.get_subject(), \
|
self.assertEquals(message.get_subject(), \
|
||||||
_account.get_update_message_subject(Lang.en))
|
_account.get_update_message_subject(Lang.en))
|
||||||
self.assertEquals(message.get_body(), \
|
self.assertEquals(message.get_body(), \
|
||||||
@@ -1596,7 +1596,7 @@ class JCLComponent_TestCase(JCLTestCase):
|
|||||||
jid="account1@jcl.test.com")
|
jid="account1@jcl.test.com")
|
||||||
model.db_disconnect()
|
model.db_disconnect()
|
||||||
iq_set = Iq(stanza_type="set",
|
iq_set = Iq(stanza_type="set",
|
||||||
from_jid="user1@test.com",
|
from_jid="user1@test.com/res",
|
||||||
to_jid="jcl.test.com")
|
to_jid="jcl.test.com")
|
||||||
query = iq_set.new_query("jabber:iq:register")
|
query = iq_set.new_query("jabber:iq:register")
|
||||||
query.newChild(None, "remove", None)
|
query.newChild(None, "remove", None)
|
||||||
|
|||||||
Reference in New Issue
Block a user