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