Add "required" node in register form
darcs-hash:20061120221924-86b55-5c373bcc28739b580a852f4dde84891c79c408e1.gz
This commit is contained in:
@@ -51,7 +51,7 @@ if __name__ == '__main__':
|
||||
sender_suite = unittest.makeSuite(Sender_TestCase, "test")
|
||||
jcl_suite = unittest.TestSuite()
|
||||
# jcl_suite.addTest(FeederComponent_TestCase('test_handle_tick'))
|
||||
# jcl_suite.addTest(FeederComponent_TestCase('test_handle_set_register_new_field_mandatory'))
|
||||
# jcl_suite.addTest(FeederComponent_TestCase('test_handle_get_register_new'))
|
||||
# jcl_suite = unittest.TestSuite((feeder_component_suite))
|
||||
# jcl_suite = unittest.TestSuite((component_suite))
|
||||
jcl_suite = unittest.TestSuite((component_suite,
|
||||
|
||||
@@ -618,7 +618,8 @@ class JCLComponent(Component, object):
|
||||
# "name" field is mandatory
|
||||
reg_form.add_field(field_type = "text-single", \
|
||||
label = lang_class.account_name, \
|
||||
var = "name")
|
||||
var = "name", \
|
||||
required = True)
|
||||
|
||||
for (field, field_type, post_func, default_func) in \
|
||||
self.account_class.get_register_fields():
|
||||
@@ -628,9 +629,11 @@ class JCLComponent(Component, object):
|
||||
label = getattr(lang_class, lang_label_attr)
|
||||
else:
|
||||
label = field
|
||||
reg_form.add_field(field_type = field_type, \
|
||||
field = reg_form.add_field(field_type = field_type, \
|
||||
label = label, \
|
||||
var = field)
|
||||
if default_func == account.mandatory_field:
|
||||
field.required = True
|
||||
## TODO : Add page when empty tuple given
|
||||
## TODO : get default value if any
|
||||
return reg_form
|
||||
|
||||
@@ -100,10 +100,11 @@ class DataForm(object):
|
||||
field_type = "fixed", \
|
||||
label = None, \
|
||||
var = None, \
|
||||
value = ""):
|
||||
value = "", \
|
||||
required = False):
|
||||
"""Add a Field to this Xdata form
|
||||
"""
|
||||
field = Field(field_type, label, var, value)
|
||||
field = Field(field_type, label, var, value, required)
|
||||
self.fields[var] = field
|
||||
# fields_tab exist to keep added fields order
|
||||
self.fields_tab.append(field)
|
||||
|
||||
@@ -387,6 +387,7 @@ class JCLComponent_TestCase(unittest.TestCase):
|
||||
self.assertEquals(fields[0].prop("type"), "text-single")
|
||||
self.assertEquals(fields[0].prop("var"), "name")
|
||||
self.assertEquals(fields[0].prop("label"), Lang.en.account_name)
|
||||
self.assertEquals(fields[0].children.name, "required")
|
||||
|
||||
def test_handle_get_register_new_complex(self):
|
||||
self.comp.account_class = AccountExample
|
||||
@@ -417,10 +418,12 @@ class JCLComponent_TestCase(unittest.TestCase):
|
||||
self.assertEquals(fields[0].prop("type"), "text-single")
|
||||
self.assertEquals(fields[0].prop("var"), "name")
|
||||
self.assertEquals(fields[0].prop("label"), Lang.en.account_name)
|
||||
self.assertEquals(fields[0].children.name, "required")
|
||||
|
||||
self.assertEquals(fields[1].prop("type"), "text-single")
|
||||
self.assertEquals(fields[1].prop("var"), "login")
|
||||
self.assertEquals(fields[1].prop("label"), "login")
|
||||
self.assertEquals(fields[0].children.name, "required")
|
||||
|
||||
self.assertEquals(fields[2].prop("type"), "text-private")
|
||||
self.assertEquals(fields[2].prop("var"), "password")
|
||||
@@ -468,13 +471,10 @@ class JCLComponent_TestCase(unittest.TestCase):
|
||||
{"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") == "hidden" \
|
||||
and field.prop("var") == "name" \
|
||||
and field.prop("label") == \
|
||||
Lang.en.account_name]), \
|
||||
1)
|
||||
self.assertEquals(fields[0].prop("type"), "hidden")
|
||||
self.assertEquals(fields[0].prop("var"), "name")
|
||||
self.assertEquals(fields[0].prop("label"), Lang.en.account_name)
|
||||
self.assertEquals(fields[0].children.next.name, "required")
|
||||
value = iq_sent.xpath_eval("jir:query/jxd:x/jxd:field/jxd:value", \
|
||||
{"jir" : "jabber:iq:register", \
|
||||
"jxd" : "jabber:x:data"})
|
||||
@@ -523,12 +523,14 @@ class JCLComponent_TestCase(unittest.TestCase):
|
||||
self.assertEquals(field.prop("label"), Lang.en.account_name)
|
||||
self.assertEquals(field.children.name, "value")
|
||||
self.assertEquals(field.children.content, "account1")
|
||||
self.assertEquals(field.children.next.name, "required")
|
||||
field = fields[1]
|
||||
self.assertEquals(field.prop("type"), "text-single")
|
||||
self.assertEquals(field.prop("var"), "login")
|
||||
self.assertEquals(field.prop("label"), "login")
|
||||
self.assertEquals(field.children.name, "value")
|
||||
self.assertEquals(field.children.content, "mylogin")
|
||||
self.assertEquals(field.children.next.name, "required")
|
||||
field = fields[2]
|
||||
self.assertEquals(field.prop("type"), "text-private")
|
||||
self.assertEquals(field.prop("var"), "password")
|
||||
|
||||
Reference in New Issue
Block a user