Pass "real_class" parameter to get_register_fields method

darcs-hash:20070325123716-86b55-088735b1cd7de58e6bf44bcf0d8a2563c4c88125.gz
This commit is contained in:
David Rousselie
2007-03-25 14:37:16 +02:00
parent bb882f272d
commit 5be198dabb

View File

@@ -160,7 +160,7 @@ class MailAccount(PresenceAccount):
self.connected = False self.connected = False
self.default_lang_class = Lang.en # TODO: use String self.default_lang_class = Lang.en # TODO: use String
def _get_register_fields(cls): def _get_register_fields(cls, real_class = None):
"""See Account._get_register_fields """See Account._get_register_fields
""" """
def password_post_func(password, default_func): def password_post_func(password, default_func):
@@ -168,7 +168,9 @@ class MailAccount(PresenceAccount):
return None return None
return password return password
return PresenceAccount.get_register_fields() + \ if real_class is None:
real_class = cls
return PresenceAccount.get_register_fields(real_class) + \
[("login", "text-single", None, \ [("login", "text-single", None, \
lambda field_value, default_func: account.mandatory_field("login", \ lambda field_value, default_func: account.mandatory_field("login", \
field_value, \ field_value, \
@@ -183,7 +185,7 @@ class MailAccount(PresenceAccount):
lambda : ""), \ lambda : ""), \
("port", "text-single", None, \ ("port", "text-single", None, \
account.int_post_func, \ account.int_post_func, \
lambda : cls.get_default_port()), \ lambda : real_class.get_default_port()), \
("ssl", "boolean", None, \ ("ssl", "boolean", None, \
account.default_post_func, \ account.default_post_func, \
lambda : False), \ lambda : False), \
@@ -204,15 +206,15 @@ class MailAccount(PresenceAccount):
"""See PresenceAccount._get_presence_actions_fields """See PresenceAccount._get_presence_actions_fields
""" """
return {'chat_action': (cls.possibles_actions, \ return {'chat_action': (cls.possibles_actions, \
RETRIEVE), \ MailAccount.RETRIEVE), \
'online_action': (cls.possibles_actions, \ 'online_action': (cls.possibles_actions, \
RETRIEVE), \ MailAccount.RETRIEVE), \
'away_action': (cls.possibles_actions, \ 'away_action': (cls.possibles_actions, \
RETRIEVE), \ MailAccount.DIGEST), \
'xa_action': (cls.possibles_actions, \ 'xa_action': (cls.possibles_actions, \
RETRIEVE), \ MailAccount.DIGEST), \
'dnd_action': (cls.possibles_actions, \ 'dnd_action': (cls.possibles_actions, \
RETRIEVE), \ MailAccount.DIGEST), \
'offline_action': (cls.possibles_actions, \ 'offline_action': (cls.possibles_actions, \
PresenceAccount.DO_NOTHING)} PresenceAccount.DO_NOTHING)}
@@ -339,7 +341,7 @@ class MailAccount(PresenceAccount):
class IMAPAccount(MailAccount): class IMAPAccount(MailAccount):
mailbox = StringCol(default = "INBOX") # TODO : set default INBOX in reg_form (use get_register_fields last field ?) mailbox = StringCol(default = "INBOX") # TODO : set default INBOX in reg_form (use get_register_fields last field ?)
def _get_register_fields(cls): def _get_register_fields(cls, real_class = None):
"""See Account._get_register_fields """See Account._get_register_fields
""" """
def password_post_func(password): def password_post_func(password):
@@ -347,7 +349,9 @@ class IMAPAccount(MailAccount):
return None return None
return password return password
return MailAccount.get_register_fields() + \ if real_class is None:
real_class = cls
return MailAccount.get_register_fields(real_class) + \
[("mailbox", "text-single", None, \ [("mailbox", "text-single", None, \
account.default_post_func, \ account.default_post_func, \
lambda : "INBOX")] lambda : "INBOX")]