Add bare JID as third argument to register post functions

darcs-hash:20070606184704-86b55-6795169def44ccfdfab56f781030d94eb5ef57ac.gz
This commit is contained in:
David Rousselie
2007-06-06 20:47:04 +02:00
parent 5c28a05b1b
commit 60782526ce
2 changed files with 15 additions and 29 deletions

View File

@@ -170,7 +170,7 @@ class MailAccount(PresenceAccount):
def _get_register_fields(cls, real_class=None):
"""See Account._get_register_fields
"""
def password_post_func(password, default_func):
def password_post_func(password, default_func, bare_from_jid):
if password is None or password == "":
return None
return password
@@ -179,13 +179,13 @@ class MailAccount(PresenceAccount):
real_class = cls
return PresenceAccount.get_register_fields(real_class) + \
[("login", "text-single", None,
lambda field_value, default_func: \
lambda field_value, default_func, bare_from_jid: \
account.mandatory_field(field_value),
lambda : ""),
("password", "text-private", None, password_post_func,
lambda : ""),
("host", "text-single", None,
lambda field_value, default_func: \
lambda field_value, default_func, bare_from_jid: \
account.mandatory_field(field_value),
lambda : ""),
("port", "text-single", None,
@@ -364,11 +364,6 @@ class IMAPAccount(MailAccount):
def _get_register_fields(cls, real_class=None):
"""See Account._get_register_fields
"""
def password_post_func(password):
if password is None or password == "":
return None
return password
if real_class is None:
real_class = cls
return MailAccount.get_register_fields(real_class) + \
@@ -569,7 +564,7 @@ class SMTPAccount(Account):
def _get_register_fields(cls, real_class=None):
"""See Account._get_register_fields
"""
def password_post_func(password, default_func):
def password_post_func(password, default_func, bare_from_jid):
if password is None or password == "":
return None
return password
@@ -583,7 +578,7 @@ class SMTPAccount(Account):
("password", "text-private", None, password_post_func,
lambda : ""),
("host", "text-single", None,
lambda field_value, default_func: \
lambda field_value, default_func, bare_from_jid: \
account.mandatory_field(field_value),
lambda : ""),
("port", "text-single", None,
@@ -593,7 +588,7 @@ class SMTPAccount(Account):
account.default_post_func,
lambda : False),
("default_from", "text-single", None,
lambda field_value, default_func: \
lambda field_value, default_func, bare_from_jid: \
account.mandatory_field(field_value),
lambda : ""),
("store_password", "boolean", None,

View File

@@ -33,7 +33,8 @@ from jcl.model import account
from jcl.model.account import Account, PresenceAccount
from jmc.model.account import MailAccount, POP3Account, IMAPAccount, SMTPAccount
from jcl.model.tests.account import Account_TestCase, PresenceAccount_TestCase
from jcl.model.tests.account import Account_TestCase, \
PresenceAccount_TestCase, InheritableAccount_TestCase
from jmc.model.tests import email_generator, server
if sys.platform == "win32":
@@ -145,11 +146,7 @@ class MailAccount_TestCase(PresenceAccount_TestCase):
u"Encoded multipart3 with no charset (éàê)\n", \
u"encoded from (éàê)"))
def test_get_register_fields(self):
register_fields = MailAccount.get_register_fields()
self.assertEquals(len(register_fields), 15)
class POP3Account_TestCase(unittest.TestCase):
class POP3Account_TestCase(InheritableAccount_TestCase):
def setUp(self):
if os.path.exists(DB_PATH):
os.unlink(DB_PATH)
@@ -167,6 +164,7 @@ class POP3Account_TestCase(unittest.TestCase):
self.pop3_account.port = 1110
self.pop3_account.ssl = False
del account.hub.threadConnection
self.account_class = POP3Account
def tearDown(self):
account.hub.threadConnection = connectionForURI('sqlite://' + DB_URL)
@@ -275,11 +273,7 @@ class POP3Account_TestCase(unittest.TestCase):
u"mymessage\n", \
u"user@test.com")))
def test_get_register_fields(self):
register_fields = POP3Account.get_register_fields()
self.assertEquals(len(register_fields), 15)
class IMAPAccount_TestCase(unittest.TestCase):
class IMAPAccount_TestCase(InheritableAccount_TestCase):
def setUp(self):
if os.path.exists(DB_PATH):
os.unlink(DB_PATH)
@@ -297,6 +291,7 @@ class IMAPAccount_TestCase(unittest.TestCase):
self.imap_account.port = 1143
self.imap_account.ssl = False
del account.hub.threadConnection
self.account_class = IMAPAccount
def tearDown(self):
account.hub.threadConnection = connectionForURI('sqlite://' + DB_URL)
@@ -384,14 +379,10 @@ class IMAPAccount_TestCase(unittest.TestCase):
(u"From : None\nSubject : None\n\nbody text\r\n\n", \
u"None")))
def test_get_register_fields(self):
register_fields = IMAPAccount.get_register_fields()
self.assertEquals(len(register_fields), 16)
class SMTPAccount_TestCase(Account_TestCase):
def test_get_register_fields(self):
register_fields = SMTPAccount.get_register_fields()
self.assertEquals(len(register_fields), 8)
def setUp(self):
Account_TestCase.setUp(self)
self.account_class = SMTPAccount
def suite():
suite = unittest.TestSuite()