diff options
Diffstat (limited to 'src/mailman_pgp/workflows/subscription.py')
| -rw-r--r-- | src/mailman_pgp/workflows/subscription.py | 33 |
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') |
