summaryrefslogtreecommitdiff
path: root/src/mailman/model/mailinglist.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/mailman/model/mailinglist.py')
-rw-r--r--src/mailman/model/mailinglist.py28
1 files changed, 17 insertions, 11 deletions
diff --git a/src/mailman/model/mailinglist.py b/src/mailman/model/mailinglist.py
index fe5355806..9a332f48b 100644
--- a/src/mailman/model/mailinglist.py
+++ b/src/mailman/model/mailinglist.py
@@ -38,14 +38,20 @@ from zope.interface import implements
from mailman.config import config
from mailman.database.model import Model
from mailman.database.types import Enum
+from mailman.interfaces.action import Action
from mailman.interfaces.address import IAddress
+from mailman.interfaces.autorespond import ResponseAction
+from mailman.interfaces.bounce import UnrecognizedBounceDisposition
+from mailman.interfaces.digests import DigestFrequency
from mailman.interfaces.domain import IDomainManager
from mailman.interfaces.languages import ILanguageManager
from mailman.interfaces.mailinglist import (
- IAcceptableAlias, IAcceptableAliasSet, IMailingList, Personalization)
+ IAcceptableAlias, IAcceptableAliasSet, IMailingList, Personalization,
+ ReplyToMunging)
from mailman.interfaces.member import (
AlreadySubscribedError, MemberRole, MissingPreferredAddressError)
from mailman.interfaces.mime import FilterType
+from mailman.interfaces.nntp import NewsModeration
from mailman.interfaces.user import IUser
from mailman.model import roster
from mailman.model.digests import OneLastDigest
@@ -103,11 +109,11 @@ class MailingList(Model):
archive_volume_frequency = Int() # XXX
# Automatic responses.
autoresponse_grace_period = TimeDelta()
- autorespond_owner = Enum()
+ autorespond_owner = Enum(ResponseAction)
autoresponse_owner_text = Unicode()
- autorespond_postings = Enum()
+ autorespond_postings = Enum(ResponseAction)
autoresponse_postings_text = Unicode()
- autorespond_requests = Enum()
+ autorespond_requests = Enum(ResponseAction)
autoresponse_request_text = Unicode()
# Content filters.
filter_content = Bool()
@@ -121,18 +127,18 @@ class MailingList(Model):
bounce_score_threshold = Int() # XXX
bounce_you_are_disabled_warnings = Int() # XXX
bounce_you_are_disabled_warnings_interval = TimeDelta() # XXX
- forward_unrecognized_bounces_to = Enum()
+ forward_unrecognized_bounces_to = Enum(UnrecognizedBounceDisposition)
process_bounces = Bool()
# Miscellaneous
- default_member_action = Enum()
- default_nonmember_action = Enum()
+ default_member_action = Enum(Action)
+ default_nonmember_action = Enum(Action)
description = Unicode()
digest_footer = Unicode()
digest_header = Unicode()
digest_is_default = Bool()
digest_send_periodic = Bool()
digest_size_threshold = Float()
- digest_volume_frequency = Enum()
+ digest_volume_frequency = Enum(DigestFrequency)
digestable = Bool()
discard_these_nonmembers = Pickle()
emergency = Bool()
@@ -156,20 +162,20 @@ class MailingList(Model):
msg_footer = Unicode()
msg_header = Unicode()
new_member_options = Int()
- news_moderation = Enum()
+ news_moderation = Enum(NewsModeration)
news_prefix_subject_too = Bool()
nntp_host = Unicode()
nondigestable = Bool()
nonmember_rejection_notice = Unicode()
obscure_addresses = Bool()
- personalize = Enum()
+ personalize = Enum(Personalization)
pipeline = Unicode()
post_id = Int()
_preferred_language = Unicode(name='preferred_language')
private_roster = Bool()
real_name = Unicode()
reject_these_nonmembers = Pickle()
- reply_goes_to_list = Enum()
+ reply_goes_to_list = Enum(ReplyToMunging)
reply_to_address = Unicode()
require_explicit_destination = Bool()
respond_to_post_requests = Bool()