diff options
| author | Barry Warsaw | 2016-09-01 07:39:10 -0400 |
|---|---|---|
| committer | Barry Warsaw | 2016-09-01 07:39:10 -0400 |
| commit | 9f7fa58e81c2bc639645383a12b8136e2cf2cb4b (patch) | |
| tree | 6b62af3b55c938a99323c7bfefa1ecbeae5c10ae | |
| parent | 1cf46c8819609239a9e455fd5133228fd43cd604 (diff) | |
| download | mailman-9f7fa58e81c2bc639645383a12b8136e2cf2cb4b.tar.gz mailman-9f7fa58e81c2bc639645383a12b8136e2cf2cb4b.tar.zst mailman-9f7fa58e81c2bc639645383a12b8136e2cf2cb4b.zip | |
| -rw-r--r-- | src/mailman/app/workflowmanager.py | 10 | ||||
| -rw-r--r-- | src/mailman/commands/eml_confirm.py | 5 | ||||
| -rw-r--r-- | src/mailman/commands/eml_membership.py | 12 | ||||
| -rw-r--r-- | src/mailman/commands/tests/test_confirm.py | 6 | ||||
| -rw-r--r-- | src/mailman/config/configure.zcml | 4 | ||||
| -rw-r--r-- | src/mailman/model/tests/test_workflow.py | 2 | ||||
| -rw-r--r-- | src/mailman/rest/members.py | 7 | ||||
| -rw-r--r-- | src/mailman/rest/sub_moderation.py | 4 | ||||
| -rw-r--r-- | src/mailman/rest/tests/test_membership.py | 9 | ||||
| -rw-r--r-- | src/mailman/rest/tests/test_moderation.py | 4 | ||||
| -rw-r--r-- | src/mailman/runners/tests/test_confirm.py | 4 | ||||
| -rw-r--r-- | src/mailman/runners/tests/test_join.py | 6 |
12 files changed, 37 insertions, 36 deletions
diff --git a/src/mailman/app/workflowmanager.py b/src/mailman/app/workflowmanager.py index deb15ea76..78669ecd9 100644 --- a/src/mailman/app/workflowmanager.py +++ b/src/mailman/app/workflowmanager.py @@ -25,8 +25,8 @@ from mailman.app.unsubscriptions import UnSubscriptionWorkflow from mailman.database.transaction import flush from mailman.email.message import UserNotification from mailman.interfaces.pending import IPendable, IPendings -from mailman.interfaces.workflowmanager import ( - ConfirmationNeededEvent, IWorkflowManager) +from mailman.interfaces.subscriptions import ( + ConfirmationNeededEvent, ISubscriptionManager) from mailman.interfaces.templates import ITemplateLoader from mailman.interfaces.workflow import IWorkflowStateManager from mailman.utilities.string import expand @@ -83,7 +83,7 @@ class BaseWorkflowManager: @public -@implementer(IWorkflowManager) +@implementer(ISubscriptionManager) class SubscriptionWorkflowManager(BaseWorkflowManager): """Handle registrations and confirmations for subscriptions.""" @@ -91,7 +91,7 @@ class SubscriptionWorkflowManager(BaseWorkflowManager): def register(self, subscriber=None, *, pre_verified=False, pre_confirmed=False, pre_approved=False): - """See `IWorkflowManager`.""" + """See `ISubscriptionManager`.""" workflow = SubscriptionWorkflow( self._mlist, subscriber, pre_verified=pre_verified, @@ -102,7 +102,7 @@ class SubscriptionWorkflowManager(BaseWorkflowManager): @public -@implementer(IWorkflowManager) +@implementer(ISubscriptionManager) class UnsubscriptionWorkflowManager(BaseWorkflowManager): """Handle un-subscriptions and confirmations for un-subscriptions.""" diff --git a/src/mailman/commands/eml_confirm.py b/src/mailman/commands/eml_confirm.py index 8522f8fa0..b8e1610c4 100644 --- a/src/mailman/commands/eml_confirm.py +++ b/src/mailman/commands/eml_confirm.py @@ -20,8 +20,7 @@ from mailman import public from mailman.core.i18n import _ from mailman.interfaces.command import ContinueProcessing, IEmailCommand -from mailman.interfaces.workflowmanager import IWorkflowManager -from mailman.interfaces.subscriptions import TokenOwner +from mailman.interfaces.subscriptions import ISubscriptionManager, TokenOwner from zope.component import getAdapter from zope.interface import implementer @@ -52,7 +51,7 @@ class Confirm: results.confirms = tokens try: new_token, token_owner, member = getAdapter( - mlist, IWorkflowManager, name='subscribe').confirm(token) + mlist, ISubscriptionManager, name='subscribe').confirm(token) if new_token is None: assert token_owner is TokenOwner.no_one, token_owner assert member is not None, member diff --git a/src/mailman/commands/eml_membership.py b/src/mailman/commands/eml_membership.py index fad1cbe50..4e2e78f5d 100644 --- a/src/mailman/commands/eml_membership.py +++ b/src/mailman/commands/eml_membership.py @@ -22,8 +22,8 @@ from mailman import public from mailman.core.i18n import _ from mailman.interfaces.command import ContinueProcessing, IEmailCommand from mailman.interfaces.member import DeliveryMode, MemberRole -from mailman.interfaces.workflowmanager import IWorkflowManager -from mailman.interfaces.subscriptions import ISubscriptionService +from mailman.interfaces.subscriptions import ( + ISubscriptionManager, ISubscriptionService) from mailman.interfaces.usermanager import IUserManager from zope.component import getAdapter, getUtility from zope.interface import implementer @@ -31,7 +31,7 @@ from zope.interface import implementer def match_subscriber(email, display_name): # Return something matching the email which should be used as the - # subscriber by the IWorkflowManager interface. + # subscriber by the ISubscriptionManager interface. manager = getUtility(IUserManager) # Is there a user with a preferred address matching the email? user = manager.get_user(email) @@ -102,7 +102,7 @@ used. return ContinueProcessing.yes subscriber = match_subscriber(email, display_name) getAdapter( - mlist, IWorkflowManager, name='subscribe').register(subscriber) + mlist, ISubscriptionManager, name='subscribe').register(subscriber) print(_('Confirmation email sent to $person'), file=results) return ContinueProcessing.yes @@ -187,8 +187,8 @@ You may be asked to confirm your request.""") '$self.name: $email is not a member of $mlist.fqdn_listname'), file=results) return ContinueProcessing.no - getAdapter( - mlist, IWorkflowManager, name='unsubscribe').register(user_address) + getAdapter(mlist, ISubscriptionManager, name='unsubscribe').register( + user_address) # member.unsubscribe() person = formataddr((user.display_name, email)) # noqa print(_('Confirmation email sent to $person to leave' diff --git a/src/mailman/commands/tests/test_confirm.py b/src/mailman/commands/tests/test_confirm.py index 797edcad5..7351bd6b7 100644 --- a/src/mailman/commands/tests/test_confirm.py +++ b/src/mailman/commands/tests/test_confirm.py @@ -25,7 +25,7 @@ from mailman.config import config from mailman.email.message import Message from mailman.interfaces.command import ContinueProcessing from mailman.interfaces.mailinglist import SubscriptionPolicy -from mailman.interfaces.workflowmanager import IWorkflowManager +from mailman.interfaces.subscriptions import ISubscriptionManager from mailman.interfaces.usermanager import IUserManager from mailman.runners.command import CommandRunner, Results from mailman.testing.helpers import get_queue_messages, make_testable_runner @@ -43,7 +43,7 @@ class TestConfirm(unittest.TestCase): anne = getUtility(IUserManager).create_address( 'anne@example.com', 'Anne Person') self._token, token_owner, member = getAdapter( - self._mlist, IWorkflowManager, name='subscribe').register(anne) + self._mlist, ISubscriptionManager, name='subscribe').register(anne) self._command = Confirm() # Clear the virgin queue. get_queue_messages('virgin') @@ -89,7 +89,7 @@ class TestEmailResponses(unittest.TestCase): # Clear any previously queued confirmation messages. get_queue_messages('virgin') self._token, token_owner, member = getAdapter( - self._mlist, IWorkflowManager, name='subscribe').register(bart) + self._mlist, ISubscriptionManager, name='subscribe').register(bart) # There should now be one email message in the virgin queue, i.e. the # confirmation message sent to Bart. items = get_queue_messages('virgin', expected_count=1) diff --git a/src/mailman/config/configure.zcml b/src/mailman/config/configure.zcml index 98cfa1232..f2725c5c7 100644 --- a/src/mailman/config/configure.zcml +++ b/src/mailman/config/configure.zcml @@ -49,14 +49,14 @@ <adapter for="mailman.interfaces.mailinglist.IMailingList" provides="mailman.interfaces.subscriptions.ISubscriptionManager" - factory="mailman.app.workflowmanager.SubscriptionWorkflowManager" + factory="mailman.app.subscriptions.SubscriptionWorkflow" name='subscribe' /> <adapter for="mailman.interfaces.mailinglist.IMailingList" provides="mailman.interfaces.subscriptions.ISubscriptionManager" - factory="mailman.app.workflowmanager.UnsubscriptionWorkflowManager" + factory="mailman.app.subscriptions.UnsubscriptionWorkflow" name='unsubscribe' /> diff --git a/src/mailman/model/tests/test_workflow.py b/src/mailman/model/tests/test_workflow.py index 2b6a593a9..ee14f17a7 100644 --- a/src/mailman/model/tests/test_workflow.py +++ b/src/mailman/model/tests/test_workflow.py @@ -125,7 +125,7 @@ class TestWorkflow(unittest.TestCase): def test_discard(self): # Discard some workflow state. This is use by - # IWorkflowManager.discard(). + # ISubscriptionManager.discard(). self._manager.save('ant', 'token', 'one') self._manager.save('bee', 'token', 'two') self._manager.save('ant', 'nekot', 'three') diff --git a/src/mailman/rest/members.py b/src/mailman/rest/members.py index ed2246366..fd9f141cc 100644 --- a/src/mailman/rest/members.py +++ b/src/mailman/rest/members.py @@ -25,9 +25,9 @@ from mailman.interfaces.listmanager import IListManager from mailman.interfaces.member import ( AlreadySubscribedError, DeliveryMode, MemberRole, MembershipError, MembershipIsBannedError, MissingPreferredAddressError) -from mailman.interfaces.workflowmanager import IWorkflowManager from mailman.interfaces.subscriptions import ( - ISubscriptionService, RequestRecord, SubscriptionPendingError, TokenOwner) + ISubscriptionManager, ISubscriptionService, RequestRecord, + SubscriptionPendingError, TokenOwner) from mailman.interfaces.user import IUser, UnverifiedAddressError from mailman.interfaces.usermanager import IUserManager from mailman.rest.helpers import ( @@ -253,7 +253,8 @@ class AllMembers(_MemberBase): # Now we can run the registration process until either the # subscriber is subscribed, or the workflow is paused for # verification, confirmation, or approval. - registrar = getAdapter(mlist, IWorkflowManager, name='subscribe') + registrar = getAdapter( + mlist, ISubscriptionManager, name='subscribe') try: token, token_owner, member = registrar.register( subscriber, diff --git a/src/mailman/rest/sub_moderation.py b/src/mailman/rest/sub_moderation.py index f37e62ac5..273d4c3a0 100644 --- a/src/mailman/rest/sub_moderation.py +++ b/src/mailman/rest/sub_moderation.py @@ -23,7 +23,7 @@ from mailman.core.i18n import _ from mailman.interfaces.action import Action from mailman.interfaces.member import AlreadySubscribedError from mailman.interfaces.pending import IPendings -from mailman.interfaces.workflowmanager import IWorkflowManager +from mailman.interfaces.subscriptions import ISubscriptionManager from mailman.rest.helpers import ( CollectionMixin, bad_request, child, conflict, etag, no_content, not_found, okay) @@ -55,7 +55,7 @@ class IndividualRequest(_ModerationBase): super().__init__() self._mlist = mlist self._registrar = getAdapter( - self._mlist, IWorkflowManager, name='subscribe') + self._mlist, ISubscriptionManager, name='subscribe') self._token = token def on_get(self, request, response): diff --git a/src/mailman/rest/tests/test_membership.py b/src/mailman/rest/tests/test_membership.py index 2726a480f..9e5a486f3 100644 --- a/src/mailman/rest/tests/test_membership.py +++ b/src/mailman/rest/tests/test_membership.py @@ -25,8 +25,7 @@ from mailman.database.transaction import transaction from mailman.interfaces.bans import IBanManager from mailman.interfaces.mailinglist import SubscriptionPolicy from mailman.interfaces.member import DeliveryMode, MemberRole -from mailman.interfaces.workflowmanager import IWorkflowManager -from mailman.interfaces.subscriptions import TokenOwner +from mailman.interfaces.subscriptions import ISubscriptionManager, TokenOwner from mailman.interfaces.usermanager import IUserManager from mailman.runners.incoming import IncomingRunner from mailman.testing.helpers import ( @@ -215,7 +214,8 @@ class TestMembership(unittest.TestCase): def test_duplicate_pending_subscription(self): # Issue #199 - a member's subscription is already pending and they try # to subscribe again. - registrar = getAdapter(self._mlist, IWorkflowManager, name='subscribe') + registrar = getAdapter( + self._mlist, ISubscriptionManager, name='subscribe') with transaction(): self._mlist.subscription_policy = SubscriptionPolicy.moderate anne = self._usermanager.create_address('anne@example.com') @@ -238,7 +238,8 @@ class TestMembership(unittest.TestCase): # Issue #199 - a member's subscription is already pending and they try # to subscribe again. Unlike above, this pend is waiting for the user # to confirm their subscription. - registrar = getAdapter(self._mlist, IWorkflowManager, name='subscribe') + registrar = getAdapter( + self._mlist, ISubscriptionManager, name='subscribe') with transaction(): self._mlist.subscription_policy = ( SubscriptionPolicy.confirm_then_moderate) diff --git a/src/mailman/rest/tests/test_moderation.py b/src/mailman/rest/tests/test_moderation.py index 1adc1aa83..374398502 100644 --- a/src/mailman/rest/tests/test_moderation.py +++ b/src/mailman/rest/tests/test_moderation.py @@ -24,7 +24,7 @@ from mailman.app.moderator import hold_message from mailman.database.transaction import transaction from mailman.interfaces.bans import IBanManager from mailman.interfaces.mailinglist import SubscriptionPolicy -from mailman.interfaces.workflowmanager import IWorkflowManager +from mailman.interfaces.subscriptions import ISubscriptionManager from mailman.interfaces.requests import IListRequests, RequestType from mailman.interfaces.usermanager import IUserManager from mailman.testing.helpers import ( @@ -151,7 +151,7 @@ class TestSubscriptionModeration(unittest.TestCase): with transaction(): self._mlist = create_list('ant@example.com') self._registrar = getAdapter( - self._mlist, IWorkflowManager, name='subscribe') + self._mlist, ISubscriptionManager, name='subscribe') manager = getUtility(IUserManager) self._anne = manager.create_address( 'anne@example.com', 'Anne Person') diff --git a/src/mailman/runners/tests/test_confirm.py b/src/mailman/runners/tests/test_confirm.py index d6bc4c34d..bb18914d0 100644 --- a/src/mailman/runners/tests/test_confirm.py +++ b/src/mailman/runners/tests/test_confirm.py @@ -24,7 +24,7 @@ from email.iterators import body_line_iterator from mailman.app.lifecycle import create_list from mailman.config import config from mailman.database.transaction import transaction -from mailman.interfaces.workflowmanager import IWorkflowManager +from mailman.interfaces.subscriptions import ISubscriptionManager from mailman.interfaces.usermanager import IUserManager from mailman.runners.command import CommandRunner from mailman.testing.helpers import ( @@ -48,7 +48,7 @@ class TestConfirm(unittest.TestCase): self._mlist.send_welcome_message = False anne = getUtility(IUserManager).create_address('anne@example.org') registrar = getAdapter( - self._mlist, IWorkflowManager, name='subscribe') + self._mlist, ISubscriptionManager, name='subscribe') self._token, token_owner, member = registrar.register(anne) def test_confirm_with_re_prefix(self): diff --git a/src/mailman/runners/tests/test_join.py b/src/mailman/runners/tests/test_join.py index b565ca048..1fb1dfe5c 100644 --- a/src/mailman/runners/tests/test_join.py +++ b/src/mailman/runners/tests/test_join.py @@ -23,8 +23,8 @@ from email.iterators import body_line_iterator from mailman.app.lifecycle import create_list from mailman.config import config from mailman.interfaces.member import DeliveryMode -from mailman.interfaces.workflowmanager import IWorkflowManager -from mailman.interfaces.subscriptions import ISubscriptionService, TokenOwner +from mailman.interfaces.subscriptions import ( + ISubscriptionManager, ISubscriptionService, TokenOwner) from mailman.interfaces.usermanager import IUserManager from mailman.runners.command import CommandRunner from mailman.testing.helpers import ( @@ -146,7 +146,7 @@ class TestJoinWithDigests(unittest.TestCase): self.assertEqual(subject_words[0], 'confirm') token = subject_words[1] token, token_owner, rmember = getAdapter( - self._mlist, IWorkflowManager, name='subscribe').confirm(token) + self._mlist, ISubscriptionManager, name='subscribe').confirm(token) self.assertIsNone(token) self.assertEqual(token_owner, TokenOwner.no_one) # Now, make sure that Anne is a member of the list and is receiving |
