diff options
| author | J08nY | 2017-07-11 15:13:15 +0200 |
|---|---|---|
| committer | J08nY | 2017-07-11 15:13:15 +0200 |
| commit | 288d5c07825f67e6fd92e93fc3d8369310e268d1 (patch) | |
| tree | c16c0cec577689e7a7c840a09e90cfc0308688c9 /src/mailman_pgp/workflows/subscription.py | |
| parent | 383ce5f4cc6cb81f91f90f3408742c4c06bca301 (diff) | |
| download | mailman-pgp-288d5c07825f67e6fd92e93fc3d8369310e268d1.tar.gz mailman-pgp-288d5c07825f67e6fd92e93fc3d8369310e268d1.tar.zst mailman-pgp-288d5c07825f67e6fd92e93fc3d8369310e268d1.zip | |
Diffstat (limited to 'src/mailman_pgp/workflows/subscription.py')
| -rw-r--r-- | src/mailman_pgp/workflows/subscription.py | 40 |
1 files changed, 37 insertions, 3 deletions
diff --git a/src/mailman_pgp/workflows/subscription.py b/src/mailman_pgp/workflows/subscription.py index 6b8240c..a7565f3 100644 --- a/src/mailman_pgp/workflows/subscription.py +++ b/src/mailman_pgp/workflows/subscription.py @@ -29,12 +29,46 @@ from mailman_pgp.workflows.base import PubkeyMixin @public @implementer(ISubscriptionWorkflow) +class OpenSubscriptionPolicy(SubscriptionBase, VerificationMixin, PubkeyMixin): + """""" + + name = 'pgp-policy-open' + description = _('An open subscription policy, ' + 'for a PGP-enabled mailing list.') + initial_state = 'prepare' + save_attributes = ( + 'verified', + 'pubkey_key', + 'pubkey_confirmed', + 'address_key', + 'subscriber_key', + 'user_key', + 'token_owner_key', + ) + + def __init__(self, mlist, subscriber=None, *, + pre_verified=False, pubkey=None, + 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) + + def _step_prepare(self): + self.push('do_subscription') + self.push('pubkey_checks') + self.push('verification_checks') + self.push('sanity_checks') + + +@public +@implementer(ISubscriptionWorkflow) class ConfirmSubscriptionPolicy(SubscriptionBase, VerificationMixin, ConfirmationMixin, PubkeyMixin): """""" name = 'pgp-policy-confirm' - description = _('An subscription policy, for a PGP-enabled mailing list ' + description = _('A subscription policy, for a PGP-enabled mailing list ' 'that requires confirmation.') initial_state = 'prepare' save_attributes = ( @@ -72,7 +106,7 @@ class ModerationSubscriptionPolicy(SubscriptionBase, VerificationMixin, """""" name = 'pgp-policy-moderate' - description = _('An subscription policy, for a PGP-enabled mailing list ' + description = _('A subscription policy, for a PGP-enabled mailing list ' 'that requires moderation.') initial_state = 'prepare' save_attributes = ( @@ -111,7 +145,7 @@ class ConfirmModerationSubscriptionPolicy(SubscriptionBase, VerificationMixin, """""" name = 'pgp-policy-confirm-moderate' - description = _('An subscription policy, for a PGP-enabled mailing list ' + description = _('A subscription policy, for a PGP-enabled mailing list ' 'that requires moderation after confirmation.') initial_state = 'prepare' save_attributes = ( |
