summaryrefslogtreecommitdiff
path: root/src/mailman/utilities/importer.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/mailman/utilities/importer.py')
-rw-r--r--src/mailman/utilities/importer.py17
1 files changed, 14 insertions, 3 deletions
diff --git a/src/mailman/utilities/importer.py b/src/mailman/utilities/importer.py
index 578e95dff..c5e73bcc5 100644
--- a/src/mailman/utilities/importer.py
+++ b/src/mailman/utilities/importer.py
@@ -35,14 +35,16 @@ from mailman.interfaces.digests import DigestFrequency
from mailman.interfaces.errors import MailmanError
from mailman.interfaces.languages import ILanguageManager
from mailman.interfaces.mailinglist import (
- IAcceptableAliasSet, IHeaderMatchList, Personalization, ReplyToMunging,
- SubscriptionPolicy)
+ IAcceptableAliasSet, IHeaderMatchList, Personalization, ReplyToMunging)
from mailman.interfaces.member import DeliveryMode, DeliveryStatus, MemberRole
from mailman.interfaces.nntp import NewsgroupModeration
from mailman.interfaces.template import ITemplateManager
from mailman.interfaces.usermanager import IUserManager
from mailman.utilities.filesystem import makedirs
from mailman.utilities.i18n import search
+from mailman.workflows.subscription import (
+ ConfirmModerationSubscriptionPolicy, ConfirmSubscriptionPolicy,
+ ModerationSubscriptionPolicy, OpenSubscriptionPolicy)
from public import public
from sqlalchemy import Boolean
from zope.component import getUtility
@@ -138,6 +140,15 @@ def action_to_chain(value):
}[value]
+def sub_policy_to_class(value):
+ return {
+ 0: OpenSubscriptionPolicy,
+ 1: ConfirmSubscriptionPolicy,
+ 2: ModerationSubscriptionPolicy,
+ 3: ConfirmModerationSubscriptionPolicy
+ }[value]
+
+
def check_language_code(code):
if code is None:
return None
@@ -180,7 +191,7 @@ TYPES = dict(
personalize=Personalization,
preferred_language=check_language_code,
reply_goes_to_list=ReplyToMunging,
- subscription_policy=SubscriptionPolicy,
+ subscription_policy=sub_policy_to_class,
)