diff options
Diffstat (limited to 'Mailman/database/model/profile.py')
| -rw-r--r-- | Mailman/database/model/profile.py | 31 |
1 files changed, 18 insertions, 13 deletions
diff --git a/Mailman/database/model/profile.py b/Mailman/database/model/profile.py index 49e108728..935ae08fb 100644 --- a/Mailman/database/model/profile.py +++ b/Mailman/database/model/profile.py @@ -19,13 +19,18 @@ from elixir import * from email.utils import formataddr from zope.interface import implements -from Mailman.constants import DeliveryMode +from Mailman.constants import SystemDefaultPreferences as Prefs from Mailman.database.types import EnumType -from Mailman.interfaces import IProfile +from Mailman.interfaces import IPreferences +ADDRESS_KIND = 'Mailman.database.model.address.Address' +MEMBER_KIND = 'Mailman.database.model.member.Member' +USER_KIND = 'Mailman.database.model.user.User' -class Profile(Entity): - implements(IProfile) + + +class Preferences(Entity): + implements(IPreferences) has_field('acknowledge_posts', Boolean) has_field('hide_address', Boolean) @@ -33,14 +38,14 @@ class Profile(Entity): has_field('receive_list_copy', Boolean) has_field('receive_own_postings', Boolean) has_field('delivery_mode', EnumType) - # Relationships - belongs_to('user', of_kind='Mailman.database.model.user.User') + # Options + using_options(shortnames=True) def __init__(self): - super(Profile, self).__init__() - self.acknowledge_posts = False - self.hide_address = True - self.preferred_language = 'en' - self.receive_list_copy = True - self.receive_own_postings = True - self.delivery_mode = DeliveryMode.regular + super(Preferences, self).__init__() + self.acknowledge_posts = Prefs.acknowledge_posts + self.hide_address = Prefs.hide_address + self.preferred_language = Prefs.preferred_language + self.receive_list_copy = Prefs.receive_list_copy + self.receive_own_postings = Prefs.receive_own_postings + self.delivery_mode = Prefs.delivery_mode |
