summaryrefslogtreecommitdiff
path: root/Mailman/database/model/mailinglist.py
diff options
context:
space:
mode:
Diffstat (limited to 'Mailman/database/model/mailinglist.py')
-rw-r--r--Mailman/database/model/mailinglist.py26
1 files changed, 14 insertions, 12 deletions
diff --git a/Mailman/database/model/mailinglist.py b/Mailman/database/model/mailinglist.py
index fce73cf25..11deb28c6 100644
--- a/Mailman/database/model/mailinglist.py
+++ b/Mailman/database/model/mailinglist.py
@@ -21,7 +21,7 @@ from zope.interface import implements
from Mailman.Utils import fqdn_listname, split_listname
from Mailman.configuration import config
from Mailman.interfaces import *
-from Mailman.database.types import EnumType
+from Mailman.database.types import EnumType, TimeDeltaType
@@ -38,6 +38,7 @@ class MailingList(Entity):
has_field('list_name', Unicode),
has_field('host_name', Unicode),
# Attributes not directly modifiable via the web u/i
+ has_field('created_at', DateTime),
has_field('web_page_url', Unicode),
has_field('admin_member_chunksize', Integer),
has_field('hold_and_cmd_autoresponses', PickleType),
@@ -70,11 +71,11 @@ class MailingList(Entity):
has_field('autorespond_postings', Boolean),
has_field('autorespond_requests', Integer),
has_field('autoresponse_admin_text', Unicode),
- has_field('autoresponse_graceperiod', Integer),
+ has_field('autoresponse_graceperiod', TimeDeltaType),
has_field('autoresponse_postings_text', Unicode),
has_field('autoresponse_request_text', Unicode),
has_field('ban_list', PickleType),
- has_field('bounce_info_stale_after', Integer),
+ has_field('bounce_info_stale_after', TimeDeltaType),
has_field('bounce_matching_headers', Unicode),
has_field('bounce_notify_owner_on_disable', Boolean),
has_field('bounce_notify_owner_on_removal', Boolean),
@@ -82,7 +83,7 @@ class MailingList(Entity):
has_field('bounce_score_threshold', Integer),
has_field('bounce_unrecognized_goes_to_list_owner', Boolean),
has_field('bounce_you_are_disabled_warnings', Integer),
- has_field('bounce_you_are_disabled_warnings_interval', Integer),
+ has_field('bounce_you_are_disabled_warnings_interval', TimeDeltaType),
has_field('collapse_alternatives', Boolean),
has_field('convert_html_to_plaintext', Boolean),
has_field('default_member_moderation', Boolean),
@@ -152,8 +153,6 @@ class MailingList(Entity):
has_field('topics', PickleType),
has_field('topics_bodylines_limit', Integer),
has_field('topics_enabled', Boolean),
- has_field('umbrella_list', Boolean),
- has_field('umbrella_member_suffix', Unicode),
has_field('unsubscribe_policy', Integer),
has_field('welcome_msg', Unicode),
# Relationships
@@ -170,8 +169,15 @@ class MailingList(Entity):
self.host_name = hostname
# For the pending database
self.next_request_id = 1
- # Create several rosters for filtering out or querying the membership
- # table.
+ self._restore()
+ # Max autoresponses per day. A mapping between addresses and a
+ # 2-tuple of the date of the last autoresponse and the number of
+ # autoresponses sent on that date.
+ self.hold_and_cmd_autoresponses = {}
+
+ # XXX FIXME
+ def _restore(self):
+ # Avoid circular imports.
from Mailman.database.model import roster
self.owners = roster.OwnerRoster(self)
self.moderators = roster.ModeratorRoster(self)
@@ -179,10 +185,6 @@ class MailingList(Entity):
self.members = roster.MemberRoster(self)
self.regular_members = roster.RegularMemberRoster(self)
self.digest_members = roster.DigestMemberRoster(self)
- # Max autoresponses per day. A mapping between addresses and a
- # 2-tuple of the date of the last autoresponse and the number of
- # autoresponses sent on that date.
- self.hold_and_cmd_autoresponses = {}
@property
def fqdn_listname(self):