Assert correct account name in supplied registration form
darcs-hash:20080904193737-86b55-798544a0b023580ee2009155d727ce52f64fdce9.gz
This commit is contained in:
@@ -29,21 +29,23 @@ from jcl.lang import Lang
|
|||||||
class FieldError(Exception):
|
class FieldError(Exception):
|
||||||
"""Error raised when error exists on Jabber Data Form fields"""
|
"""Error raised when error exists on Jabber Data Form fields"""
|
||||||
|
|
||||||
def __init__(self, field, message="", message_property=None, lang_class=Lang.en):
|
def __init__(self, field,
|
||||||
|
message_property=None, lang_class=Lang.en,
|
||||||
|
detailed_message=None):
|
||||||
Exception.__init__(self)
|
Exception.__init__(self)
|
||||||
self.field = field
|
self.field = field
|
||||||
self.lang_class = lang_class
|
self.lang_class = lang_class
|
||||||
self.message_property = message_property
|
self.message_property = message_property
|
||||||
self.message = message
|
self.detailed_message = detailed_message
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
if self.message_property is None \
|
full_message = ""
|
||||||
or not hasattr(self.lang_class, self.message_property):
|
if self.detailed_message is not None:
|
||||||
return self.lang_class.field_error % (str(self.field), self.message)
|
full_message = self.detailed_message
|
||||||
else:
|
elif self.message_property is not None \
|
||||||
return self.lang_class.field_error % \
|
and hasattr(self.lang_class, self.message_property):
|
||||||
(str(self.field),
|
full_message = str(getattr(self.lang_class, self.message_property))
|
||||||
str(getattr(self.lang_class, self.message_property)))
|
return self.lang_class.field_error % (str(self.field), full_message)
|
||||||
|
|
||||||
class MandatoryFieldError(FieldError):
|
class MandatoryFieldError(FieldError):
|
||||||
"""Error raised when a mandatory field in a Form is not supplied"""
|
"""Error raised when a mandatory field in a Form is not supplied"""
|
||||||
@@ -54,5 +56,7 @@ class MandatoryFieldError(FieldError):
|
|||||||
class NotWellFormedFieldError(FieldError):
|
class NotWellFormedFieldError(FieldError):
|
||||||
"""Error raised when a supplied field in a Form is not well formed"""
|
"""Error raised when a supplied field in a Form is not well formed"""
|
||||||
|
|
||||||
def __init__ (self, field):
|
def __init__ (self, field, detailed_message=None):
|
||||||
FieldError.__init__(self, field, message_property="not_well_formed_field")
|
FieldError.__init__(self, field,
|
||||||
|
message_property="not_well_formed_field",
|
||||||
|
detailed_message=detailed_message)
|
||||||
|
|||||||
@@ -70,7 +70,8 @@ class SetRegisterHandler(object):
|
|||||||
info_query, lang_class)
|
info_query, lang_class)
|
||||||
if not self.field_name_regexp.match(form["name"].value):
|
if not self.field_name_regexp.match(form["name"].value):
|
||||||
return self.handle_error(\
|
return self.handle_error(\
|
||||||
NotWellFormedFieldError("name"),
|
NotWellFormedFieldError("name",
|
||||||
|
lang_class.arobase_in_name_forbidden),
|
||||||
info_query, lang_class)
|
info_query, lang_class)
|
||||||
return None
|
return None
|
||||||
|
|
||||||
|
|||||||
@@ -92,6 +92,7 @@ class Lang:
|
|||||||
field_error = u"Error with '%s' field: %s"
|
field_error = u"Error with '%s' field: %s"
|
||||||
mandatory_field = u"required field"
|
mandatory_field = u"required field"
|
||||||
not_well_formed_field = u"not well formed field"
|
not_well_formed_field = u"not well formed field"
|
||||||
|
arobase_in_name_forbidden = u"'@' is not allowed in account's name"
|
||||||
|
|
||||||
field_chat_action = u"Action when state is 'Free For Chat'"
|
field_chat_action = u"Action when state is 'Free For Chat'"
|
||||||
field_online_action = u"Action when state is 'Online'"
|
field_online_action = u"Action when state is 'Online'"
|
||||||
@@ -266,8 +267,10 @@ class Lang:
|
|||||||
u"à jour"
|
u"à jour"
|
||||||
update_account_message_body = u"Compte mis à jour"
|
update_account_message_body = u"Compte mis à jour"
|
||||||
|
|
||||||
|
field_error = u"Erreur dans le champs '%s': %s"
|
||||||
mandatory_field = u"%s est requis"
|
mandatory_field = u"%s est requis"
|
||||||
not_well_formed_field = u"Le champs %s n'est pas acceptable"
|
not_well_formed_field = u"Le champs %s n'est pas acceptable"
|
||||||
|
arobase_in_name_forbidden = u"Le nom du compte ne peux contenir le charactère '@'"
|
||||||
|
|
||||||
field_chat_action = u"Action lorsque l'état est 'Free For Chat'"
|
field_chat_action = u"Action lorsque l'état est 'Free For Chat'"
|
||||||
field_online_action = u"Action lorsque l'état est 'Online'"
|
field_online_action = u"Action lorsque l'état est 'Online'"
|
||||||
|
|||||||
@@ -94,6 +94,7 @@ class Language_TestCase(unittest.TestCase):
|
|||||||
self.assertNotEquals(self.lang_class.field_error % ("", ""), None)
|
self.assertNotEquals(self.lang_class.field_error % ("", ""), None)
|
||||||
self.assertNotEquals(self.lang_class.mandatory_field, None)
|
self.assertNotEquals(self.lang_class.mandatory_field, None)
|
||||||
self.assertNotEquals(self.lang_class.not_well_formed_field, None)
|
self.assertNotEquals(self.lang_class.not_well_formed_field, None)
|
||||||
|
self.assertNotEquals(self.lang_class.arobase_in_name_forbidden, None)
|
||||||
|
|
||||||
self.assertNotEquals(self.lang_class.field_chat_action, None)
|
self.assertNotEquals(self.lang_class.field_chat_action, None)
|
||||||
self.assertNotEquals(self.lang_class.field_online_action, None)
|
self.assertNotEquals(self.lang_class.field_online_action, None)
|
||||||
|
|||||||
Reference in New Issue
Block a user