aboutsummaryrefslogtreecommitdiff
path: root/src/mailman_pgp/workflows/subscription.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/mailman_pgp/workflows/subscription.py')
-rw-r--r--src/mailman_pgp/workflows/subscription.py33
1 files changed, 20 insertions, 13 deletions
diff --git a/src/mailman_pgp/workflows/subscription.py b/src/mailman_pgp/workflows/subscription.py
index a7565f3..c4138e6 100644
--- a/src/mailman_pgp/workflows/subscription.py
+++ b/src/mailman_pgp/workflows/subscription.py
@@ -24,12 +24,13 @@ from mailman.workflows.common import (ConfirmationMixin, ModerationMixin,
from public import public
from zope.interface import implementer
-from mailman_pgp.workflows.base import PubkeyMixin
+from mailman_pgp.workflows.base import ConfirmPubkeyMixin, SetPubkeyMixin
@public
@implementer(ISubscriptionWorkflow)
-class OpenSubscriptionPolicy(SubscriptionBase, VerificationMixin, PubkeyMixin):
+class OpenSubscriptionPolicy(SubscriptionBase, VerificationMixin,
+ SetPubkeyMixin, ConfirmPubkeyMixin):
""""""
name = 'pgp-policy-open'
@@ -51,11 +52,12 @@ class OpenSubscriptionPolicy(SubscriptionBase, VerificationMixin, PubkeyMixin):
pubkey_pre_confirmed=False):
SubscriptionBase.__init__(self, mlist, subscriber)
VerificationMixin.__init__(self, pre_verified=pre_verified)
- PubkeyMixin.__init__(self, pubkey=pubkey,
- pre_confirmed=pubkey_pre_confirmed)
+ SetPubkeyMixin.__init__(self, pubkey=pubkey)
+ ConfirmPubkeyMixin.__init__(self, pre_confirmed=pubkey_pre_confirmed)
def _step_prepare(self):
self.push('do_subscription')
+ self.push('pubkey_confirmation')
self.push('pubkey_checks')
self.push('verification_checks')
self.push('sanity_checks')
@@ -64,7 +66,8 @@ class OpenSubscriptionPolicy(SubscriptionBase, VerificationMixin, PubkeyMixin):
@public
@implementer(ISubscriptionWorkflow)
class ConfirmSubscriptionPolicy(SubscriptionBase, VerificationMixin,
- ConfirmationMixin, PubkeyMixin):
+ ConfirmationMixin, SetPubkeyMixin,
+ ConfirmPubkeyMixin):
""""""
name = 'pgp-policy-confirm'
@@ -88,11 +91,12 @@ class ConfirmSubscriptionPolicy(SubscriptionBase, VerificationMixin,
SubscriptionBase.__init__(self, mlist, subscriber)
VerificationMixin.__init__(self, pre_verified=pre_verified)
ConfirmationMixin.__init__(self, pre_confirmed=pre_confirmed)
- PubkeyMixin.__init__(self, pubkey=pubkey,
- pre_confirmed=pubkey_pre_confirmed)
+ SetPubkeyMixin.__init__(self, pubkey=pubkey)
+ ConfirmPubkeyMixin.__init__(self, pre_confirmed=pubkey_pre_confirmed)
def _step_prepare(self):
self.push('do_subscription')
+ self.push('pubkey_confirmation')
self.push('pubkey_checks')
self.push('confirmation_checks')
self.push('verification_checks')
@@ -102,7 +106,8 @@ class ConfirmSubscriptionPolicy(SubscriptionBase, VerificationMixin,
@public
@implementer(ISubscriptionWorkflow)
class ModerationSubscriptionPolicy(SubscriptionBase, VerificationMixin,
- ModerationMixin, PubkeyMixin):
+ ModerationMixin, SetPubkeyMixin,
+ ConfirmPubkeyMixin):
""""""
name = 'pgp-policy-moderate'
@@ -126,12 +131,13 @@ class ModerationSubscriptionPolicy(SubscriptionBase, VerificationMixin,
SubscriptionBase.__init__(self, mlist, subscriber)
VerificationMixin.__init__(self, pre_verified=pre_verified)
ModerationMixin.__init__(self, pre_approved=pre_approved)
- PubkeyMixin.__init__(self, pubkey=pubkey,
- pre_confirmed=pubkey_pre_confirmed)
+ SetPubkeyMixin.__init__(self, pubkey=pubkey)
+ ConfirmPubkeyMixin.__init__(self, pre_confirmed=pubkey_pre_confirmed)
def _step_prepare(self):
self.push('do_subscription')
self.push('moderation_checks')
+ self.push('pubkey_confirmation')
self.push('pubkey_checks')
self.push('verification_checks')
self.push('sanity_checks')
@@ -141,7 +147,7 @@ class ModerationSubscriptionPolicy(SubscriptionBase, VerificationMixin,
@implementer(ISubscriptionWorkflow)
class ConfirmModerationSubscriptionPolicy(SubscriptionBase, VerificationMixin,
ConfirmationMixin, ModerationMixin,
- PubkeyMixin):
+ SetPubkeyMixin, ConfirmPubkeyMixin):
""""""
name = 'pgp-policy-confirm-moderate'
@@ -167,12 +173,13 @@ class ConfirmModerationSubscriptionPolicy(SubscriptionBase, VerificationMixin,
VerificationMixin.__init__(self, pre_verified=pre_verified)
ConfirmationMixin.__init__(self, pre_confirmed=pre_confirmed)
ModerationMixin.__init__(self, pre_approved=pre_approved)
- PubkeyMixin.__init__(self, pubkey=pubkey,
- pre_confirmed=pubkey_pre_confirmed)
+ SetPubkeyMixin.__init__(self, pubkey=pubkey)
+ ConfirmPubkeyMixin.__init__(self, pre_confirmed=pubkey_pre_confirmed)
def _step_prepare(self):
self.push('do_subscription')
self.push('moderation_checks')
+ self.push('pubkey_confirmation')
self.push('pubkey_checks')
self.push('confirmation_checks')
self.push('verification_checks')