summaryrefslogtreecommitdiff
path: root/src/mailman/app/subscriptions.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/mailman/app/subscriptions.py')
-rw-r--r--src/mailman/app/subscriptions.py25
1 files changed, 8 insertions, 17 deletions
diff --git a/src/mailman/app/subscriptions.py b/src/mailman/app/subscriptions.py
index c89e1e79f..e1c1d8993 100644
--- a/src/mailman/app/subscriptions.py
+++ b/src/mailman/app/subscriptions.py
@@ -28,8 +28,6 @@ from mailman.interfaces.subscriptions import (
from mailman.interfaces.template import ITemplateLoader
from mailman.interfaces.workflows import IWorkflowStateManager
from mailman.utilities.string import expand
-from mailman.workflows.builtin import (SubscriptionWorkflow,
- UnSubscriptionWorkflow)
from mailman.workflows.common import (PendableSubscription,
PendableUnsubscription)
from public import public
@@ -43,23 +41,16 @@ class SubscriptionManager:
def __init__(self, mlist):
self._mlist = mlist
- def register(self, subscriber=None, *,
- pre_verified=False, pre_confirmed=False, pre_approved=False):
+ def register(self, subscriber=None, **kwargs):
"""See `ISubscriptionManager`."""
- workflow = SubscriptionWorkflow(
- self._mlist, subscriber,
- pre_verified=pre_verified,
- pre_confirmed=pre_confirmed,
- pre_approved=pre_approved)
+ workflow = self._mlist.subscription_policy(self._mlist, subscriber,
+ **kwargs)
list(workflow)
return workflow.token, workflow.token_owner, workflow.member
- def unregister(self, subscriber=None, *,
- pre_confirmed=False, pre_approved=False):
- workflow = UnSubscriptionWorkflow(
- self._mlist, subscriber,
- pre_confirmed=pre_confirmed,
- pre_approved=pre_approved)
+ def unregister(self, subscriber=None, **kwargs):
+ workflow = self._mlist.unsubscription_policy(self._mlist, subscriber,
+ **kwargs)
list(workflow)
return workflow.token, workflow.token_owner, workflow.member
@@ -72,9 +63,9 @@ class SubscriptionManager:
workflow_type = pendable.get('type')
assert workflow_type in (PendableSubscription.PEND_TYPE,
PendableUnsubscription.PEND_TYPE)
- workflow = (SubscriptionWorkflow
+ workflow = (self._mlist.subscription_policy
if workflow_type == PendableSubscription.PEND_TYPE
- else UnSubscriptionWorkflow)(self._mlist)
+ else self._mlist.unsubscription_policy)(self._mlist)
workflow.token = token
workflow.restore()
# In order to just run the whole workflow, all we need to do