summaryrefslogtreecommitdiff
path: root/Mailman/database/model/profile.py
diff options
context:
space:
mode:
Diffstat (limited to 'Mailman/database/model/profile.py')
-rw-r--r--Mailman/database/model/profile.py31
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