get_register_new implementation
darcs-hash:20061025182846-86b55-54ee4fb3315f3155b32864018ab636895e8d2eb9.gz
This commit is contained in:
@@ -50,7 +50,7 @@ if __name__ == '__main__':
|
|||||||
feeder_suite = unittest.makeSuite(Feeder_TestCase, "test")
|
feeder_suite = unittest.makeSuite(Feeder_TestCase, "test")
|
||||||
sender_suite = unittest.makeSuite(Sender_TestCase, "test")
|
sender_suite = unittest.makeSuite(Sender_TestCase, "test")
|
||||||
jcl_suite = unittest.TestSuite()
|
jcl_suite = unittest.TestSuite()
|
||||||
# jcl_suite.addTest(FeederComponent_TestCase('test_handle_get_version'))
|
# jcl_suite.addTest(FeederComponent_TestCase('test_handle_get_register_new'))
|
||||||
# jcl_suite.addTest(FeederComponent_TestCase('test_handle_presence_available_to_account_live_password'))
|
# jcl_suite.addTest(FeederComponent_TestCase('test_handle_presence_available_to_account_live_password'))
|
||||||
# jcl_suite = unittest.TestSuite((feeder_component_suite))
|
# jcl_suite = unittest.TestSuite((feeder_component_suite))
|
||||||
# jcl_suite = unittest.TestSuite((component_suite))
|
# jcl_suite = unittest.TestSuite((component_suite))
|
||||||
|
|||||||
@@ -277,7 +277,6 @@ class JCLComponent(Component):
|
|||||||
base_from_jid = unicode(info_query.get_from().bare())
|
base_from_jid = unicode(info_query.get_from().bare())
|
||||||
disco_items = DiscoItems()
|
disco_items = DiscoItems()
|
||||||
if not node:
|
if not node:
|
||||||
## TODO : list accounts
|
|
||||||
self.db_connect()
|
self.db_connect()
|
||||||
for account in self.account_class.select(Account.q.user_jid == \
|
for account in self.account_class.select(Account.q.user_jid == \
|
||||||
base_from_jid):
|
base_from_jid):
|
||||||
@@ -304,9 +303,8 @@ class JCLComponent(Component):
|
|||||||
"""
|
"""
|
||||||
self.__logger.debug("GET_REGISTER")
|
self.__logger.debug("GET_REGISTER")
|
||||||
## TODO Lang
|
## TODO Lang
|
||||||
## lang_class = self.__lang.get_lang_class_from_node(info_query.get_node())
|
lang_class = self.__lang.get_lang_class_from_node(info_query.get_node())
|
||||||
lang_class = None
|
base_from_jid = unicode(info_query.get_from().bare())
|
||||||
## base_from_jid = unicode(info_query.get_from().bare())
|
|
||||||
to_jid = info_query.get_to()
|
to_jid = info_query.get_to()
|
||||||
info_query = info_query.make_result_response()
|
info_query = info_query.make_result_response()
|
||||||
query = info_query.new_query("jabber:iq:register")
|
query = info_query.new_query("jabber:iq:register")
|
||||||
@@ -545,8 +543,28 @@ class JCLComponent(Component):
|
|||||||
def get_reg_form(self, lang_class):
|
def get_reg_form(self, lang_class):
|
||||||
"""Return register form based on language and account class
|
"""Return register form based on language and account class
|
||||||
"""
|
"""
|
||||||
# TODO
|
# TODO : handle text-private for password
|
||||||
return X()
|
# TODO : handle list-single
|
||||||
|
reg_form = X()
|
||||||
|
reg_form.xmlns = "jabber:x:data"
|
||||||
|
reg_form.title = lang_class.register_title
|
||||||
|
reg_form.instructions = lang_class.register_instructions
|
||||||
|
reg_form.type = "form"
|
||||||
|
|
||||||
|
for (field, field_type) in \
|
||||||
|
self.account_class.get_register_fields():
|
||||||
|
lang_label_attr = self.account_class.__name__.lower() \
|
||||||
|
+ "_" + field
|
||||||
|
if hasattr(lang_class, lang_label_attr):
|
||||||
|
label = getattr(lang_class, lang_label_attr)
|
||||||
|
else:
|
||||||
|
label = field
|
||||||
|
reg_form.add_field(field_type = field_type, \
|
||||||
|
label = label, \
|
||||||
|
var = field)
|
||||||
|
## TODO : Add page when empty tuple given
|
||||||
|
## TODO : get default value if any
|
||||||
|
return reg_form
|
||||||
|
|
||||||
def get_reg_form_init(self, lang_class, account):
|
def get_reg_form_init(self, lang_class, account):
|
||||||
"""Return register form for an existing account (update)
|
"""Return register form for an existing account (update)
|
||||||
|
|||||||
@@ -89,3 +89,8 @@ class Account(SQLObject):
|
|||||||
|
|
||||||
status = property(get_status, set_status)
|
status = property(get_status, set_status)
|
||||||
|
|
||||||
|
|
||||||
|
def get_register_fields(cls):
|
||||||
|
return [('name', "text-single")]
|
||||||
|
|
||||||
|
get_register_fields = classmethod(get_register_fields)
|
||||||
|
|||||||
@@ -317,10 +317,30 @@ class JCLComponent_TestCase(unittest.TestCase):
|
|||||||
to_jid = "jcl.test.com"))
|
to_jid = "jcl.test.com"))
|
||||||
self.assertEquals(len(self.comp.stream.sent), 1)
|
self.assertEquals(len(self.comp.stream.sent), 1)
|
||||||
iq_sent = self.comp.stream.sent[0]
|
iq_sent = self.comp.stream.sent[0]
|
||||||
# print str(iq_sent.get_node())
|
|
||||||
self.assertEquals(iq_sent.get_to(), "user1@test.com")
|
self.assertEquals(iq_sent.get_to(), "user1@test.com")
|
||||||
# self.assertEquals(len(iq_sent.xpath_eval("*/*")), 1)
|
titles = iq_sent.xpath_eval("jir:query/jxd:x/jxd:title", \
|
||||||
# TODO
|
{"jir" : "jabber:iq:register", \
|
||||||
|
"jxd" : "jabber:x:data"})
|
||||||
|
self.assertEquals(len(titles), 1)
|
||||||
|
self.assertEquals(titles[0].content, \
|
||||||
|
Lang.en.register_title)
|
||||||
|
instructions = iq_sent.xpath_eval("jir:query/jxd:x/jxd:instructions", \
|
||||||
|
{"jir" : "jabber:iq:register", \
|
||||||
|
"jxd" : "jabber:x:data"})
|
||||||
|
self.assertEquals(len(instructions), 1)
|
||||||
|
self.assertEquals(instructions[0].content, \
|
||||||
|
Lang.en.register_instructions)
|
||||||
|
fields = iq_sent.xpath_eval("jir:query/jxd:x/jxd:field", \
|
||||||
|
{"jir" : "jabber:iq:register", \
|
||||||
|
"jxd" : "jabber:x:data"})
|
||||||
|
self.assertEquals(len(fields), 1)
|
||||||
|
self.assertEquals(len([field
|
||||||
|
for field in fields \
|
||||||
|
if field.prop("type") == "text-single" \
|
||||||
|
and field.prop("var") == "name" \
|
||||||
|
and field.prop("label") == \
|
||||||
|
Lang.en.account_name]), \
|
||||||
|
1)
|
||||||
|
|
||||||
|
|
||||||
def test_handle_get_register_exist(self):
|
def test_handle_get_register_exist(self):
|
||||||
|
|||||||
Reference in New Issue
Block a user